公钥体制的分类 基于证书的公钥体制 基于身份的公钥体制 无证书的公钥体制 基于证书的公钥体制
第一种方案是利用证书机制实现用户身份与用户密钥的安全对应。证书机制一般采用公钥基础设施(Key:PKI)技术,它结合数字摘要技术、数字签名等密码技术以及完善的证书管理机制来提供安全服务。系统构建可信的认证中心(CA)来识别用户身份然后给用户颁发数字证书,数字证书把用户身份和用户密钥安全地绑定在一起。用户在业务系统中先进行证书交换,然后利用公钥和私钥完成用户身份认证、访问控制、信息安全传输等操作。但在加密操作时,数据发送方需要事先获取接收方的证书,然后获取加密公钥,相关过程相对复杂。因此当前证书体系被广泛用于提供数字签名服务,实现身份认证、数据一致性保护等。为了进一步降低证书管理的复杂度,目前出现了一些轻量级的证书管理协议,例如简单证书注册协议SCEP,以降低证书注册等流程的复杂性。
基于身份的公钥系统
第二种方案是基于身份的密码体制(IBC-Based)。为了降低公钥体制中密钥管理和使用的复杂性,基于身份的密码机制于1984年被提出。在这种体制中,用户的身份可以作为用户的公钥(更确切地说,用户的公钥可以通过用户的身份和身份密码算法规定的方法来计算得到)。在这种情况下,用户不需要申请和交换证书,而是直接使用身份(身份信息)进行密码运算,从而解决了公钥真实性问题,大大简化了密钥体制管理的复杂性。在这种类型的体制中,用户的私钥由体制内可信的第三方(密钥生成中心:KGC)利用身份私钥生成算法计算生成。这样的体制具有天然的密码委托功能,特别适用于需要数据恢复的应用环境。此外,这种基于身份的密码体制相较于传统的PKI具有很大的灵活性、可扩展性和简易性。由于系统加密过程直接以应用涉及的身份作为公钥,无需分发、查询证书、申请策略证书,充分体现了加密操作的便捷性。只要应用系统涉及的身份具有唯一性,就可以直接作为密码应用的公钥。这些标识符可以具有任意格式和属性,可以是常见的用户标识符,如邮箱地址、手机号、身份证号等,在物联网中可以是设备标识符、代码、OID等,也可以是数据安全控制策略的形式化编码、生物特征信息,甚至是标识符属性集等,特别适用于基于标识符和属性的权限访问控制和数据安全保护。在密码操作中,这类标识符可以直接作为公钥操作,而不需要申请证书,也不需要额外的实体标识符与公钥之间的映射管理,充分体现了标识符密钥的灵活性。
基于身份的公钥加密存在密钥托管问题
密钥托管:一种安排,将解密加密数据所需的密钥托管起来,以便授权第三方在特定情况下访问它们。这些第三方可能包括企业,他们可能需要访问员工的安全业务相关通信,或政府,他们可能希望能够查看加密通信的内容(也称为特殊访问)
无证书公钥系统
第三种方案是无证书密码体制(Key,CL-PKC)。该体制的代表有1991年提出的“隐式证书”密码体制()和2001年Al-He提出的无证书公钥密码体制(AP-CL-PKC)。该密码体制介于传统PKI和身份密码体制之间。在该机制中,用户的私钥由两个秘密因素决定:一个是从密钥生成中心提取的与用户身份相关的密钥,另一个是用户自己生成的密钥。一个秘密因素无法从另一个秘密因素推算出来,即密钥生成中心无法推算出用户的部分密钥,用户也无法推算出密钥生成中心生成的部分密钥。因此,无证书密码体制不具备密钥托管的功能。无证书密码体制确保即使攻击者成功地用自己的公钥替换受害者的公钥,攻击者仍然无法伪造受害者的签名或解密加密发给受害者的密文消息。这无疑会降低恶意攻击者的兴趣。这种密码机制在加密过程中仍然需要提前获取接收者的公钥(其实就是公钥还原数据),然后利用接收者的身份和系统参数计算出接收者的完整公钥。因此,这类密码体制在加密应用中面临着与传统PKI类似的挑战,即需要提前获取接收者的公钥还原数据。对于签名过程,签名者可以将其公钥还原数据作为签名的一部分传递。验证者从签名结果中提取签名者的公钥还原数据,然后利用签名者的身份和系统参数计算出签名者的完整公钥,以验证签名的正确性。因此,这类体制在签名应用中具有免证书管理、系统轻量、通信开销小、不可否认性强等诸多优势,非常适合物联网等领域的身份认证应用。