Identity-Based Cryptography

公钥基础设施(PKI)和基于身份的密码技术(IBC)是当前两种主要的公钥密码技术。在IBC中,用一个广为人知的字串作为公钥,一般是代表企业或个人,包含邮件地址、域名或IP地址。

1. IBC发展历史

1.1. 1984年以色列科学家Shamir提出了基于标识的密码系统的概念(IBC)

在1984年以色列科学家Shamir提出了基于标识的密码系统的概念(IBC)。在基于标识的系统中,每个实体具有一个标识。该标识可以是任何有意义的字符串。但和传统公钥系统最大的不同是,在基于标识的系统中,实体的标识本身就是实体的公开密钥。由于标识本身就是实体的公钥,这类系统就不再依赖证书和证书管理系统如PKI,从而极大地简化了管理密码系统的复杂性。在提出IBC概念的同时,Shamir提出了一个采用RSA算法的基于标识的签名算法(IBS)。但是基于标识的加密算法(IBE)长时期未能找到有效解决方法。

1.2. 2000年日本密码学家使用椭圆曲线上的pairing设计基于标识的密码系统的思路

在2000年,三位日本密码学家R.Sakai,K.Ohgishi和M.Kasahara提出了使用椭圆曲线上的pairing设计基于标识的密码系统的思路。在该论文中他们提出了一种无交互的基于标识的密钥生成协议.在该系统中,他们设计了一种可用于基于标识的密码系统中的系统初始化方法和密码生成算法。

1.3. 2001年提出了三个基于标识的加密算法且被证明有较好的效率

在2001年,D.Boneh和M.Franklin,R.Sakai,K.Ohgishi和M.Kasahara以及C.Cocks分别提出了三个基于标识的加密算法。前两个都是采用椭圆曲线上pairing的算法。第三种算法利用平方剩余难问题。前两种算法都采用了与中相同的思路初试化系统并生成用户的私钥。由于D.Boneh和M.Franklin提出的IBC(BF-IBC)的安全性可以证明并且有较好的效率,所以引起了极大的反响。

基于标识的密码技术在过去几年中得到快速发展。研究人员设计了大量的新密码系统。随着应用的逐渐广泛,相应算法的标准化工作也在逐步展开。IEEEP1363.3的基于标识的密码技术工作组正在进行相关算法的标准化工作。ISO/IEC已经标准化了两个基于标识的签名算法。

1.4. 2007年中国国家标识密码体系IBC标准规范通过评审

2007年,国家密码局组织了国家标识密码体系IBC标准规范(Identity-Based Cryptograph)的编写和评审工作。由五位院士和来自党政军、科研院所的密码专家组成了评审组,对该标准规范在安全性、可靠性、实用性和创新性等方面进行了多次严格审查,2007年12月16日国家IBC标准正式通过了评审。专家们一致认定,该标准拥有独立知识产权,属于国内首创,达到了国际领先水平。

目前,IBC安全性模型已经获得国际密码学界的证明。IBC作为PKI密码体系的发展和补充,尤其是IBC与PKI体系的融合,既保证了强签名的安全特性,又满足了各种应用更灵活的安全需求。

2. 使用方式

Identity-based systems allow any party to generate a public key from a known identity value such as an ASCII string. A trusted third party, called the private key generator (PKG), generates the corresponding private keys.

To operate, the PKG first publishes a master public key, and retains the corresponding master private key (referred to as master key). Given the master public key, any party can compute a public key corresponding to the identity ID by combining the master public key with the identity value.

To obtain a corresponding private key, the party authorized to use the identity ID contacts the PKG, which uses the master private key to generate the private key for identity ID.

2.1. 举例:Alice与Bob通信

ID_Based_Encryption.png

  1. Alice首先获得PKG的公钥,然后通过认证获得自己(alice@example.com)的私钥;

  2. Alice通过公钥算出bob(bob@example.com)的公钥。用自己的私钥进行签名,把签名放入消息中,然后可以用公钥给信息加密;

  3. Bob也需要获得PKG的公钥,然后通过认证获得自己(bob@example.com)的私钥;

  4. Bob接到Alice发过来的消息,用自己的私钥对消息进行解密,然后用Alice(alice@example.com)的公钥验证签名

3. Reference


CategoryCryptography

MainWiki: Identity_Based_Cryptography (last edited 2013-08-18 23:23:29 by twotwo)