IBC密码技术分析研究

来源:互联网 发布:动态面板数据举例 编辑:程序博客网 时间:2024/06/05 11:43

一、传统的PKI系统
    PKI(公开密钥基础设施,Public Key Infrastructure)是以不对称密匙加密技术为基础,以数据机密性、完整性、身份认证和行为不可抵赖性为安全目的,来实施和提供安全服务的具有普适性的安全基础设施。其内容包括数字证书、不对称密钥密码技术、认证中心、证书和密钥的管理、安全代理软件、不可否认性服务、时间戳服务、相关信息标准、操作规范等。
    20世纪80年代,美国学者提出了PKI的概念,PKI是一种普遍适用的网络安全基础设施。一些美国学者把提供全面安全服务的基础设施,包括软件、硬件、人和策略的集合叫做PKI
    1、技术特征
    PKI通过延伸到用户本地的接口为各种应用提供安全服务,包括认证、身份识别、数字签名、加密等。一方面,作为基础设施,PKI与使用PKI的应用系统是分离的,因此具有“公用”的特性;另一方面,离开PKI应用系统,PKI本身没有任何用处。正是这种基础设施的特性使PKI系统的设计和开发效率大大提高,因为PKI系统的设计、开发、生产及管理都可以独立地进行,不需要考虑应用的特殊性。
    2、结构体系
    数字证书是PKI中最基本的元素,所有安全操作都主要通过证书来实现。PKI的部件还包括签署这些证书的认证机构(CA)、登记和批准证书签署的登记机构(RA)以及存储和发布这些证书的电子目录。除此之外,PKI中还包括证书策略、证书路径、证书的使用者等。所有这些都是PKI的基本部件,它们有机地结合在一起就构成了PKI。在网络通信和网络交易中,特别是在电子商务和电子政务业务中,最需要的安全保证包括四个方面:身份标识和认证、保密或隐私、数据完整性与不可否认。
     3、服务体系
     它所提供的服务主要包括以下几方面:
1)在网络通信和网络交易中,特别是在电子商务和电子政务业务中,最需要的安全保证包括四个方面:身份标识和认证、保密或隐私、数据完整性与不可否认。 
2PKI的安全包括太多的方面,包括设备安全、运行安全、协议安全等。其中,算法安全最受关注,因为它是PKI安全的理论基础。
3PKI所依赖的是非对称算法。在非对称算法中,如果已知公开密钥(Public Key),那么在理论上就可以求出私有密钥(Private Key)
4)在将公开密钥彻底公开的前提下,所有安全都依赖于算法的安全。因此,是否有人能够破解算法就成为确定算法是否安全的焦点。

PKI认证体系构架图

     在这样的系统中,信息发送方需要正确获取接收方的公钥,否则恶意攻击方可通过提供虚假的接收方公钥(攻击方知道对应的私钥)成功获取信息。传统的公钥系统,如基于RSA算法或ECC算法的系统,需要一个受信任的第三方来绑定实体与其拥有的密码对。受信任的第三方(即认证中心,CACertificate Authority)在确认一个实体确实知道其公钥对应的私钥后,将为该实体颁发一个证书。证书中包含实体的名称(或标识)和实体的公钥以及认证中心对该绑定的电子签名。信息发送方在发送信息前需要获取接收方的证书。在验证证书的有效性后,发送方使用证书中的公钥加密。



     基于证书的公钥系统存在以下几个缺点:
     A 发送方在发送信息前总需要先获取接收方的证书。
     B 在每收到一个证书后,实体都需要验证证书的有效性。
     C 证书颁发和管理系统(PKI)非常复杂,难以部署。


二、新兴的IBC技术

  IBC(基于标识的密码系统,Identity-Based Cryptograph)是在基于传统的PKI基础上发展而来,主要简化在具体安全应用在大量数字证书的交换问题,使安全应用更加易于部署和使用。
  IBC密码技术使用的是非对称密码体系,加密与解密使用两套不同的密钥,每个人的公钥就是他的身份标识,比如email地址,电话号码等。而私钥则以数据的形式由用户自己掌握,密钥管理相当简单,可以很方便的对数据信息进行加解密。
