论文部分内容阅读
密码学(cryptography)一词源自希腊语,意思为“隐藏”及“消息”。它的诞生,最早是因为战争中需要传递军事信息而不想被敌人发觉。早在距今两千多年前的罗马战场上,恺撒就用移动字母位置(如本来是A的位置移动到c的位置)的方式来传递军事情报,所以这种加密方法被称为恺撒密码。随着时代的发展,普通人和密码学的关系不再只是从战争片或特工片里观赏,而是逐渐和我们的工作、生活息息相关。尤其是在现实的商业领域中,它作为保护商业机密的利器,越来越被企业所重视。
密码学的历史
为了防止信息在传递过程中被盗用或篡改,数千年来人们用了很多方法。从恺撒密码到藏头诗,从隐性墨水到火漆封印,这些传统的方法不断被发现和破解。真正使得密码成为一个学科的,是克劳德·香农(Claude Elwood Shannon,191612001)在1949年发表篇非常著名的论文“CommunicationTheory of Secret System”,建立对称密码系统理论基础,“密码学”才成为科学,成为可以用数学公式来证明的安全模型。到了1977年,三个在美国麻省理工学院的数学家Rivest,Shamir,Adleman提出RSA算法,代表着密码学迎来新纪元。从这个时候起,各厂商开始在民用方面进行密码研究,开始充分发挥它的商用价值和社会价值。这种转变也促使了密码学的空前高速发展。到现在,我们其实每一天都涉及到密码学。如使用浏览器时出现的https网页、使用无线路由器时选择的加密方式以及网上银行的各种应用,都和密码学密不可分。
RSA算法有一个重要的理论就是要通讯的双方均使用两把钥匙。一把可以公开(公钥),一把只有自己知道(私钥)。用其中一把用来加密,那另外一把就用来解密。由于公钥是一串无实际意义的数字,这就引来一个问题,谁能证明这把公钥是谁的?于是诞生了PKI密码体系。今天要谈到的IBC密码技术,就是PKI体系的最新发展成果。
IBC体系诞生的原因
PKI体系其实是目前我们生活中接触到最多的一个密码体系了。很多用过网银的用户都有这样的经历:到银行的窗口,提交了自己的身份证信息,签署若干文件之后,银行发一个USBkey,然后就可以用来做网银交易了。这个USBkey,就是最重要的一个身份,因为里面存放了储户的私钥和证书。所谓证书,就是经过一个受信任的第三方确认过的公钥。用KEY在网上的操作,就代表了储户个人的签字。
这个过程涉及三个角色:储户、银行、发证书的机构(即受信任的第三方认证中心,Certificate Authority简称CA)。这个过程中,储户和银行之间的密码操作,如果发生什么纠纷,就可以通第三方的机构来证明。只是在国内,申请第三方的证书往往要收费,所以银行和发证书机构往往合二为一,这也是为什么各大银行的KEY不能互用的重要原因一。
银行和储户在进行信息交流和金融操作的时候,假设储户要确认某个操作,这些信息就会用KEY里面的私钥进行加密和签名,同时把证书起提交到银行确认。银行会先验证证书是不是真的,再用来验鉴和解密数据看是否成功,就可以证明这个操作确实是这个储户确认的,反之亦然,储户也可以用这样的方法确认银行的操作。
很复杂吧?每一次信息发送方(无论是用户发出的信息还是银行发出的信息)在发送信息前都需要获取接收方的证书。而且还会去验证证书是不是真的?从安全的角度来看,这个流程并没有问题。但问题是,在即将到来的物联网时代、移动互联网时代,用户的大量增加,这个流程需要CA中心拥有极其庞大的运算、存储与通信能力,因为全国可能进行的交互式身份验证的量级会是非常庞大的,由此带来的申请、管理、查询、交互等操作,要求CA的建设和投入必须极其巨大。这样的情况下,IBC就诞生了。
什么是IBC技术
IBC,Identity-Based Cryptograph的缩写,就是基于标识的密码体系。IBC是在传统的PKI(公开密钥基础设施)基础上发展而来,除了保有PKI的技术优点外,主要解决了在具体安全应用中,PKI需要大量交换数字证书的问题,使安全应用更加易于部署和使用。
IBC技术发展历程
其实早在1984年,以色列科学家shamlr(就是RSA中的那个s)就看到了公开密钥体系比较繁琐的这个问题,最早提出了基于标识的密码系统的概念(1BC)。在基于标识的密码系统中,每个实体具有个标识,比如Email地址或者是身份证号码。用这个标识对应个公钥,就无需去时刻查询和验证对方的身份了。这样极大地简化了管理密码系统的复杂性。在提出IBC概念的同时,Shamir提出了个采用RSA算法的基于标识的签名算法(IBC)。但是长时期以来,基于标识的加密算法(JBE)未能找到有效解决方法。
直到2001年,D.Boneh和M.Franklin提出的IBC(BF-JBC)的安全性可以证明,并且有较好的效率,所以让IBC技术开始引起业界的极大反响。随后,基于标识的密码技术在过去几年中得到快速发展。研究人员设计了大量的新密码系统。随着应用的逐渐广泛,相应算法的标准化工作也在逐步展开。IEEEP1363.3的基于标识的密码技术工作组正在进行相关算法的标准化工作,而ISO/IEC已经标准化了两个基于标识的签名算法。
由于IBC的这些特点,美国在金融支付和电子邮件加密、文档加密方面大量已经使用了IBC的相关技术;在国内,中国国家密码管理局2007年组织了国家标识密码体系IBC标准规范的编写和评审工作,形成了中国的自有IBC算法。由多位院士和来自党政军、科研院所的密码专家组成了专家组,对该标准规范在安全性、可靠性、实用性和创新性等方面进行了多次严格审查。2007年12月16日,国家IBC算法标准正式通过了评审。专家们
致认定,该标准拥有独立知识产权,属于国内首创,达到了国际领先水平,并已逐步开始应用在智能密钥、加密邮件、网络安全设备等产品中。
IBC技术的特色
那么,相对于PKI来说,IBC的优势在哪里呢?首先,IBC大大降低了管理成本。如果用PKI系统,拥有10000个用户的家组织要创建及维护用户的10000个证书。在所有密码操作中,每个用户都可能和证书服务器进行申请、吊销、查询、验证等等工作,同时服务器还要存储这些证书,当持有证书的用户吊销后,甚至可能还需要保留他原来的证书一段时间。这些都给管理中心带来设备、人力即配套的各种投入;而IBC允许用户选择具有唯性的身份标识(如Email地址,身份证或网络帐号)来作为公钥,并通过可信的中央服务器统一发放私钥,所以即使管理上亿用户,也仅仅是保存份服务器的私钥即可,所以管理成本大大降低。
其次,IBC还具备基于属性的加密的技术特色。企业使用IBC进行安全数据通信时,应用范围可以更加广泛,包括终端到终端,终端到应用,应用到应用的情况。在实际的IBC系统中,公钥可以不仅仅是用户的身份标识,还可以加入用户身份的策略信息来做公钥。下面的例子可以让大家更加清楚地了解这点:
例如,Alice想发送信息给Bob,但要求只有Bob完成工作项目A之后,才可以解密阅读消息。于是,Alice把她的要求和bob的标识作为公钥加密发送给当Bob。Bob解密时候需要按照Alice制定的策略才能申请获得解密的钥匙。
再举个有趣的例子。假设征婚网站也用IBC体系构建,某人发出征婚广告的时候,他可以按照诸如“25岁、重庆、女”的标识进行加密,于是只有满足这些条件人才能解密。由此可见,密码学其实也不是一个完全神秘的学科。
第三,IBC的还有个最大优势就是可以做离线的加解密操作。
由于标识即公钥,那么需要和对方通讯的时候,知道对方的标识就可以了。不需要去验证证书的过程,所以可以广泛用在很多没有办法在线查询的场合。试想下,假设我们的身份证也使用IBC体系构建,那么验证身份证的真伪就无需再联网到公安机关,而直接可以用密码学的方式来验证真伪了。同理,这样的方式可以应用在数字产权保护、文档加密、电子地图等等方面。
不难看出,PKI和IBC各有其技术特点。如果是在需求签署文件之类的操作,交易双方都认为需要找个公正机构来证明,PKI无疑是最好的选择;但如果交易双方是为了加密传递信息,那无疑IBC的方便性就非常明显了。例如在加密电子邮件。加密短信和云安全存储、物联网安全方面,lBC的技术特点将具备不可替代的优势。长远来看,两个体系必将长期共存,相互补充。
密码学的历史
为了防止信息在传递过程中被盗用或篡改,数千年来人们用了很多方法。从恺撒密码到藏头诗,从隐性墨水到火漆封印,这些传统的方法不断被发现和破解。真正使得密码成为一个学科的,是克劳德·香农(Claude Elwood Shannon,191612001)在1949年发表篇非常著名的论文“CommunicationTheory of Secret System”,建立对称密码系统理论基础,“密码学”才成为科学,成为可以用数学公式来证明的安全模型。到了1977年,三个在美国麻省理工学院的数学家Rivest,Shamir,Adleman提出RSA算法,代表着密码学迎来新纪元。从这个时候起,各厂商开始在民用方面进行密码研究,开始充分发挥它的商用价值和社会价值。这种转变也促使了密码学的空前高速发展。到现在,我们其实每一天都涉及到密码学。如使用浏览器时出现的https网页、使用无线路由器时选择的加密方式以及网上银行的各种应用,都和密码学密不可分。
RSA算法有一个重要的理论就是要通讯的双方均使用两把钥匙。一把可以公开(公钥),一把只有自己知道(私钥)。用其中一把用来加密,那另外一把就用来解密。由于公钥是一串无实际意义的数字,这就引来一个问题,谁能证明这把公钥是谁的?于是诞生了PKI密码体系。今天要谈到的IBC密码技术,就是PKI体系的最新发展成果。
IBC体系诞生的原因
PKI体系其实是目前我们生活中接触到最多的一个密码体系了。很多用过网银的用户都有这样的经历:到银行的窗口,提交了自己的身份证信息,签署若干文件之后,银行发一个USBkey,然后就可以用来做网银交易了。这个USBkey,就是最重要的一个身份,因为里面存放了储户的私钥和证书。所谓证书,就是经过一个受信任的第三方确认过的公钥。用KEY在网上的操作,就代表了储户个人的签字。
这个过程涉及三个角色:储户、银行、发证书的机构(即受信任的第三方认证中心,Certificate Authority简称CA)。这个过程中,储户和银行之间的密码操作,如果发生什么纠纷,就可以通第三方的机构来证明。只是在国内,申请第三方的证书往往要收费,所以银行和发证书机构往往合二为一,这也是为什么各大银行的KEY不能互用的重要原因一。
银行和储户在进行信息交流和金融操作的时候,假设储户要确认某个操作,这些信息就会用KEY里面的私钥进行加密和签名,同时把证书起提交到银行确认。银行会先验证证书是不是真的,再用来验鉴和解密数据看是否成功,就可以证明这个操作确实是这个储户确认的,反之亦然,储户也可以用这样的方法确认银行的操作。
很复杂吧?每一次信息发送方(无论是用户发出的信息还是银行发出的信息)在发送信息前都需要获取接收方的证书。而且还会去验证证书是不是真的?从安全的角度来看,这个流程并没有问题。但问题是,在即将到来的物联网时代、移动互联网时代,用户的大量增加,这个流程需要CA中心拥有极其庞大的运算、存储与通信能力,因为全国可能进行的交互式身份验证的量级会是非常庞大的,由此带来的申请、管理、查询、交互等操作,要求CA的建设和投入必须极其巨大。这样的情况下,IBC就诞生了。
什么是IBC技术
IBC,Identity-Based Cryptograph的缩写,就是基于标识的密码体系。IBC是在传统的PKI(公开密钥基础设施)基础上发展而来,除了保有PKI的技术优点外,主要解决了在具体安全应用中,PKI需要大量交换数字证书的问题,使安全应用更加易于部署和使用。
IBC技术发展历程
其实早在1984年,以色列科学家shamlr(就是RSA中的那个s)就看到了公开密钥体系比较繁琐的这个问题,最早提出了基于标识的密码系统的概念(1BC)。在基于标识的密码系统中,每个实体具有个标识,比如Email地址或者是身份证号码。用这个标识对应个公钥,就无需去时刻查询和验证对方的身份了。这样极大地简化了管理密码系统的复杂性。在提出IBC概念的同时,Shamir提出了个采用RSA算法的基于标识的签名算法(IBC)。但是长时期以来,基于标识的加密算法(JBE)未能找到有效解决方法。
直到2001年,D.Boneh和M.Franklin提出的IBC(BF-JBC)的安全性可以证明,并且有较好的效率,所以让IBC技术开始引起业界的极大反响。随后,基于标识的密码技术在过去几年中得到快速发展。研究人员设计了大量的新密码系统。随着应用的逐渐广泛,相应算法的标准化工作也在逐步展开。IEEEP1363.3的基于标识的密码技术工作组正在进行相关算法的标准化工作,而ISO/IEC已经标准化了两个基于标识的签名算法。
由于IBC的这些特点,美国在金融支付和电子邮件加密、文档加密方面大量已经使用了IBC的相关技术;在国内,中国国家密码管理局2007年组织了国家标识密码体系IBC标准规范的编写和评审工作,形成了中国的自有IBC算法。由多位院士和来自党政军、科研院所的密码专家组成了专家组,对该标准规范在安全性、可靠性、实用性和创新性等方面进行了多次严格审查。2007年12月16日,国家IBC算法标准正式通过了评审。专家们
致认定,该标准拥有独立知识产权,属于国内首创,达到了国际领先水平,并已逐步开始应用在智能密钥、加密邮件、网络安全设备等产品中。
IBC技术的特色
那么,相对于PKI来说,IBC的优势在哪里呢?首先,IBC大大降低了管理成本。如果用PKI系统,拥有10000个用户的家组织要创建及维护用户的10000个证书。在所有密码操作中,每个用户都可能和证书服务器进行申请、吊销、查询、验证等等工作,同时服务器还要存储这些证书,当持有证书的用户吊销后,甚至可能还需要保留他原来的证书一段时间。这些都给管理中心带来设备、人力即配套的各种投入;而IBC允许用户选择具有唯性的身份标识(如Email地址,身份证或网络帐号)来作为公钥,并通过可信的中央服务器统一发放私钥,所以即使管理上亿用户,也仅仅是保存份服务器的私钥即可,所以管理成本大大降低。
其次,IBC还具备基于属性的加密的技术特色。企业使用IBC进行安全数据通信时,应用范围可以更加广泛,包括终端到终端,终端到应用,应用到应用的情况。在实际的IBC系统中,公钥可以不仅仅是用户的身份标识,还可以加入用户身份的策略信息来做公钥。下面的例子可以让大家更加清楚地了解这点:
例如,Alice想发送信息给Bob,但要求只有Bob完成工作项目A之后,才可以解密阅读消息。于是,Alice把她的要求和bob的标识作为公钥加密发送给当Bob。Bob解密时候需要按照Alice制定的策略才能申请获得解密的钥匙。
再举个有趣的例子。假设征婚网站也用IBC体系构建,某人发出征婚广告的时候,他可以按照诸如“25岁、重庆、女”的标识进行加密,于是只有满足这些条件人才能解密。由此可见,密码学其实也不是一个完全神秘的学科。
第三,IBC的还有个最大优势就是可以做离线的加解密操作。
由于标识即公钥,那么需要和对方通讯的时候,知道对方的标识就可以了。不需要去验证证书的过程,所以可以广泛用在很多没有办法在线查询的场合。试想下,假设我们的身份证也使用IBC体系构建,那么验证身份证的真伪就无需再联网到公安机关,而直接可以用密码学的方式来验证真伪了。同理,这样的方式可以应用在数字产权保护、文档加密、电子地图等等方面。
不难看出,PKI和IBC各有其技术特点。如果是在需求签署文件之类的操作,交易双方都认为需要找个公正机构来证明,PKI无疑是最好的选择;但如果交易双方是为了加密传递信息,那无疑IBC的方便性就非常明显了。例如在加密电子邮件。加密短信和云安全存储、物联网安全方面,lBC的技术特点将具备不可替代的优势。长远来看,两个体系必将长期共存,相互补充。