关于标识密码的一点认知

之前整理过几篇关于数字证书的笔记。数字证书技术的是 PKI(Public Key Infrastructure)的重要组成部分,基于数字证书技术的身份认证方式,在在金融、通信、互联网、数据中心等领域发挥着关键作用。但发展多年的 PKI 体系也并非完美,关于数字证书生命周期的管理是其中一个关键问题,而当下受到越来越多关注的技术体系 - 基于标识的密码体系(IBC) ,正在尝试用一种新的方式解决传统 PKI 所面临的难题。趁热打铁写了一篇学习笔记,保持学习,青春永驻。

一、标识密码体系是什么

大家都清楚,在传统 PKI 体系下,一个实体具有一对密钥:一个是公开的公钥;一个是自己保管的私钥。在这样的系统中,信息发送方需要正确获取接收方的公钥,否则就可能出现恶意攻击方可通过提供虚假接收方公钥,即中间人攻击的方式获取信息

为了证明接收方公钥的可信,传统 KPI 体系就需要一个 受信任的第三方来绑定实体与其拥有的密码对。这个受信第三方即认证中心(CA:Certificate Authority),在对实体进行身份核实后,就为其生成一个公私钥对,并为该实体颁发一个证书,证书中包含实体的标识、公钥以及认证中心的数字签名。信息发送方在发送信息前需要获取接收方的证书。在验证证书的有效性后,发送方使用证书中的公钥加密。这就是基于数字证书的 PKI 系统。

基于数字证书的 PKI 系统有几个问题:

  • 发送方在发送信息前必须先获取接收方的证书
  • 发送方在收到一个证书后,都需要验证证书的有效性
  • 认证中心需要花费大量成本管理和维护证书,非常复杂,难以部署

为了解决传统 PKI 的一些问题,以色列密码学家 Shamir 于1984年提出基于标识的密码体系,即 IBC(Identity-Based Cryptograph)。其最主要观点是 不需要由 CA 中心生成公私钥对,不需要使用证书传递公钥,而是使用用户标识如姓名、IP地址、电子邮箱地址、手机号码等代表用户的标识信息作为公钥,私钥则由密钥中心(Key Generate Center, 简称KGC)根据系统主密钥和用户标识计算得出

自 Shamir 1984年提出 IBC 思想的十几年,一直停留在概念阶段,直到2000年,D.Boneh 和 M.Franklin, 以及 R.Sakai、K.Ohgishi 和 M.Kasahara 两个团队均提出基于椭圆曲线数学难题的配对构造算法,解决了安全性和实现效率最优化的问题,标识密码终于引发了标识密码的新发展。2008年,我国将 IBC 正式纳入中国国家算法标准,并获得国家商用密码管理局颁发的算法型号 SM9

二、标识密码体系的原理是什么

IBC 体系标准主要包括 IBE加解密算法组IBS签名算法组IBKA身份认证协议 三个个组成部分。理解的时候,对照传统 KPI 体系标准,其实很容易理解。

1.IBE 加解密算法机制

加解密算法由四部分组成:

  • 系统参数生成算法(Setup)
  • 密钥生成算法(Extract)
  • 加密算法(Encrypt)
  • 解密算法(Decrypt)

核心步骤描述如下:

  • Setup:基于一个安全参数k,输出 系统参数(params)主密钥(MasterKey)。其中,系统参数(params) 是公开的,而 主密钥(MasterKey) 只有密钥生成中心(KGC)才知道,并严加保管
  • Extract:利用系统参数(params)、主密钥(MasterKey)和 ID(就是上面提到的姓名、电子邮件、电话、IP地址等)返回 私钥(PrivateKey) ,而 ID 就是 公钥(PublicKey),PrivateKeyID 则作为 解密私钥
  • Encrypt:利用 系统参数(params)公钥(PublicKey) 对明文M进行加密,得出密文C,即 C=Encrypt(params, M, ID)
  • Decrypt:利用 系统参数(params)私钥(PrivateKey) 对密文C进行解密,得出明文M,即 M=Decrpyt(params, C, PrivateKeyID)
2. IBS 数字签名机制

数字签名算法也由四个部分组成:

  • 系统参数生成算法(Setup)
  • 密钥生成算法(Extract)
  • 签名算法(Significant)
  • 验证算法(Verify)