IBC的基础技术包括数据加密、数字签名、数据完整性机制、数字信封,用户识别,用户认证等。

1IBC的发展历史



    为了解决公钥难以管理的问题,1984年,以色列科学家Shamir(原PKI体系的设计者之一)提出了基于标识的密码系统的概念(IBC)。在基于标识的密码系统中,每个实体具有一个标识。该标识可以是任何有意义的字符串。但和传统公钥系统最大的不同是,在基于标识的系统中,实体的标识本身就用作实体的公开密钥。由于标识本身就是实体的公钥,这类系统就不再依赖证书和证书管理系统如PKI,从而极大地简化了管理密码系统的复杂性。在提出IBC概念的同时,Shamir提出了一个采用RSA算法的基于标识的签名算法(IBS)。但是基于标识的加密算法(IBC)长时期未能找到有效解决方法。
    在2000年,三位日本密码学家R. Sakai, K. Ohgishi 和 M. Kasahara提出了使用椭圆曲线上的pairing设计基于标识的密码系统的思路。在该论文中他们提出了一种无交互的基于标识的密钥生成协议。在该系统中,他们设计了一种可用于基于标识的密码系统中的系统初始化方法和密码生成算法。
    在2001年,D. BonehM. Franklin, R. SakaiK. Ohgishi 和 M. KasaharaC. Cocks分别提出了三个基于标识的加密算法。前两个都是采用椭圆曲线上pairing的算法,第三种算法利用平方剩余难问题。由于D. BonehM. Franklin提出的IBC (BF-IBC)的安全性可以证明并且有较好的效率,所以引起了极大的反响。
       基于标识的密码技术在过去几年中得到快速发展。研究人员设计了大量的新密码系统。随着应用的逐渐广泛,相应算法的标准化工作也在逐步展开。 IEEE P1363.3的基于标识的密码技术工作组正在进行相关算法的标准化工作。ISO/IEC已经标准化了两个基于标识的签名算法。
2IBC在我国的情况       

    2007年,国家密码局组织了国家标识密码体系IBC标准规范( Identity-Based Cryptograph)的编写和评审工作。由五位院士和来自党政军、科研院所的密码专家组成了评审组,对该标准规范在安全性、可靠性、实用性和创新性等 方面进行了多次严格审查, 20071216日国家IBC标准正式通过了评审。专家们一致认定,该标准拥有独立知识产权,属于国内首创,达到了国际领先水平,并已逐步开始应用在智能密钥、加密邮件、网络安全设备等产品中。
    目前,IBC安全性模型已经获得国际密码学界的证明。IBC作为PKI密码体系的发展和补充,尤其是IBCPKI体系的融合,既保证了强签名的安全特性,又满足了各种应用更灵活的安全需求。
3IBC密钥的管理
    IBC允许用户选择自己的公钥,并通过可信的中央服务器接受到自己的私钥,IBC的公钥是用户的身份标识,可以用企业代码、身份号码、Email地址、网络帐号、姓名、职位、时间等,甚至它们的组合作为实体的标识和公钥。这样做极大的方便了公开密码的管理。
    IBC看起来似乎很简单,但它的技术却很复杂,是个重大的突破,在安全通信过程不采用数字证书的概念,而直接将安全方案与加密或验证方法联系起来。
    IBC密钥管理包含两大主要功能:密钥产生和密钥更新。在IBC系统平台上,这些功能是通过中央密钥管理服务器来实现的,它管理企业的安全应用。
    密钥产生功能就是产生安全通信过程中需要的公钥和私钥。密钥更新功能确保密钥根据需要进行变化,这样如果密钥如果丢失或被盗,可以对系统和用户进行保护。
    IBC系统通过一个密钥服务器来产生密钥,密钥服务器的主要功能是为用户产生私钥,并使得用户,服务和应用程序能利用IBC加密。
    企业可以使用IBC进行安全数据通信,包括终端到终端,终端到应用,应用到应用的情况。
    在实际的IBC系统中,不只是使用用户的身份标识或结合着日期作为公钥,而是使用包含用户身份的实际方案来做公钥,以下就是结合着状态作为公钥:
  “name"=邮箱地址,status=HIPAA compliant?
    例如,A想发送一封Email到给B() ,就可以直接使用该Email地址作为接收方的公钥进行加密,只有B符合HIPAA的条件,A才可以使用B的公钥发信,实际上当B和密钥服务器连接以获取自己的私钥时,只有他正确的证明自己的身份,并且状态与HIPAA相符合,密钥服务器才为他分发私钥。甚至,一方可以在发信的同时指定接收方只能在特定的时间才能解密。

