一种ibe密码装置及数据加解密方法
【专利摘要】本发明涉及一种IBE密码装置及数据加解密方法,所述IBE密码装置中一个身份标识的不同时间段限定的扩展身份标识所对应的IBE私钥或密钥对形成一个IBE密钥组,作为一个密钥对象对外使用;所述IBE密码装置进行数据加密时将时间段或扩展身份标识信息填充或附加到加密数据中;进行加密数据解密时,IBE密码装置通过加密数据的填充或附加数据得到相应的扩展身份标识,并从对应的密钥对象的IBE密钥组中获取对应的IBE私钥或连接IBE密钥服务器获取对应的IBE私钥解密加密的数据。所述IBE密码装置及方法解决了时间段限定的身份标识在使用中需要不断手工安装配置密钥这一问题。
【专利说明】—种IBE密码装置及数据加解密方法
【技术领域】
[0001]本发明属于信息安全领域,特别是一种IBE密码装置及数据加解密方法。
【背景技术】
[0002]基于身份标识的加密(Identity Based Encryption, IBE)是一种公开密钥(Public Key)加密算法和技术。在IBE中,一个实体的身份标识(如身份证号、电子邮件地址、移动终端号码等)就构成了一个公钥(Public Key,确切地说是身份标识加上一组IBE公开参数构成了一个IBE公钥);同时,身份标识对应有一个私钥(Private Key) (IBE私钥,IBE私钥也是由与身份标识相对应的私密信息和相应的IBE公开参数所构成),IBE私钥由一个专门的IBE私钥生成器(Private Key Generator, PKG)产生,并由身份标识拥有者安全保管。身份标识拥有者通过在线或离线的方式从IBE私钥生成器或其运行机构获取身份标识相对应的私钥(私密信息);在获取IBE私钥前,私钥生成器或其运行机构需要鉴别私钥获取者的身份并确认其是相应身份标识的拥有者。
[0003]在IBE数据加密传送中,数据发送方(加密方)利用接收方(解密方)的公钥(即身份标识及相应的IBE公开参数)加密数据或会话密钥(一个随机产生的用于加密数据的对称密钥),然后将加密后的数据连同加密后的会话密钥一起发送给数据接收方;数据接收方(解密方)利用相应的私钥解密被加密的数据或会话密钥。
[0004]在IBE数据加密中,身份标识对应的私钥的安全性非常重要,私钥一旦泄露,则被加密的数据将不再安全,存在被泄露的风险,因此身份标识拥有者必须安全保管其私钥。但是,无论怎样安全保管私钥,也不能绝对保证私钥不被泄露,因此必须有相应的技术方案或手段应对私钥被泄露后的标识使用和数据加密这一问题。目前,应对身份标识对应的私钥泄露这一问题最简单而比较有效的技术方案是将一个身份标识与一个时间段结合,形成一个如下所示的扩展身份标识:
[0005]〈身份标识>I I〈时间段〉,
[0006]这里,< 身份标识 > 指身份标识对应的字串,< 时间段 > 指相应时间段信息的字串(如用2013-8-28:2013-9-28,表示时间段2013年8月28日到2013年9月28,但这种表示不是唯一的,可根据需要约定),“ I I”表示身份标识字串和时间段字串的组合(可以是简单的字串连接、合并,或者其他约定的组合方式,只要能唯一区分、表示扩展身份标识即可),时间段既可以是一个时间区间,也可以是一个时刻(起止时间相同);扩展身份标识被当作一个通常的身份标识对应有一个IBE私钥,并用于数据加密。增加了时间段的扩展身份标识及其对应的私钥仅在一段时间内使用,这相当于用时间段对身份标识及其私钥的使用进行了限定(限定身份标识和/或其私钥仅在对应的时间段使用和有效)。通过时间段限定的扩展身份标识所对应的私钥一旦被泄露,则仅会对相应时间段内的数据加密造成影响。时间段的长短可根据安全要求结合使用方便性综合考虑,如可以按年、月、周、日更新。
[0007]这里的时间段实质上是一种对身份标识的使用进行限定的限定策略(Qualification Policy)。除了采用时间段对身份标识的使用进行限定外,还可以增加其他的限定策略信息对标识的使用加以限定,如,
[0008]<身份标识> 11〈角色> 11〈时间段>,
[0009]这里,〈角色 > 是角色的字串表示,即限定只有拥有对应角色的用户才能使用对应的身份标识对加密数据进行解密。
[0010]在IBE实际密码运算中,并不是使用身份标识本身参与运算,而是使用身份标识的散列值=HASH (<身份标识 >),这里HASH (…)表示散列值计算。
[0011]加了限定策略信息后,参与密码运算的是扩展身份标识,这时,参与运算的散列值有两种计算方式,一是采用如下的先拼接扩展身份标识,再计算散列值的方式:
[0012]HASH (<身份标识> I I〈时间段 >),或者,
[0013]HASH (<身份标识> I I〈角色> I I〈时间段? ;
[0014]二是采用如下先计算散列值,然后拼接,再计算散列值的方式:
[0015]HASH (HASH (< 身份标识 >)| HASH (< 时间段 >)),或者,
[0016]HASH (HASH (〈身份标识 >)I HASH (〈角色 >)| HASH (〈时间段 >))。
[0017]采用时间段对身份标识的使用进行限定降低了由于身份标识泄露带来风险,但也给数据解密方使用身份标识进行加密数据解密带来了不便和麻烦。这是因为,通常情况下数据解密方需要手工安装配置其加密应用程序用于数据解密的IBE私钥;由于一个扩展身份标识对应于一个时间段内的私钥 ,因此,在使用IBE进行数据解密的过程中,数据解密方(身份标识拥有者)需要每隔一段时间为其加密应用程序手工配置新的IBE私钥。这给IBE的应用带来很大的不便,因为,每隔一段时间手工配置新的IBE私钥不但麻烦,比如需要重新输入身份标识、对新申请的IBE私钥进行手工安装,而且对于一般的普通用户而言他是不知道什么时候需要更新IBE私钥并进行重新安装配置的。用时间段以外其他限定策略限定身份标识的使用也存在类似的问题:用户需要针对不同的限定策略手工配置不同的IBE私钥。
[0018]本发明就是要解决用时间段(以及其他限定策略)限定身份标识及其私钥使用的方案在实际应用过程中存在的这一问题。
【发明内容】
[0019]本发明的目的是针对用时间段限定身份标识及其私钥的使用这一 IBE私钥防泄漏方案在实际应用过程中存在的需要不断手工申请、重新安装配置IBE私钥这一问题,而提出的一种IBE密码装置及数据加解密方法。
[0020]为了实现上述目的,本发明所采用的技术方案是:
[0021]一种IBE密码装置,所述装置包括:
[0022]IBE密钥组:由同一个身份标识的对应于不同时间段的扩展身份标识的IBE私钥或密钥对所组成的一个IBE私钥组或密钥对组,所述IBE密钥组作为一个密钥对象对外使用;
[0023]IBE密钥组标识符:所述IBE密钥组作为一个密钥对象对外使用的密钥对象标识符;所述IBE密钥组标识符从调用者的角度与单个IBE私钥或密钥对的密钥对象的密钥对象标识符标识没有差别,加密应用程序或系统或其他程序或系统按照使用单个IBE私钥或密钥对的密钥对象标识符的方式使用IBE密钥组标识符调用所述IBE密码装置对IBE私钥或密钥对进行操作,包括密钥生成、导入、导出、删除,以及使用对应的私钥或密钥对对被加密的数据进行解密(即从调用者的角度,一个密钥组标识符在IBE密码装置中就好像仅对应一个IBE私钥或密钥对);
[0024]所述扩展身份标识指由身份标识与时间段信息组合、合并而形成的新的身份标识数据;每个扩展身份标识对应一个IBE密钥对,包括公钥和私钥。
[0025]对于加密应用程序或系统或其他程序或系统调用IBE密码装置新创建一个身份标识的IBE私钥或密钥对的密钥对象的操作调用,所述IBE密码装置按如下方式处理:
[0026]步骤A:创建一个新的针对IBE私钥组或密钥对组的密钥对象;
[0027]步骤B:将调用程序或系统提供的或者通过人机交互界面获得的身份标识保存在新创建的密钥对象中;
[0028]步骤C:为新创建的密钥对象创建一个空的没有IBE私钥或密钥对的密钥组;
[0029]步骤D:将作为IBE密钥组标识符返回的密钥对象标识符指向新创建的密钥对象(或与新创建的密钥对象关联),完成新创建密钥对象的操作处理。
[0030]对于加密应用程序或系统或其他程序或系统使用一个IBE密钥组标识符调用IBE密码装置生成指定时间段的IBE私钥或密钥对的操作调用,所述IBE密码装置按如下步骤生成相应的IBE私钥或密钥对:
[0031]步骤一:在IBE密钥组标识符所指的密钥对象的IBE密钥组中,查看是否已有指定时间段的扩展身份标识所对应的IBE私钥或密钥对,若是,则返回IBE私钥或密钥对已存在的提示;否则,转入下一步骤;
[0032]步骤二:从IBE密钥组标识符所指的密钥对象中获取对应的身份标识,然后使用指定时间段生成扩展身份标识;
[0033]步骤三:利用生成的扩展身份标识,连接IBE密钥服务器,获取扩展身份标识所对应的IBE私钥或密钥对;
[0034]步骤四:将获取的IBE私钥或密钥对放入到IBE密钥组标识符所指的密钥对象的IBE密钥组中;
[0035]或者,若加密应用程序或系统或其他程序或系统调用IBE密码装置生成指定时间段的IBE私钥或密钥对的操作调用针对的是一个未创建的密钥对象,或者操作调用是新创建密钥对象并生成指定时间段的IBE私钥或密钥对,则所述IBE密码装置先按所述步骤A到步骤D创建新的密钥对象,然后按步骤二到步骤四生成新的IBE私钥或密钥对象。
[0036]在所述步骤三中获取IBE私钥的过程中需要通过相对应的身份鉴别手段对用户进行身份鉴别。
[0037]对于加密应用程序或系统或其他程序或系统使用一个IBE密钥组标识符调用IBE密码装置导出IBE密钥组的操作调用,所述IBE密码装置从IBE密钥组标识符所指向的密钥对象中导出相应的IBE密钥数据,所述IBE密钥数据包括(原始)身份标识,以及IBE私钥组或密钥组的密钥数据。
[0038]对于加密应用程序或系统或其他程序或系统调用IBE密码装置导入IBE密钥组的操作调用,所述IBE密码装置为要导入的IBE密钥组创建一个密钥对象,将要导入的IBE密钥组加入到或关联到新创建的密钥对象,并将作为IBE密钥组标识符返回的密钥对象标识符指向新创建的密钥对象。[0039]对于加密应用程序或系统或其他程序或系统使用一个IBE密钥组标识符调用IBE密码装置枚举IBE密钥的操作调用,所述IBE密码装置返回IBE密钥组标识符所对应的密钥对象的IBE密钥组中的所有IBE私钥或密钥对的信息,所述信息包括(原始)身份标识、IBE私钥或密钥对的个数以及每个IBE私钥或密钥对的扩展身份标识信息(包括时间段信息)。
[0040]对于加密应用程序或系统或其他程序或系统使用一个IBE密钥组标识符调用IBE密码装置删除IBE密钥的操作调用,所述IBE密码装置或者删除IBE密钥组标识符所对应的密钥对象的IBE密钥组中的全部IBE私钥或密钥对,或者删除被选择删除的相应IBE私钥或密钥对,选择方式包括通过人机界面,或通过调用接口指定。
[0041]所述IBE密码装置的数据加解密方法如下:
[0042]在数据加密时,加密应用程序或系统或其他程序或系统使用不带时间段信息的身份标识作为IBE公钥调用所述IBE密码装置请求对数据进行加密;所述IBE密码装置使用由覆盖当前时刻的时间段所生成的(与调用身份标识)对应扩展身份标识以及IBE公开参数信息和IBE加密算法对待加密的数据进行加密,然后将覆盖当前时刻的时间段信息或者扩展身份标识信息作为填充或附加数据填充到或附加在被加密的数据中或之后,而不是作为密钥标识信息或密钥标识信息的一部分放入到加密数据信封的接收者信息中(如RFC5652, Cryptographic Message Syntax (CMS)的 EnvelopedData 的 RecipientInfo 中);
[0043]对于加密应用程序或系统或其他程序或系统通过一个IBE密钥组标识符调用所述IBE密码装置使用对应的密钥对象进行数据解密的操作调用,所述IBE密码装置根据待解密的加密数据中的填充或附加的时间段信息或扩展身份标识信息从IBE密钥组标识符所对应的密钥对象所对应的IBE密钥钥组中查找、选取对应的IBE私钥或密钥对,或者新生成对应的IBE私钥或密钥对,解密被加密的数据;
[0044]填充到或附加在被加密的数据中或之后的所述时间段信息是时间段数据本身(如2013-8-1:2013-9-1 ),或者时间段数据的散列值。
[0045]这里被加密、解密的数据既可以是普通的用户数据,也可以是用于加密用户数据的随机对称密钥,但通常情况下是用于加密用户数据的随机对称密钥。
[0046]对于加密应用程序或系统或其他程序或系统使用一个IBE密钥组标识符调用所述IBE密码装置使用对应的密钥对象进行数据解密的操作调用,所述IBE密码装置按如下步骤根据待解密的加密数据中的填充或附加的时间段信息或扩展身份标识信息从IBE密钥组标识符所对应的密钥对象所对应的IBE密钥钥组中查找、选取对应的IBE私钥或密钥对,或者新生成对应的IBE私钥或密钥对,解密被加密的数据:
[0047]第I步:利用从加密数据的填充或附加数据中得到的时间段信息以及当前使用的IBE密钥组标识符所对应的密钥对象(即IBE密钥组)所对应的身份标识生成相应的扩展身份标识,或者直接从加密数据的填充或附加数据中得到扩展身份标识;
[0048]第II步:以生成或获得的扩展身份标识作为查找索引,从当前使用的IBE密钥组标识符所对应的密钥对象的IBE密钥组中查看是否有扩展身份标识所对应的IBE私钥或密钥对,若有,则使用对应的IBE私钥解密被加密的数据,完成数据解密操作;否则,转入下一
I K
少;
[0049]第III步:连接IBE密钥服务器(即IBE私钥生成器或包括IBE私钥生成器功能的系统)获取扩展身份标识的对应IBE私钥或密钥对,并将新生成的IBE私钥或密钥对加入到当前使用的IBE密钥组标识符所对应的密钥对象的IBE密钥组中;
[0050]第IV步:用获取的IBE私钥或密钥对中的IBE私钥解密被加密的数据,完成数据解密操作;
[0051]在所述第I步中,是先从加密数据的填充或附加数据中得到时间段信息,然后生成扩展身份标识,还是直接从加密数据的填充或附加数据中得到扩展身份标识,取决于数据加密时填充或附加数据中存放的是时间段信息还是扩展身份标识信息。
[0052]在所述第III步中获取扩展身份标识对应的IBE私钥或密钥对的过程中需要通过相应的身份鉴别手段对用户进行身份鉴别。
[0053]若所述扩展身份标识除了包含时间段限定信息外,还包含有其他策略限定信息,则所述IBE密码装置的一个IBE私钥组或密钥对组由一个身份标识的具有不同策略限定包括时间段限定的扩展身份标识所对应的IBE私钥或密钥对所构成;
[0054]当加密应用程序或系统或其他程序或系统调用所述IBE密码装置对数据进行加密时,所述IBE密码装置将策略限定信息包括覆盖当前时刻的时间段信息或者扩展身份标识信息作为填充或附加数据填充到或附加在被加密的数据中或之后;
[0055]对于加密应用程序或系统或其他程序或系统通过一个IBE密钥组标识符调用所述IBE密码装置使用对应的密钥对象进行数据解密的操作调用,所述IBE密码装置根据待解密的加密数据中的填充或附加的策略限定信息或扩展身份标识信息从IBE密钥组标识符所对应的密钥对象所对应的IBE密钥组中查找、选取对应的IBE私钥或密钥对,或者新生成对应的IBE私钥或密钥对,解密被加密的数据。
[0056]在本发明中,IBE密码装置不是仅保存最近时间段的扩展身份标识,而是保存所有已获得的、不同时间段的扩展身份标识,这是因为加密应用程序或系统可能需要解密用之前时间段的扩展身份标识加密的数据。
[0057]基于本发明,用户在使用IBE私钥解密加密数据前,可通过加密应用程序或系统或配置工具调用所述IBE密码装置为用户的每个身份标识创建一个没有IBE私钥或密钥对的IBE密钥组(即空IBE密钥组)的密钥对象,并将其配置为加密应用程序或系统所用;或者由自动检测工具或插入到加密应用程序或系统的组件(如Outlook的Add-On)自动检测用户的每个身份标识(如电子邮箱地址)是否已创建有对应的IBE密钥组的密钥对象,若没有,则调用所述IBE密码装置为相应的身份标识创建一个没有IBE私钥或密钥对的IBE密钥组的密钥对象,并将其配置为加密应用程序或系统所用。当加密应用程序或系统或其他程序或系统通过密钥对象标识符调用IBE密码装置使用对应的IBE私钥或密钥对进行数据解密时,IBE密码装置自动从密钥对象标识符(即IBE密钥组标识符)所指向的密钥对象的IBE密钥组中查找相应的扩展身份标识的IBE私钥解密被加密的数据,或者在没有对应IBE私钥或密钥对时候自动连接IBE密钥服务器获取对应的IBE私钥或密钥对,这样就省去了用户需要针对具有不同时间段限定的扩展身份标识不断手工进行私钥安装配置的麻烦。
【专利附图】
【附图说明】
[0058]图1为本发明的结构示意图。【具体实施方式】
[0059]下面结合附图和实施例对本发明作进一步的描述。
[0060]本发明的IBE密码装置及数据加解密方法可以在已有IBE密码模块及数据加解密方法的基础上,根据本发明的内容作相应的修改而实现,比如可在本发明专利的 申请人:在其专利申请“一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法”(专利申请号:201110248050.8)中所述的针对IBE加密算法实现的密码模块的基础上实现。实施过程中需要注意本发明的IBE密码装置及数据加解密方法与通常的IBE密码模块及其数据加解密方法的差别。本发明的IBE密码装置及数据加解密方法与通常的IBE密码模块及数据加解密方法的差别主要体现在如下几点:
[0061 ] I)与普通的IBE密码模块中的涉及IBE私钥的密钥对象(包括IBE私钥或密钥对的密钥对象)仅对应一个IBE私钥或密钥对的方案不同,在本发明的IBE密码装置中,涉及IBE私钥的密钥对象对应的是一个IBE私钥组或密钥对组;
[0062]2)对于本发明的IBE密码装置及数据加解密方法,进行数据加密时,调用者提供的身份标识信息不包括时间段限定信息,而是由IBE密码装置自动加上相应的时间段限定信息,形成相应的扩展身份标识,然后进行数据加密,并将时间段限定信息或扩展身份标识信息作为填充数据或附加数据填充到或附加到加密数据中或之后;而通常的IBE密码模块不是这样操作的;
[0063]3)进行数据解密时,与普通的IBE密码模块及数据加解密方法从密钥对象标识符所指向的对应于单个IBE私钥或密钥对的密钥对象中获取IBE私钥解密被加密的数据的方案不同,本发明的IBE密码装置及数据加解密方法,通过加密数据的填充或附加数据得到的扩展身份标识,然后自动从密钥对象标识符(即IBE密钥组标识符)所指向的密钥对象所对应的IBE密钥组中查找对应的IBE私钥解密被加密的数据,或者在没有对应IBE私钥的情况下自动连接IBE服务器(IBE PKG)获取对应的IBE私钥或密钥对;这样就省去了用户需要针对不同时间段限制的扩展身份标识不断手工进行IBE私钥安装配置的麻烦;
[0064]4)普通的IBE密码模块对于生成IBE私钥或密钥对的操作调用,生成的是一个针对单个IBE私钥或密钥对的密钥对象,而本发明的IBE密码装置生成的是一个针对IBE私钥组或密钥对组的密钥对象;
[0065]5)针对涉及IBE私钥的密钥对象的导入或导出操作调用,普通的IBE密码模块导入或导出的是单个IBE私钥或密钥对,而本发明的IBE密码装置导入或导出的是一个IBE私钥组或密钥对组;
[0066]6)针对涉及IBE私钥的密钥对象的删除操作,普通的IBE密码模块删除的是单个IBE私钥或密钥对,而本发明的IBE密码装置删除的既可以是一个IBE私钥组或密钥对组,也可以是IBE私钥组或密钥对组中的被选择删除的IBE私钥或密钥对。
[0067]在已有IBE密码模块的基础上,针对以上差别实施本发明的IBE密码装置及数据加解密方法不是一件困难的事情;图1中同时给出了涉及IBE私钥的密钥对象实现的示意图,基于任何开发语言可以很容易地定义相应的数据结构,实现相应的密钥对象及其数据存储结构,包括IBE密钥组数据存储结构。
[0068]在具体实施中,是将时间段信息或扩展身份标识“填充”到加密数据中还是“附力口”到加密数据后都可以,若采用“填充”的方案,则可以将需要填充的数据按专利申请号:201110248050.8中的填充数据方案将相关填充数据加入到加密数据中。
[0069]对于参与运算的扩展身份标识散列值的运算既可以采用前面技术背景中所述的先拼接扩展身份标识,再计算散列值的方式一,也可以采用先计算散列值,然后拼接,再计算散列值的方式二。若采用方式一,则填充或附加到加密数据中或之后的时间段信息,是时间数据本身;若采用方式二,则填充或附加到加密数据中或之后的时间段信息,可以是时间数据本身,或者是其散列值。
[0070]在实施过程中,除了使用时间段限定策略对身份标识的使用进行限定外,还可以用本发明专利的 申请人:在其专利申请“一种应对私钥泄露的身份标识使用方法”(专利申请号:201110248050.8)中所述的索引数据对身份标识的使用进行限定。这时,扩展身份标识将由身份标识、时间段、索引数据组成(或还包含其他限定策略数据);IBE密码装置可以按专利申请201110248050.8中所述的方案选择对应的索引数据,或者随机生成一个索引数据;填充或附加到加密数据中或之后的策源限定信息将包括时间段和索引数据,或者它们的散列值。
[0071]当一个身份标识被一个或多个限定策略限定时,为了区分、分割身份标识和限定策略,可在身份标识和限定策略字串之间加入连接、分割符号,比如“ I ”;为了区分不同的限定策略,可用不同的策略名指明不同的限定策略,如:
[0072]“ iamesisina.com” I “period(2013-9-3:2013-10-3) ” | | “index(O),,,
[0073]或者,
[0074]“ iamesisina.com” I | “period (2013-9-3:2013-10-3),,| | “ index (0),,| | “role (manager)”。
[0075]这种策略命名方案的缺点是限定策略的排列顺序需预先约定,否则会对私钥的获取、管理带来麻烦,因为,用于数据加密的扩展身份标识对限定策略的排列顺序是敏感的,即限定策略的排列顺序不同,对应的数据加密公钥不同,对应的私钥也不同。对此,可以用策略标识符(Policy Identifier)区分不同的策略,即给每个限定策略一个可排序的标识符,并约定按标识符从大到小或,或从小到大的顺序排列。比如,可用P0001标识符表示、标识策略“period”,用P0002标识符表示、标识策略“index”,用P0003标识符表示、标识策略“role,,,如:
[0076]“ iamesisina.com” I “P0001 (2013-9-3:2013-10-3) ” | | “P0002(0),,,
[0077]或者,
[0078]“ iamesisina.com” | “P0002 (2013-9-3:2013-10-3),,| | “P0002 (0),,| |“P0003(man
ager)”。
[0079]或者,采用以上两种方式的结合:
[0080]( I)每个策略名对应一个策略标识符;
[0081](2)对人采用策略名的方式表示、展示(且策略名的顺序无关紧要);
[0082](3)在机器处理时(如散列值计算时),自动将策略名转化成策略标识符,并按策略标识符的顺序排列限定策略,然后进行出列;或者,在机器处理时(如散列值计算时),自动将限定策略按它们的标识符顺序排列(通过一个策略名和策略标识符对照表),然后进行出列。
[0083]另外,可将限定策略分为公共策略和私有策略,公共策略是大家都遵从的策略,而私有策略仅在特定范围有效。
[0084]本发明的IBE密码装置所涉及的IBE密钥服务器及其他相关部分,如用户身份标识的归属确认、获取私钥时的在线身份鉴别等,可采用本发明专利的 申请人:在其专利申请“一种基于伪RSA密钥的新近公开密钥加密算法的应用实现方法”(专利申请号:201310070765.8)中所述的IBE密钥服务器及其他相关部分的实施方案。
[0085]另外,本发明的IBE密码装置可结合专利申请号:201110248050.8中伪RSA密钥及伪RSA数字证书使用,此时,一个伪RSA密钥对或伪RSA数字证书对应一组IBE密钥对。若结合伪RSA密钥对或伪RSA数字证书使用,则对于参与运算的身份标识散列值的运算采用前面技术背景中所述的先计算散列值,然后拼接,再计算散列值的方式二更好。
[0086]其他未说明的具体技术实施,对于相关领域的技术人员而言是众所周知,不言自明的。
【权利要求】
1.一种IBE密码装置,其特征是:所述装置包括: IBE密钥组:由同一个身份标识的对应于不同时间段的扩展身份标识的IBE私钥或密钥对所组成的一个IBE私钥组或密钥对组,所述IBE密钥组作为一个密钥对象对外使用; IBE密钥组标识符:所述IBE密钥组作为一个密钥对象对外使用的密钥对象标识符;所述IBE密钥组标识符从调用者的角度与单个IBE私钥或密钥对的密钥对象的密钥对象标识符标识没有差别,加密应用程序或系统或其他程序或系统按照使用单个IBE私钥或密钥对的密钥对象标识符的方式使用IBE密钥组标识符调用所述IBE密码装置对IBE私钥或密钥对进行操作,包括密钥生成、导入、导出、删除,以及使用对应的私钥或密钥对对被加密的数据进行解密; 所述扩展身份标识指由身份标识与时间段信息组合、合并而形成的新的身份标识数据;每个扩展身份标识对应一个IBE密钥对,包括公钥和私钥。
2.根据权利要求1所述的IBE密码装置,其特征是:对于加密应用程序或系统或其他程序或系统调用IBE密码装置新创建一个身份标识的IBE私钥或密钥对的密钥对象的操作调用,所述IBE密码装置按如下方式处理: 步骤A:创建一个新的针对IBE私钥组或密钥对组的密钥对象; 步骤B:将调用程序或系统提供的或者通过人机交互界面获得的身份标识保存在新创建的密钥对象中; 步骤C:为新创建的密钥对象创建一个空的没有IBE私钥或密钥对的密钥组; 步骤D:将作为IBE密钥组 标识符返回的密钥对象标识符指向新创建的密钥对象,完成新创建密钥对象的操作处理。
3.根据权利要求1或2所述的IBE密码装置,其特征是:对于加密应用程序或系统或其他程序或系统使用一个IBE密钥组标识符调用IBE密码装置生成指定时间段的IBE私钥或密钥对的操作调用,所述IBE密码装置按如下步骤生成相应的IBE私钥或密钥对: 步骤一:在IBE密钥组标识符所指的密钥对象的IBE密钥组中,查看是否已有指定时间段的扩展身份标识所对应的IBE私钥或密钥对,若是,则返回IBE私钥或密钥对已存在的提示;否则,转入下一步骤; 步骤二:从IBE密钥组标识符所指的密钥对象中获取对应的身份标识,然后使用指定时间段生成扩展身份标识; 步骤三:利用生成的扩展身份标识,连接IBE密钥服务器,获取扩展身份标识所对应的IBE私钥或密钥对; 步骤四:将获取的IBE私钥或密钥对放入到IBE密钥组标识符所指的密钥对象的IBE密钥组中; 或者,若加密应用程序或系统或其他程序或系统调用IBE密码装置生成指定时间段的IBE私钥或密钥对的操作调用针对的是一个未创建的密钥对象,或者操作调用是新创建密钥对象并生成指定时间段的IBE私钥或密钥对,则所述IBE密码装置先按步骤A到步骤D创建新的密钥对象,然后按步骤二到步骤四生成新的IBE私钥或密钥对象。
4.根据权利要求1所述的IBE密码装置,其特征是:对于加密应用程序或系统或其他程序或系统使用一个IBE密钥组标识符调用IBE密码装置导出IBE密钥组的操作调用,所述IBE密码装置从IBE密钥组标识符所指向的密钥对象中导出相应的IBE密钥数据,所述IBE密钥数据包括身份标识,以及IBE私钥组或密钥组的密钥数据。
5.根据权利要求1所述的IBE密码装置,其特征是:对于加密应用程序或系统或其他程序或系统调用IBE密码装置导入IBE密钥组的操作调用,所述IBE密码装置为要导入的IBE密钥组创建一个密钥对象,将要导入的IBE密钥组加入到或关联到新创建的密钥对象,并将作为IBE密钥组标识符返回的密钥对象标识符指向新创建的密钥对象。
6.根据权利要求1所述的IBE密码装置,其特征是:对于加密应用程序或系统或其他程序或系统使用一个IBE密钥组标识符调用IBE密码装置枚举IBE密钥的操作调用,所述IBE密码装置返回IBE密钥组标识符所对应的密钥对象的IBE密钥组中的所有IBE私钥或密钥对的信息,所述信息包括身份标识、IBE私钥或密钥对的个数以及每个IBE私钥或密钥对的扩展身份标识信息。
7.根据权利要求1所述的IBE密码装置,其特征是:对于加密应用程序或系统或其他程序或系统使用一个IBE密钥组标识符调用IBE密码装置删除IBE密钥的操作调用,所述IBE密码装置或者删除IBE密钥组标识符所对应的密钥对象的IBE密钥组中的全部IBE私钥或密钥对,或者删除被选择删除的相应IBE私钥或密钥对,选择方式包括通过人机界面,或通过调用接口指定。
8.根据权利要求1所述的IBE密码装置,所述装置的数据加解密方法是: 在数据加密时,加密应用程序或系统或其他程序或系统使用不带时间段信息的身份标识作为IBE公钥调用所述IBE密码装置请求对数据进行加密;所述IBE密码装置使用由覆盖当前时刻的时间段所生成的对应扩展身份标识以及IBE公开参数信息和IBE加密算法对待加密的数据进行加密,然后将覆盖当前时刻的时间段信息或者扩展身份标识信息作为填充或附加数据填充到或附加在被加密的数据中或之后,而不是作为密钥标识信息或密钥标识信息的一部分放入到加密数据信封的接收者信息中; 对于加密应用程序或系统或其`他程序或系统通过一个IBE密钥组标识符调用所述IBE密码装置使用对应的密钥对象进行数据解密的操作调用,所述IBE密码装置根据待解密的加密数据中的填充或附加的时间段信息或扩展身份标识信息从IBE密钥组标识符所对应的密钥对象所对应的IBE密钥钥组中查找、选取对应的IBE私钥或密钥对,或者新生成对应的IBE私钥或密钥对,解密被加密的数据; 填充到或附加在被加密的数据中或之后的所述时间段信息是时间段数据本身,或者时间段数据的散列值。
9.根据权利要求8所述的IBE密码装置的数据加解密方法,其特征是:对于加密应用程序或系统或其他程序或系统使用一个IBE密钥组标识符调用所述IBE密码装置使用对应的密钥对象进行数据解密的操作调用,所述IBE密码装置按如下步骤根据待解密的加密数据中的填充或附加的时间段信息或扩展身份标识信息从IBE密钥组标识符所对应的密钥对象所对应的IBE密钥钥组中查找、选取对应的IBE私钥或密钥对,或者新生成对应的IBE私钥或密钥对,解密被加密的数据: 第I步:利用从加密数据的填充或附加数据中得到的时间段信息以及当前使用的IBE密钥组标识符所对应的密钥对象所对应的身份标识生成相应的扩展身份标识,或者直接从加密数据的填充或附加数据中得到扩展身份标识; 第II步:以生成或获得的扩展身份标识作为查找索引,从当前使用的IBE密钥组标识符所对应的密钥对象的IBE密钥组中查看是否有扩展身份标识所对应的IBE私钥或密钥对,若有,则使用对应的IBE私钥解密被加密的数据,完成数据解密操作;否则,转入下一 第III步:连接IBE密钥服务器获取扩展身份标识的对应IBE私钥或密钥对,并将新生成的IBE私钥或密钥对加入到当前使用的IBE密钥组标识符所对应的密钥对象的IBE密钥组中; 第IV步:用获取的IBE私钥或密钥对中的IBE私钥解密被加密的数据,完成数据解密操作; 在所述第I步中,是先从加密数据的填充或附加数据中得到时间段信息然后生成扩展身份标识,还是直接从加密数据的填充或附加数据中得到扩展身份标识,取决于数据加密时填充或附加数据中存放的是时间段信息还是扩展身份标识信息。
10.根据权利要求8所述的IBE密码装置的数据加解密方法,其特征是: 若所述扩展身份标识除了包含时间段限定信息外,还包含有其他策略限定信息,则所述IBE密码装置的一个IBE私钥组或密钥对组由一个身份标识的具有不同策略限定包括时间段限定的扩展身份标 识所对应的IBE私钥或密钥对所构成; 当加密应用程序或系统或其他程序或系统调用所述IBE密码装置对数据进行加密时,所述IBE密码装置将策略限定信息包括覆盖当前时刻的时间段信息或者扩展身份标识信息作为填充或附加数据填充到或附加在被加密的数据中或之后; 对于加密应用程序或系统或其他程序或系统通过一个IBE密钥组标识符调用所述IBE密码装置使用对应的密钥对象进行数据解密的操作调用,所述IBE密码装置根据待解密的加密数据中的填充或附加的策略限定信息或扩展身份标识信息从IBE密钥组标识符所对应的密钥对象所对应的IBE密钥组中查找、选取对应的IBE私钥或密钥对,或者新生成对应的IBE私钥或密钥对,解密被加密的数据。
【文档编号】H04L9/32GK103532709SQ201310438462
【公开日】2014年1月22日 申请日期:2013年9月24日 优先权日:2013年9月24日
【发明者】龙毅宏 申请人:武汉理工大学