核心步骤描述如下:

  • Setup:同 IBE 加密算法 Setup
  • Extract:同 IBE 加密算法 Extract
  • Significant:输入 待签的报文M系统公开参数(params)用户私钥(PrivateKey),生成数字签名S,本质上就是 IBE 加密算法 Decrypt
  • Verify:输入 数字签名S系统公开参数(params)用户公钥(PublicKey),输出验证结果,本质上就是 IBE 加密算法 Encrypt

这个过程是不是看起来和传统 PKI 体系的数字签名是一样的思路?

3. IBKA 身份认证机制

同传统 PKI 体系,身份认证利用的是数字签名与验证原理,协议核心原理如下(以A认证B为例):

  • Step1:A生成一个 随机数R一个时间戳T, 发送给B
  • Step2:B通过算法将 随机数R时间T 生成 待签报文M ,并使用私钥(PrivateKey)生成 数字签名S 后发送给A
  • Step3:A使用 B的公钥(PublicKey),即B的身份标识,对数字签名S进行验证,如果验证通过,则证明B身份可信,完成了对B的身份认证。

这个过程是不是看起来和传统 PKI 体系的身份认证是一样的思路?

三、IBC和PKI的对比

传统 PKI 体系与 IBC 体系都是以公钥密码技术为基础,保证数据的真实性、机密性、完整性和不可抵赖性。IBC体系将代表用户唯一性的身份标识作为用户公钥,确实获得了一些天然优势,使得IBC体系比PKI庞大的证书管理和发布系统更易于应用。

特别要强调,在针对数字证书这个环节上,IBC 确实有优势,但绝不能以偏概全,认为 IBC 就是全面取代传统 PKI 的方案,密码体系可不仅仅指数字证书。

PKI体系IBC体系
公钥是随机数公钥可以是邮箱地址
通过证书将用户的公钥与身份关联起来公钥即用户的身份标识
信息发送方必须获得接收方的公钥证书信息发送方只需要获知接收方的身份标识(如姓名、IP地址、电子邮箱地址、手机号码等)
证书颁发和管理系统复杂难以部署无需颁发和管理证书
每次发送信息之前,都需要与管理中心通讯交互,验证证书的有效性可以本地离线加解密
难于实现基于属性、策略的加密可增加时间或固定IP等方式解密信息的安全策略控制
存放的收信方证书随发送邮件数量的增大而增多,在线通讯交互越繁忙,管理负担和管理成本会同比例放大发送邮件数量级越大,管理负担和管理成本的增加并不明显
实现成本高、效率低下实现成本低、效率较高
系统运行维护成本高运营管理方便,成本低

一张被到处引用的 PKI 与 IBC 的流程对比图,比较清晰的展示了二者的不同。

PKI 体系原理图:

PKI体系

IBC 体系原理图:

IBC体系

再次强调,IBC 是对 PKI 的有益补充,但不能简单认为 IBC 是全面取代传统 PKI 的技术体系!

四、IBC的应用与未来

标识密码体系没有证书管理的负担,简化了实施应用,能够快速实现安全通信,尤其适用于安全电子邮件系统、移动通信的客户以及需要向未注册人群发送信息的用户。

国际电信联盟(ITU)已采用 IBC 技术作为下一代移动电话的认证技术手段。美国食品药品管理局(FDA)在各大医疗机构中也在推广 IBC 应用。在电子商务领域,IBC 在美国已经成为 POS 终端和清算中心间保护信用卡信息的主流技术之一。在欧洲,意法半导体的研究人员己经与智能卡厂商 Incard 合作,联合开发实现在智能卡上部署标识密码。而国内,华为、中兴、上海贝尔等公司也在 NGN 中采用了 IBC 技术。

随着囯家密码管理局对 SM9 算法的规范和推广,用户将会越来越熟悉标识密码。标识密码技术有可能会广泛地应用于安全电子邮件、加密短信、加密通话、电子证照管理、电子病历、手机电子钱包、电子图书馆、身份证与社保、医保等的多卡合一后的管理使用等诸多领域。IBC 应用前景可期。


持续学习,青春永驻!

周海媚

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值