4IBC的公钥实例
    IBC允许用户选择具有唯一性的身份标识(如Email地址或网络帐号)作为公钥,并通过可信的中央服务器接受到自己的私钥,在安全通信过程不采用数字证书的概念,而直接将安全方案与加密或验证方法联系起来。
   下面举例说明了PKI系统的公钥和IBC系统的公钥,下面给出了RSA算法公钥的一个实例。由于这样的密钥是1024位的二进制比特的大数,所以它不具有身份的概念,需要数字证书将公钥和用户身份联系起来。为了进行安全的数据通信,发送者必须拥有所有这些信息,再通过数字证书绑定接受方身份和密钥对。
公共指数:0x10001
模数:
135066410865995227349603216279805969938921475605667027524485
14385152651060485954383394028715057190945179820728216447153137 3680497039641917430464965892742562393410208643832021103729587257 623565096431105640735015091875106235946292055636855294752135
15952879163773285339061097505443342198111500569772368909 27563

RSA算法的公钥实例

5IBC应用方案示例
    企业可以使用IBC进行安全数据通信,包括终端到终端,终端到应用,应用到应用的情况。
在实际的IBC系统中,不仅仅使用用户的身份标识作为公钥,而是使用包含用户身份的策略信息来做公钥,如下的标识就是结合着状态作为公钥:
       Name="" status="成功完成工作A"
    例如,Alice想发送信息给Bob,只有Bob完成工作A才可以解密阅读消息,实际上当Bob和密钥服务器连接以获取自己的私钥时,只有他正确的证明自己的身份,并且状态为完成工作A,密钥服务器才为他分发私钥。
    这种简便,易于理解的密钥显示了IBC极大的优越性,使得不需数字证书,IBC技术就可实现加密签名方法



    1.“用户B”要向“用户A”发送一封加密邮件,“用户B”在自己的信任标识域中加入“用户A”的公钥标识(其Email地址),通过IBC基于标识的密码体系加密并且使用自己的标识(其Email地址)进行签名并发送出去。
    2. “用户A”收到了“用户B”的信件,如果“用户A”没有获取私钥,他将向Key Server请求获取私钥。


    3. 如果“用户A”本身就拥有本身的私钥,“用户A”将通过本身的私钥对“用户B”的信件进行解密验证,在这个解密和验证的过程中,“用户A”是不需要与Key Server进行认证的,因此可以做到离线解密验证。
    4.“用户A”通过身份认证获得了从Key Server中获得了证书,那么将根据自己的私钥解密“用户B”的邮件,看到邮件内容,同时可以看到“用户B”对邮件所做的签名,以对该邮件进行准确的身份验证。
    因此,IBC 允许用户选择自己的公钥,并通过可信的中央服务器接收到自己的私钥,IBC的公钥是用户的身份标识(如Email 地址或网络帐号等),不仅可以使用用户的身份标识或与日期相结合作为公钥,甚至使用包含用户身份的实际方案都可用来作为公钥,如社保号、手机号码,甚至是一段话。在安全通信过程不采用数字证书的概念,而直接将安全方案与加密或验证方法联系起来。不需数字证书,IBC 技术就可实现加密签名方法。因而用户无需进行公钥交换、认证。

