基于身份的加密系统的制作方法

文档序号:82604阅读:432来源:国知局
专利名称:基于身份的加密系统的制作方法
技术领域
本发明涉及对通过诸如移动电话网络或因特网之类的公共网络发送的消息的加密和解密。
背景技术
其中向通过公共或非安全网络发送的消息提供安全性的通信系统一般应用公共密钥密码,其中发送者从预期的接收者请求公共密钥,并且使用该接收到的公共密钥加密消息。当加密的消息被接收者接收到时,它们能够使用它们的相应私钥或秘密密钥来解密该消息。这种形式的密码一般应用来保护基于因特网的通信。
在移动电话网络中,网络和移动电话通常共享这样的秘密密钥,它们使用该秘密密钥来对通过空中接口的它们之间的通信加密和解密。一般来说,移动电话从插入的SIM或RUIM卡接收秘密密钥。然而,这仅适于网络和移动电话之间的通信,而不适于移动电话的不同用户之间的通信。这是由于在可以使用秘密密钥来加密之前,用户必须首先在它们之间共享秘密密钥。在要求不具有公用或共享的秘密密钥的用户之间的通信的情形中,公共密码加密层一般被添加到上述通信中。然而,这要求通过管理和带宽密集的网络请求和发送公共密钥。

发明内容概括而言,在一个方面中提供了一种方法,用于通过不安全的通信系统例如因特网或无线网络安全地交换消息。该方法使用消息接收者的标识符例如电话号码或电子邮件地址以及基于身份的加密函数生成过程或引擎,该过程或引擎生成类似于公共密码方案中的通用函数和公共密钥的基于身份的加密函数。该基于身份的加密函数生成过程或引擎类似于基于公共密钥的系统的通用加密函数,不以接收者公共密钥为条件。利用该基于身份的加密函数加密的消息然后可以由预期接收者使用基于秘密身份的解密函数解密,该基于秘密身份的解密函数对应于从接收者的标识符生成的基于身份的加密函数。
在一个实施例中,通信系统中的发送者和接收者每个都具有公用的基于身份的加密函数生成引擎和各自的基于秘密身份的解密函数,该基于身份的加密函数生成引擎嵌入在它们各自的设备中,例如移动电话或因特网家电,该基于秘密身份的解密函数对应于它们各自的标识符。然后该基于身份的加密函数生成引擎和预期接收者的标识符一起可以由发送者用来生成用于预期接收者的基于身份的加密函数,该加密函数然后可以用来加密该接收者的消息,而不必请求它们的公共密钥。类似地,接收者无需将其公共密钥发送给发送者,而是只使用其相应的基于秘密身份的解密函数解密所接收到的消息。公用的基于身份的加密函数生成引擎和各自的基于身份的解密函数可以存储在发送者和接收者设备上,例如移动电话的SIM卡上或插入到因特网设备中的智能卡上。或者,安全或加密系统管理者可以周期性地将该消息发送到设备,以更新它们的基于身份的加密函数和相应的解密函数。
在本发明的另一个方面中提供了一种电子设备,以及/或者计算机程序,当在适当的处理器上执行该计算机程序时,布置为执行这里所述的方法。
为了可以容易地理解本发明并将其投入实用,现在参考结合附图解释的示例性实施例,其中在所有不同的示图中,相似的标号指示相同或功能上相似的元件。附图和下面的具体实施方式
一起结合到并形成说明书的一部分,并且用来进一步解释实施例并说明各种原理和优点,根据本发明其中图1图示了适于与一个实施例一起使用的电子设备;
图2图示了根据一个实施例的通信系统;图3图示了根据一个实施例的用于安全地发送消息的方法;图4图示了根据一个实施例的用于安全地接收消息的方法;图5图示了根据一个实施例的对在图3中使用的加密的增强;和图6图示了根据一个实施例的对在图4中使用的解密的增强。
技术人员将理解出于简化和清楚而图示附图中的元素,并且无需按照比例绘制。例如,附图中某些元素的尺寸相对于其他元素被放大了,以帮助理解本发明实施例。
具体实施方式在详细描述根据本发明的实施例前,应当注意到实施例主要存在方法步骤的组合中和与电子设备中的受限服务提供者模式的激活和去激活相关的装置组件中。因此,在附图中利用传统的符号再现了装置组件和方法步骤,仅示出了与理解本发明的实施例有关的那些具体细节,以免用具有这里描述的一般知识的本领域普通技术人员容易明了的细节模糊了该公开。
在此文档中,关系术语例如第一和第二、顶和底等可以用来单独区分一个实体和另一个实体、或者一个动作和另一个动作,并不要求或暗示这些实体或动作之间的任何实际这类关系或顺序。术语“包括”或者它们的任何其他变体是要覆盖费排他包含,以使包括一列元素的过程、方法、物品或装置不只包括这些元素,而且还可以包括未明确列出的或者对于这种过程、方法、物品或装置内在的其他元素。紧随“包括一个…”表示的元素在没有更多限制的情况下不排除在包括该元素的过程、方法、物品或装置中存在其他相同的元素。另外,在整个说明书中,术语“键”具有广泛的涵义,包括具有可由用户启动的专用、可变或可编程功能的任何键、按钮或执行器。
应当理解,这里所述的本发明的实施例可以包括一个或多个传统的处理器,以及唯一存储的程序指令,这些程序指令控制一个或多个处理器,结合某些非处理器电路一起来实现这里所述的电子设备中的受限所服务提供者模式的激活和去激活功能的某些、大多数和全部。非处理器电路可以包括单不限于无线电接收器、无线电发射器、信号驱动器、时钟电路、电源电路和用户输入设备。这样,这些功能可以被解释为下述方法的步骤,该方法用于激活和去激活电子设备中的受限服务提供者模式。或者,某些或全部功能可以用不具有程序指令的状态机实现,或者实现在一个或多个专用集成电路(ASIC)中,其中每个功能或这些功能中的某些的组合被实现为定制逻辑。当然,也可以使用这两种方法的组合。这样,这里已描述了用于这些功能的方法和装置。此外,尽管存在例如由空闲时间、当前技术和经济考虑推动的可能的明显努力和许多设计选择,但是当由这里所公开的概念和原理引导时,预期本领域的技术人员将能够利用最少的试验容易地生成这种软件指令、程序和IC。
参考图1,该示意图示出了移动台或移动电话形式的电子设备100,电子设备100一般是无线通信设备,其包括耦合以与处理器103通信的射频通信单元102。电子设备100还具有显示屏105。还具有一般包含警报扬声器、振动器马达和关联驱动器的警报模块115。显示屏105、以及警报模块115被耦合以与处理器103通信。
处理器103包括编码器/解码器111,其具有用于存储下述数据的关联的码只读存储器(ROM)112,所述数据用于对可以由电子设备100发射或接收的声音或其他信号编码和解码。处理器103还包括微处理器113,其通过公共数据和地址总线117耦合到编码器/解码器111、字符只读存储器(ROM)114、随机存取存储器(RAM)104、静态可编程存储器116和可移除用户身份模块(RUIM)接口118。静态可编程存储器116和RUIM卡119(通常称作订户身份模块(SIM)卡)操作耦合到RUIM接口118,它们每个都可以存储偏好漫游列表(PRL)、订户认证数据、所选进入文本消息、以及电话号码数据库(TND电话薄)等等,该电话号码数据库包括用于电话号码的号码字段和名称字段,名称字段用于与号码字段中的号码之一相关联的标识符。RUIM卡119和静态存储器116也可以存储口令,口令允许对电子设备100上的口令保护功能的访问。
微处理器113具有用于耦合到显示屏105和警报模块115的端口。另外,微处理器113还具有用于耦合到与该设备集成在一起的麦克风135和通信扬声器140的端口。
字符只读存储器114存储用于对可由通信单元102接收的文本消息解码或编码的码。在本实施例中,字符只读存储器114、RUIM卡119和静态存储器116还可以存储用于微处理器113的操作码(OC)和用于执行与电子设备100关联的功能的码。
射频通信单元102是具有公用天线107的组合的接收机和发射机。通信单元102具有经由射频放大器109耦合到天线107的收发机108。收发机108也耦合到组合的调制器/解调器110,其将通信单元102耦合到处理器103。
图2根据实施例图示了其中可以安全交换消息的系统。系统200包括无线网络210例如移动电话蜂窝网络,以及许多无线电子设备200例如移动电话,它们经由无线网络210彼此无线耦合,并且耦合到外部设备(未示出)。
每个电子设备220嵌入有常见的或通用的基于身份的加密函数生成引擎(F)230,其包括具有变量部分的函数(M),该变量部分在这里被称作公共密钥部分(PK)。公共密钥部分(PKb)专用于每个预期的接收者(220b),并且使用预期接收者专有的公共标识符(IDb)生成。因此公共标识符(IDb)可用来生成相应的基于身份的公共密钥(PKb),并且从而使用基于身份的加密函数生成引擎230a生成预期接收者专用的基于身份的加密函数(M(PKb))。该接收者专用的基于身份的加密函数(M(PKb))由加密引擎240a用来将明文消息(P)270加密成密文(M(PKb,P))280。与用于预期接收者(220b)的公共密钥(PKb)相对的公共密码可以由发送者使用预期接收者的公共标识符(IDb)260和基于身份的加密函数生成过程(F)或引擎230在本地生成。该公共密钥的等同物或基于身份的加密函数的变量部分(PKb)可以然后被结合到与预期接收者的标识符(IDb)相对应的基于身份的加密函数(M(PKb))中,以便为该预期接收者的明文消息(P)加密。该基于身份的加密函数生成引擎230可以被嵌入在诸如与网络210关联的SIM或R-UIM卡之类的可移除存储介质上,它可以在制造时安全地存储在电子设备220中,或者可以利用来自网络210的安全传输周期性地被更新。公共标识符IDb可以是与预期接收者或系统的用户唯一关联的任何适当的字符串或函数,例如它们的电话号码或电子邮件地址。
每个电子设备220也嵌入有基于身份的秘密解密函数D(SKb)250。该基于身份的秘密解密函数D(SKb)是取决于每个相应设备220的标识符260的从通用解密函数(D)和这里称作基于身份的解密函数D(SKB)的秘密密钥SKb部分的内容生成的。预期接收者220b的设备专用或依赖于基于标识符的身份的解密函数D(SKb)然后被用来对利用基于该预期接收者的公共密钥PKb加密的消息M(PKb,P)进行解密。各个引擎230、240和250可以实现为例如在处理器上执行的软件指令。使用这种具有嵌入的加密/解密功能的基于身份的加密布置,其中该加密/解密功能利用依赖于用户标识符(ID)的公共/秘密密钥部分,发送者(例如220a)无需请求预期接收者(例如220b)的公共密钥(例如PKb),类似地也不要求预期接收者向发送者提供其相应的公共密钥。这简化了基于加密的安全步骤的实现,该布置用于维护通过系统发送的消息的机密性。
本领域的技术人员将了解各种基于身份的加密方案,并且这些加密方案中的任意一种都可以在实施例中实现。示例包括Renji &Shihua的基于身份的密码系统和基于有限自动公共密钥密码的签名方案,如在T.Renji和C.ShiHua的“An Implementation ofIdentity-based Cryptosystems and Signature Schemes by FiniteAutomation Public Key Cryptosystems”,Advance inCryptology-CHINACRYPT 92,BeijingScience Press,1992,pp87~104中所述。其他基于身份的密码方案可以作为替换使用,例如在下述文献中所描述的那些A.Shamir,“Identity-BasedCryptosystems and Signature Schemes”,Advances in CryptologyProceedings of CRYPTO 84,Springer-Verlag,1985,pp.47~53;K.Koyama and K.Ohta,“Identity-Based Conference Key DistributionSystem”,Advances in CryptologyProceedings of CRYPTO 87,Springer-Verlag,1988,pp.175~284;H.Tanaka,“A RealizationScheme for the Identity-Based Cryptosystem”,Advances inCryptologyProceedings of CRYPTO 87,Springer Verlag,1988,pp.340~349;以及D.Boneh and M.Franklin,“Identity based encryptionfrom the Weil pairing”,SIAM J of Computing,Vol.32,No.3,pp.585~615,2003。
现在描述参考上述Renji和Shihua方案的实施例。用于此方案的详细数学超出了本说明的范围,但是所参考的技术读物如下文献所述,它们给出了完整数学实现信息1.ReniiInvertibility of Finite Automata,Science Press,19792.Renji,ShihuaAn Public-key Encryption and SignatureScheme based on Finite Automata,J.of Computer Science andtechnology,1985,8,401~4093.Renji,ShihuaTWo varieties of Finite AutomatonPublic-key Cryptosystem and Digital Signatures,1986,1,9~184.Shihua,RenjiInvertibility of Quasl-Linear FiniteAutomata,Advances in Cryptology-CHINACRYPT `92,BeijingScience Press,19925.T.Renji and C.ShiHua,“An Implementation ofIdentity-based Cryptosystems and Signature Schemes by FiniteAutomaton Public Key Cryptosystems”,Advances inCryptology-CHINACRYPT`92,BeijingScience Press,1992,pp.87·104。
这些文献一起被称作Renji文献。
然而,在更一般的数学层次上,加密函数M是有限自动机,其是例如两个可逆有限自动机M0和M1的串联之类的组合。该组合M是容易计算的,但是该逆操作实际是不可行的,例如,从M寻找M0和M1是非常难以计算的。两个有限自动机M0和M1的逆M0”和M1”被用在通用解密函数D中。
在一个实施例中,基于身份的加密函数生成引擎230(F)包括通用加密函数M的一组系数表示,在它的矩阵多项式表示中,这些系数明确地表达为基于身份的参数或标识符(ID)的函数。通过将用户的公共标识符IDb填充到通用加密函数M的矩阵多项式的系数表示中,然后可以生成用户的基于身份的加密函数M(PKb)的变量部分或基于身份的公共密钥PKb。然后可以针对明文消息P计算出基于身份的加密函数M(PKb),以便生成密文M(PKb,P)。通用加密函数M的矩阵多项式和初始状态被嵌入或以其他方式分布在系统200中的每个电子设备220中。这使得能够使用通用加密函数M的矩阵多项式的系数表示、公共标识符IDb和可选的r来针对具有关联的公共标识符IDb的预期接收者计算出或生成基于身份的公共密钥PKb,其中r是随机会话数。这样,从一组系数和初始状态、以及相应的公共标识符ID生成基于身份的加密函数M(PKb)的公共密钥PKb部分。这样,基于身份的加密函数生成引擎230或过程F针对特定的预期接收者标识符(IDb)生成基于身份的加密函数M(PKb)。
通用加密函数M详细示例和根据实施例的基于身份的加密函数M(PK)如下给出,但是应当理解本发明不限于此My(i)=A0+A1*y(i-1)+A2*y(i-2)+A3*y(i-3)…+Aj*y(i-j)+B0*x(i)+B1*x(i-1)+B2*x(i-2)…+Bk*x(i-k)其中i=0,1,2,…;A0,A1…Aj和B0,B1...Bk属于矩阵聚合,并且是标识符ID的函数;x是属于向量聚合的输入(明文)序列,y是属于向量聚合的输出(密文)序列。
基于身份的加密函数生成过程F利用标识符ID作为变量生成矩阵系数A0、A1、…Aj和B0、B1...Bk。从而为了得到用于接收者220b(IDb)的基于身份的加密函数的公共密钥部分(PK),它们的公共标识符IDb被用于填充系数A0、A1、…Aj和B0、B1…Bk。这在上述Renji文献中作了详细描述。这给出了公共密钥部分PKb,其由A0(IDb)、A1(IDb)、...Ai(IDb)和B0(IDb)、B1(IDb)...Bk(IDb)组成。
该基于身份的公共密钥部分PKb然后被应用到通用加密函数M,以得到基于身份的加密函数M(PKb)。基于身份的加密函数生成引擎230生成基于适当身份的加密函数M(PKb),加密引擎240a然后可以将该加密函数如下应用到明文消息P=x(0),x(1),…x(n)的每个元素y(0)=A0(IDb)+A1(IDb)*y(-1)+A2(IDb)*y(-2)+…+Aj(IDb)*y(-j)+B0(IDb)*x(0)+B1(IDb)*x(-1)+B2(IDb)*x(-2)+…+Bk(IDb)*x(-k)其中x(-1)…x(-k)和y(-1)…y(-j)为初始状态;y(1)=A0(IDb)+A1(IDb)*y(0)+A2(IDb)*y(-1)+…+Aj(IDb)*y(-j+1)+B0(IDb)*x(1)+B1(IDb)*x(0)+B2(IDb)*x(-1)+…+Bk(IDb)*x(-k+1)…y(n)=A0(IDb)+A1(IDb)*y(n-1)+A2(IDb)*y(n-2)+…+Aj(IDb)*y(n-j)+B0(IDb)*x(n)+B1(IDb)*x(n-1)+B2(IDb)*x(n-2)+…+Bk(IDb)*x(n-k),其中y(0)、y(1),…y(n)=M(PKb,P),其是密文280。
发送者然后将密文280(y(0)-y(n)=M(PKb,P))传输给预期接收者220b。
构成加密函数M的矩阵多项式M0和M1的逆分别是M0”和M1”。这些矩阵多项式之间的关系和如何从一个导出另一个超出了本说明的范围,但是在Renji文献中作了详细描述。
由于利用了加密函数矩阵多项式M,所以逆矩阵多项式M0”和M1”包括其中变量是接收者的公共标识符(IDb)的函数。为了获得用于密文(M(PKb,P))或利用他们的公共密钥(PKb)加密的消息的的接收者的解密函数D(SDb)的秘密密钥(SKb)部分,用消息接收者的公共标识符(IDb)填充逆矩阵多项式的系数。该秘密密钥以与公共密钥部分PKb形成加密函数M(PKb)=M1(PKb)M0(PKb)的一部分类似的方式形成解密函数D(SKb)=M0”(SKb)M1”(SKb)的一部分。这在Renji文献中也作了详细的数学描述。
如此获得的基于身份的解密函数D(SKb)然后可以用来对用接收者公共密钥加密的明文消息(P)解密,即D(M(PKb,P),SKb)=P。
包括相应的秘密密钥部分SKb的基于身份的解密函数D(SKb)也被提供给每个相应电子设备220b,每个相应密钥部分SK取决于它们各自的标识符(IDb)。各个基于身份的解密函数D(SK)的秘密密钥部分SK是使用各个标识符(ID)和M0”及M1”的多项式的变量系数表达式生成的。秘密密钥SK和解密函数的生成一般在相应接收设备220的使用之前完成,并且存储在其中,例如在SIM或R-UIM卡上。
由于利用了公共密钥密码,所以基于身份的秘密密钥(SK)和公共密钥(PK)对具有这样的属性利用公共密钥PK加密的消息易于计算,但是对利用该公共密钥PK加密的消息解密非常难于计算,或者不现实;这实际上正是秘密密钥SK所要求的。
在接收到加密的消息M(PKb,P)后,预期接收者220b使用它们的基于身份的解密函数对其进行解密,其中该解密函数结合它们各自的秘密密钥SKb和有限自动机M0”和M1”,即M1”(M(PKb,P),SKb)=P。
因此,不是具有中央密钥服务器,其中该服务器经消息交换请求请求生成并向系统中的发送者和接收者分发基于身份的公共/秘密密钥部分对(取决于实现可能是加密/解密函数对),而是基于身份的加密函数生成过程F或引擎230被嵌入到发送者设备中,并且基于身份的解密函数对应于基于身份的加密函数M(PK)。在一个实施例中,基于身份的加密函数生成过程F对所有设备公用。将理解,就发送和接收与安全机制相关联的控制消息来说,这节省了大量管理开销。在带宽有限并且标准的公共密钥串非常长的无线网络中尤其有利。此外,因为不要求发送公共密钥,所以无需实现第三方认证系统来对转发的公共密钥进行认证。另外在初始设置后,用户可以如正常操作一样进行秘密通信,所以无需例如与额外的安全相关的控制消息协议。
生成基于身份的加密函数生成过程F和相应解密函数D(SK)的实体可以是网络210,或者由网络210其他网络使用的独立机构,或者不相关的设备。基于身份的加密函数生成函数和相应的基于身份的解密函数可以例如使用对称加密而被安全发送到设备,其中网络210知道与每个设备220相关联的基于(分离)网络的秘密密钥。其可以被嵌入在例如设备的SIM卡上。
现在参考图3,其中图示了发送经加密消息的方法。这种方法可以实现在例如移动电话上,其中用户希望与同一个或不同无线网络上的另一个移动电话的用户进行安全通信。在方法(300)中,移动电话或其他电子设备220a接收到使用适当的接口输入的明文消息(P),例如电子邮件、SMS或语音(310)。术语明文消息(P)用于区分由一个实施例加密后的密文消息M(PKb,P),然而,从与一个实施例串联的另一种加密方案来看,明文消息(P)可能实际上也是密文消息。该方法然后确定与预期接收者关联的标识符(IDb),例如电话号码和电子邮件地址(320)。该标识符可以存储在例如移动电话或SIM卡上的地址薄中,或者用户可以手动将该信息输入到可以输入的电子设备中。
该方法(300)然后使用基于身份的加密函数生成过程(F)或引擎230及接收者的相应标识符(IDb)生成与该预期接收者关联的基于身份的加密函数M(PKb)(330)。这可以使用上述基于身份的加密(IBE)方案或者本领域技术人员将理解的其他IBE来生成。该方法然后使用所生成的基于身份的加密函数M(PKb)(在上述实施例中其包括多项式矩阵M)加密消息(P),以便获得经加密消息或密文M(PKb,P)(340)。本领域的技术人员将了解各种加密算法和函数M,并且可以在这里使用。如上所述,公知的加密方案是使用有限自动机公共密钥密码的基于ID的密码系统,该系统可用在实施例中,并且在下述文献中作了描述T.Renji and C.ShiHua,“AnImplemention of Identity-based Cryptosystems and SignatureSchemes by Finite Automation Public Key Cryptosystems”,Advancesin Cryptology-CHINACRYPT`92,BeijingScience Press,1992,pp.87-104。最后,该经加密消息M(PKb,P)通过网络210被传输到预期接收者(350)。
现在参考图4,其示出了接收并解密利用基于身份的加密函数M(PK)加密的消息。该方法(400)接收到已利用接收者的基于身份的加密函数M(PKb)加密的消息(410)。如上所述,该基于身份的加密函数M(PKb)是使用基于身份的加密函数生成过程(F)和接收者的标识符(IDb)生成的。该方法然后使用嵌入在接收者设备中的接收者的基于身份的解密函数D(SKb)来解密该消息(420)。加密领域的技术人员将理解,对应于加密算法M(PK)的基于身份的解密算法或函数D(SK)用来对所接收到的经加密消息解锁(D(M(PKb,P)SKb)=P)。
基于身份的加密M(PK)和解密D(SK)或者D(M0”,M1”)算法可以根据所需安全级别选择。这可以通过在各个加密和解密函数中使用不同的公共和秘密密钥部分大小来实现。例如在上述有限自动机实施例中,系数A0~Aj和B0~Bk大小可以增加,以便增加安全级别。例如,对于VoIP语音呼叫,可以要求相对较低的安全级别,以使得可以使用小规模的密钥大小来提高性能。然而,对于要求较高安全级别的应用,例如金融事务,可以应用较大规模的密钥大小以保证安全性。
由于IBE工作的方式,即使在预期接收者具有相应的基于身份的解密函数D(SKb)之前,也可以针对该预期接收者使用它们的计算出或生成的基于身份的加密函数M(PKb)对消息加密。在这种情形中,接收者仍旧可以接收消息,但是然后将需要(例如向网络210)请求它们的基于身份的加密函数来解密该消息。如果发送者的设备是使用地址薄的移动电话或类似设备,则具有发送/接收根据实施例加密的消息的能力的某些联系人可以例如使用适当的图标而在地址薄中被突出。该设备然后可以配置为自动对到这种接收者的所有消息加密,或者可以要求用户操作硬件/软件开关。设备也可能配置为存储常规使用的联系人的基于身份的加密函数M(PK),而不是每次都必须计算。接收设备可能具有通知发送者它们不能解密从该发送者接收到的消息的功能。
图5和图6分别图示了图3和图4的方法的加密(340)和解密(420)步骤的增强。在这些方法中,数字签名被用来对使用实施例加密的消息的发送者进行认证。首先参考图5,所示方法(500)替换图3的相应加密步骤(340)。该方法(500)计算明文消息的散列H(P)(510)。该方法(500)然后使用经散列的消息执行数字签名计算DS(SKa,H(M))(520)。数字签名函数或计算(DS)使用发送者的基于身份的解密函数D(SKa)的基于身份的秘密密钥部分SKa。散列(H)和数字签名(DS)计算对密码领域的技术人员将都是公知的,并且任何适当的计算都可以用在实施例中。接下来,方法(500)使用上述的对于预期接收者(IDb)的基于身份的加密函数M(PKb)对消息(P)和数字签名加密M(P,DS(SKa,H(P)))(530)。方法(500)然后返回图3的经加密消息传输步骤(350)。
现在参考图6,其示出了替换图4的相应解密步骤(420)的方法(600)。方法(600)首先解密数字签名的消息D(P,DS(SKa,H(P)),SKb)=P,DS[SKa,H(P)](610)。接下来该方法使用发送者公共标识符IDa及嵌入的基于身份的加密函数生成引擎230b来计算发送者的公共密钥PKa(620)。该方法然后使用其加密引擎240b来利用发送者的公共密钥对解密后的数字签名加密M[PKa,DS(SKa,H(P))],并且还计算解密后的消息的散列H(P)(630)。接下来,散列后的消息H(P)被与利用发送者的基于身份的加密函数加密的数字签名M(PKa,DS(SKa,H(P)))比较(640)。该数字签名方法中的变化可以替换使用,例如在图5和图6中都可以省略散列操作。
如果散列后的消息H(P)和重加密的数字签名M(PKb,DS(SKa,H(P)))不相等,则本领域的技术人员将理解该消息未被认证或验证为来自发送者(650)。然而,如果这两种计算产生相同的结果,则发送者被验证为该发送者的下述加密函数的秘密密钥部分的持有者,从而正是该发送者,其中所述加密函数是用来对该消息和数字签名进行加密的基于身份的加密函数(600)。
尽管已使用移动电话相应的电话号码作为标识符描述了关于移动电话的实施例,但是替换标识符和/或应用也可以用于其他实施例中。例如,用户(发送者和接收者)的电子邮件地址可以用作由整个系统使用的标识符;或者可以使用系统专用标识符。标识符可以是任何参数,只要其唯一地标识系统中的每个用户或设备,并且例如可以是设备的MAC地址。在替换实施例中,IBE系统可以实现在任何计算设备中,例如,耦合到因特网的计算机或其他因特网家电;这并不一定要求无线连接。例如,受信第三方可以监视安全电子邮件或金融系统系统,并且提供或指定所有用户的标识符、相应秘密密钥、以及公用公共密钥生成函数。
在前面的说明书中,已描述了本发明的特定实施例。但是,本领域的普通技术人员将理解可以做出各种修改和改变,而不脱离在所附权利要求
书中阐述的本发明的范围。因此,说明书和附图应当被认为是说明性的,而非限制性的,并且所有这种修改是要被包括在本发明的范围内。可以使任何益处、优点或解决方案发生,或者使它们变得更显著的益处、优点、对问题的解决方案和任何(一个或多个)元素不应当解释为任何或所有权利要求
的关键、必需或本质的特征。本发明仅由所附权利要求
书限定,所附权利要求
书包括在本申请的处理期间做出的任何修改和那些权利要求
的所有等同物。
技术人员将认识到上述装置和方法可以实现为例如载体介质上或数据载体上的处理器控制代码,所述载体介质例如是盘、CD-或DVD-ROM、经编程存储器(例如只读存储器,固件),所述数据载体例如是光或电信号载体。对于多种应用,本发明的实施例将实现在DSP(数字信号处理器)、ASIC(专用集成电路)或FPGA(现场可编程门阵列)。因此代码可以包括传统的程序代码或微代码,或者例如用于建立或控制ASIC或FPGA的代码。代码可以包括用于动态配置可重配置装置(例如可重编程逻辑门阵列)的代码。类似地,代码可以包括硬件描述语言(例如VerilogTM或VHDL(超高速集成电路硬件描述语言))的代码。本领域的技术人员将理解,代码可以分布在彼此通信的多个耦合的组件之间。如果合适,实施例也可以通过使用在现场可(重)编程模拟阵列或类似的设备上运行的代码来实现,以便配置模拟硬件。
权利要求
1.一种电子设备,包括基于身份的加密函数生成引擎,布置为使用与接收者电子设备相对应的标识符生成对应于所述接收者电子设备的基于身份的加密函数;加密引擎,布置为使用所生成的基于身份的加密函数来加密所述接收者设备的用户消息;以及传输器,布置为将加密后的用户消息传输到其他接收者电子设备。
2.如权利要求
1所述的电子设备,其中,所述标识符是所述其他电子设备的电话号码。
3.如权利要求
1所述的电子设备,其中,所述基于身份的加密函数生成引擎嵌入在可移除模块中,秘密密钥用于对使用基于身份的公共密钥加密的消息解密,所述基于身份的公共密钥是使用基于身份的公共密钥生成函数和与所述电子设备关联的标识符生成的。
4.如权利要求
1所述的电子设备,还包括接收器,布置为接收来自发送者电子设备的经加密用户消息;基于身份的解密引擎,布置为使用基于身份的解密函数解密所述经加密用户消息,所述基于身份的解密函数与使用对应于所述电子设备的标识符生成的基于身份的加密函数相对应。
5.如权利要求
1所述的电子设备,其中,所述加密函数是有限自动机。
6.如权利要求
4所述的电子设备,其中,所述接收器布置为接收电子签名,并且所述电子设备还包括基于身份的数字签名加密函数生成引擎,布置为使用所述基于身份的加密函数生成引擎和与所述发送者电子设备关联的标识符来生成基于身份的数字签名加密函数;基于身份的数字签名加密引擎,布置为使用所述基于身份的数字签名加密函数来加密所接收到的数字签名;验证引擎,配置为响应于接收到的用所述数字签名加密函数加密的数字签名等同于所接收到的消息,来验证所接收到的数字签名。
7.一种用于安全交换用户消息的方法,包括确定与用户消息的预期接收者相关联的标识签;使用基于身份的加密函数生成过程和所确定的标识符来生成与预期接收者关联的基于身份的加密函数;使用所生成的基于身份的加密函数来加密所述用户消息;将经加密的用户消息传输到所述预期接收者。
8.如权利要求
6所述的用于安全交换用户消息的方法,其中,所述标识符是与所述预期接收者关联的电话号码。
9.如权利要求
6所述的用于安全交换用户消息的方法,还包括接收来自发送者的经加密用户消息;使用基于身份的解密函数解密所述经加密用户消息,所述基于身份的解密函数与使用与所述接收者关联的标识符生成的基于身份的加密函数相对应。
10.如权利要求
9所述的用于安全交换用户消息的方法,还包括使用所述基于身份的加密函数生成过程和与所述发送者关联的标识符来生成基于身份的数字签名加密函数;使用所述基于身份的数字签名加密函数来加密所接收到的数字签名;响应于接收到的用所述数字签名加密函数加密的数字签名等同于所接收到的消息,来验证所接收到的数字签名。
11.一种承载计算机程序指令的载体介质,当在计算机上执行所述计算机程序指令时使所述计算机执行下述操作确定与用户消息的预期接收者关联的标识符;使用基于身份的加密函数生成过程和所确定的标识符来生成与所述预期接收者关联的基于身份的加密函数;使用所生成的基于身份的加密函数加密所述用户消息;将所述经加密用户消息传输到所述预期接收者。
专利摘要
本发明涉及基于身份的加密系统。本发明提供了用于通过不安全的通信系统安全地交换消息的方法(300),以及执行该方法(300)的电子设备(100)。该方法确定(320)与用户消息的预期接收者关联的标识符,然后使用基于身份的加密函数生成过程和所确定的标识符来生成(330)与该预期接收者关联的基于身份的加密函数。接下来,该方法使用所生成的基于身份的加密函数来实现解密(340)该用户消息,然后将经解密用户消息传输(350)到该预期接收者。
文档编号H04L9/30GK1992587SQ200510135750
公开日2007年7月4日 申请日期2005年12月29日
发明者吴松, 朱宇 申请人:摩托罗拉公司导出引文BiBTeX, EndNote, RefMan
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1