首先了解下BSI,
联邦信息安全办公室(Bundesamt für Sicherheit in der Informationstechnik,缩写为BSI)是德国上层联邦机构负责管理计算机和通信的安全性德国政府。 它的领域的专业知识和责任包括计算机应用的安全,关键基础设施保护,网络安全,密码学,反窃听,认证安全产品和安全测试实验室的认证。网址:https://www.bsi.bund.de/EN/TheBSI/thebsi_node.html
BSI TR-03110 的全称是 Technical Guideline Advanced Security Mechanisms for Machine Readable Travel Documents and eIDAS Token,具体可以查看网址:https://www.bsi.bund.de/EN/Publications/TechnicalGuidelines/TR03110/BSITR03110.html
另外由于BSI中大量引用了ICAO9303的规范,所以我也列出,网址是:
http://www.icao.int/Security/mrtd/Pages/default.aspx
BSI TR-03110 该规范主要讲述了电子护照类别的强安全认证协议指引和规范,主要包含PACE,TA,CA这三种协议;
Password Authenticated Connection Establishment (PACE):
Establish a secure channel with a strong key between two parties that only share a weak secret.
通过弱密码的方式生产一个强会话的协议;
Terminal Authentication (TA):
Verify/prove the terminal’s certificate (or rather certificate chain) and secret key.
终端认证;
Chip Authentication (CA):
Establish a secure channel based on the chip’s static key pair proving its authenticy.
芯片认证;
在开发过程中国内的相关资料比较少,国外有相关的开源资料,对我有一定的启发,链接网址为:https://frankmorgner.github.io/openpace/
开发过程中我主要负责算法的实现和移植,所以后期主要的以PACE,TA,CA具体的算法实现为主,主要包含以下几种功能的算法:
• 用对称密钥K加密明文S:E(K,S);
• 用对称密钥K解密密文C:D(K,C);
• 用H(m)表示计算消息m的散列值的运算。
• 用对称密钥K计算消息M的消息认证码:MAC(K,M);
• 基于非对称密钥对(SK,PK)和(SK’, PK’)以及域参数D的密钥协商:KA(SK,PK’,D)/KA(SK’,PK,D);
• 从共享秘密S派生密钥:KDF(S)。
另外还有一些密码学的大数计算和点运算,这里先带过,以后用到了再详述。
转载请注明原文地址: https://ju.6miu.com/read-33310.html