6、IBC的应用       

    随着互联网的日益普及,电子政务、电子商务、电子娱乐,尤其是移动办公、移动商务得到了越来越广泛的应用,与此同时,安全文件流转与管理、移动安全接入、移动安全交互、虚拟资产保护、数字版权保护、离线安全交易,以及内网安全管理等等,对密码技术提出了一对多/多对多安全交互、跨平台安全处理、安全控制策略等更高的要求。
    基于标识的IBC密码体系是三十年来密码学取得长足发展的结果。在国际上,IBC密码技术已经获得了广泛的应用。美国食品药品管理局(FDA)在各大医疗机构中推广IBC应用,国际电信联盟(ITU)已采用IBC技术作为下一代移动电话的认证技术手段,华为、中兴、上海贝尔等公司也在NGN中采用了IBC技术。
我国的IBC密码技术正处于飞速发展的阶段。20071216日,国家IBC标准正式通过了评审。
    在IBC体系的产业化方面,已经有一批公司成功地将IBC密码技术与传统的PKI密码技术相融合,研制了一系列新产品,涵盖VPNUTM、防火墙、USB智能密码钥匙、SD智能密码钥匙、SSL、安全电子邮件、安全中间件、接入认证服务器等。
三、IBC在应用中的优势
    首先,IBC简化了管理。传统的PKI技术,在充分考虑了强签名安全特性的同时,也限制了PKI的效率和对安全应用的支持。例如:在原来,拥有1000个用户的一家组织要创建及维护1000个证书。与这些证书相关的密钥要不断更新,旧密钥还要保存起来。持有证书的用户离开组织后,就要撤销相关证书。因此,撤销列表也要维护、发布及不断更新。
    PKI的证书管理还会因为存档邮件而变得复杂。证书管理的最佳策略建议:最好每年撤销证书,为每个用户创建新证书。但现在许多公司需要把邮件保存一年,有些是因为证券交 易委员会规定的,还有些是因为电子邮件通常作为诉讼的一部分被要求上交。如果你要将加密邮件保存三年,同样也得将相应的密钥保存三年。
    相比之下,如果使用IBC,管理员只需要负责为每位用户创建并分发私钥,管理好CA中心主密钥与一组公共参数文件即可。IBC用一组信息取代了一千个证书。这些信息结合每位用户的标识(如:电子邮件地址、省份证号等),就可以创建惟一的私有密钥。任何一个用户要发送加密电子邮件,在申请了自己的私钥之后,只需要知道对方的电子邮件地址便可发送,省去了许多和服务器之间认证交互,提高了加解密的速度和应用效率。

    其次,IBC的一个重要改进——能够发送加密信息给没有数字证书的接收方。这样一来,如果需要,企业可以与客户和合作伙伴进行安全通信。通过在智能卡、UKEY上部署IBC,开发人员能够开发更安全、更适用、更具性价比的在线和离线企业通讯应用软件。这一技术适用的领域包括电子政府、电子和移动商务、安全文档的无线管理、访问控制、个人认证令牌等。

PKIIBC技术对比
1、加密方式的区别

2、优势和劣势对比

PKI

 经过长期发展技术成熟

※ PKI技术已经被业界大量产商采纳

※ 签名证书的签名具有强不可抵赖性

※ 系统运行维护成本高

※ 用户维护数字证书困难

※ 企业应用的内控实现复杂

IBC

※ 运营管理方便,成本低;

※ 用户使用方便;

※ 灵活的安全策略控制。

※ 数字签名不可做到强不可抵赖性
3、应用场景分析

个人对个人

    PKI数字证书方式可以胜任

    IBC私钥方式可以胜任

个人对群组

    PKI数字证书方式实现存在大量证书验证所以存在严重效率问题

    IBC私钥方式的效率几乎等同于个人对个人方式

群组对群组(或群组内部)

    PKI数字证书方式由于需要频繁交换数字证书并且用户本地必须保存大量的数字证书,所以当用户数达到一定规模后系统将变得无法运营

而IBC私钥方式由于简化了证书管理从而避免了系统瓶颈问题

4、结论:
    小规模的安全应用中,PKIIBC技术可以相互替代;
    大规模的安全应用中,IBC技术有明显的效率和运营优势;
    在不可信任的组织间交换信息时(比如安全邮件),CA提供的强数字签名具有法律效果