一种结合标识密码体制和传统公钥密码体制的方法

文档序号:7716949阅读:476来源:国知局
专利名称:一种结合标识密码体制和传统公钥密码体制的方法
技术领域
本发明属于信息安全领域,特别涉及到公钥密码技术,以及标识或基于身份的密码技术。
背景技术
公钥密码技术是一种广泛应用的对发送给指定接收者的文件、消息等信息进行加密的技术。采用这种密码技术的系统需要为每个用户生成一对数学上相关联的公钥和私钥,公钥通过某种方式公开发布,使得任何发送者都可获得接收者的公钥,私钥则由接收者秘密保存。公钥密码系统应用中一个重要的安全性就是确保使用的公钥确切地属于指定接收者,即需要一种将用户标识(ID)和其公钥绑定在一起的安全机制。传统公钥密码体制中,例如采用RSA、DSA、ECC等算法的系统,公钥的产生和用户的标识没有关系,需要由第三方认证中心CA(Certificate Authority)发放证书,即对用户的公钥和标识进行签名,将二者绑定,这个基于传统公钥密码系统的以CA为中心的体系叫做公钥基础架构,即I3KI (Public Key Infrastructure) 0借助于H(I,互联网上的很多应用得以实现,例如电子商务、电子银行等。1984年著名以色列密码学家Siamir提出标识密码系统的概念,又称基于身份的密码系统。标识密码系统中,用户标识就是该用户的公钥,不需要存储用户的公钥,也不需要借助于PKI将公钥和标识绑定在一起,因此有广泛的潜在应用。但是由于技术的局限,标识加解密方案的实现一直是个公开问题。二 ^^一世纪后,随着研究人员对椭圆曲线的深入研究,发掘出了双线性对作为一系列密码系统的工具。双线性对解决了标识密码系统的设计和实现难题。2001年,美国斯坦福大学的Boneh和加州大学戴维斯分校的Franlin利用椭圆曲线的双线性对,构造了一个基于BDH假设(Bilinear Diffie-Hellman)的标识密码系统BF-IBE。该密码系统成功的实现了 Siamir的标识密码系统概念的功能,并且在效率、密文长度上有很高的实用价值。 2003年大阪电气通信大学的Mkai和大阪学院大学的Kasahara提出了一个基于q_BDHI假设(q-bilinear Diffie-Hellman inversion)的标识密码系统 SK-IBE。2004 年 Boneh 和 Boyen同样利用椭圆曲线的双线性对,构造了一个基于D-BDH假设(Decisional Bilinear Diffie-Hellman)的标识密码系统BB-IBE。2005年美国得克萨斯大学的Waters提出了一个安全性基于 D-BDH 假设(Decisional Bilinear Diff ie-Hellman)的标识密码系统 W-IBE。目前普遍认为一个标识密码系统应该包含密钥中心PKG、公共参数发布服务器 PPS这两个组成部分。PKG的主要作用是接收用户的标识私钥请求,利用主密钥为用户生成标识私钥。PPS公开PKG设定的系统参数,包括除主密钥和能导出主密钥的参数之外的可公开参数等信息。PPS的主要作用是为用户提供系统参数下载服务。标识密码体制有两个主要缺点,在一定程度上限制了它的应用。一是用户的标识私钥在密钥中心的托管问题,用户的标识私钥必须由密钥中心生成,因此密钥中心和用户一样也拥有用户标识私钥,因此严格地说,标识密码体制产生的签名不具有不可否认性,这在法律上是个问题。相应地,标识密码体制产生的密文在密钥中心可以解密,有信息泄露的风险。二是用户标识私钥丢失后的问题。传统公钥体制中用户的标识和公钥绑定在一起, 如果用户私钥丢失,用户可以重新生成一对公钥和私钥,而在标识密码体制中,用户的标识就是公钥,因此无法被撤销。为了解决标识密码系统中存在的问题,研究人员分别提出了一些介于传统公钥密码系统和标识密码系统之间的一种公钥密码系统,如C. Gentry在“Certificate-Based Encryption and the Certificate Revocation Problem" (EUROCRYPT 2003) ^ 于证书的密码系统CBE (Certificate Based Encryption)、Sattam S. Al-Riyami 禾口Kenneth G. Patersony 在"Certificateless Public Key Cryptography" (Asiacrypt 2003)中提出的无证书公钥密码系统 CL-PKC(Certificateless Public Key Cryptography)、Μ· Girault ^ "Self-certificated public keys”(EUROCRYPT 1991)中提出的自证书公钥系统 SC-PKC(Self-Certified Public Key Cryptography)。CBE中的证书其实就是标识密码系统中的标识私钥,用户在获得标识私钥之前预先选择好自己的另外一对公钥和私钥(其公私钥对的类型受原标识密码系统的限制),标识密码系统的密钥中心充当CA,对用户的公钥和标识等信息进行签名,生成用户的标识私钥。加密发送方需要获得接收方的公钥和标识进行加密操作。接收方只有获得相应的私钥和标识私钥方可解密。 CL-PKC中,用户在获得标识密码中心生成的标识私钥之后,选择自己的一个秘密, 将这个秘密施加于标识私钥上,生成一对新的公钥和私钥。加密发送方需要获得接收方的公钥和标识进行加密操作。接收方只有获得相应的私钥方可解密,这个私钥已经不同于标识密码系统密钥中心初次生成的那个标识私钥。SC-PKC中,标识密码系统密钥中心生成标识私钥的过程是交互式地,标识私钥其实就是密钥中心对用户标识的盲签名,因此密钥中心也不知道用户的标识私钥。用户把标识私钥的一部分公开,一部分保密。保密部分刚好可以作为一个传统公钥密码系统的私钥, 公开部分和用户标识、系统公共参数刚好能够生成这个私钥相对应的公钥。加密发送方或签名验证方不知道用户公钥是否真实、正确,而是通过接收方或签名方能使用相应的私钥这个事实进行隐含认证。在假定密钥中心是可信任的情况下,也就是密钥中心尽管能够计算出用户的标识私钥,但是不会替换用户的公钥,CBE、SC-PKC、CL-PKC都能解决标识密码系统的私钥托管问题,但是它们所采用的公钥密码系统都受到原标识密码系统的限制。

发明内容
本发明的目的是针对标识密码系统的一种安全缺陷,即用户的标识私钥被托管在密钥中心的问题,提出一种将标识密钥系统和传统公钥密码系统结合的方法,和其他类似方法相比,如基于证书的密码系统CBE、无证书公钥密码系统CL-PKC、自证书公钥系统 SC-PKC,本发明具有公钥密码系统不受限制的优点。为达成所述目的,本发明提供的方法结合了标识密钥系统和传统公钥密码系统方法,包括签名方法和加密方法。
所述签名方法包括如下步骤步骤1.生成标识签名签名发送方选择任意一个公钥密码系统的一对公钥、私钥,然后用自己的标识私钥对所述公钥等信息进行签名,输出标识签名;所述公钥、所述标识签名和其他相关信息可以预先发布在公钥目录里,通过目录服务提供查询下载;也可以在签名接收方的要求下即时选择、计算并发送给签名接收方;步骤2.生成消息签名给定任何消息,所述签名发送方读取所述公钥、所述私钥、 所述标识签名和其他相关信息,使用所述私钥对消息进行签名;步骤3.验证消息签名所述签名接收方首先获得所述消息签名、包含在所述消息签名里或从公钥目录获得的所述签名发送方的所述公钥、所述标识签名和其他相关信息; 所述签名接收方首先验证所述标识签名,再验证所述消息签名,如果两次验证都通过,整个签名验证才通过。所述签名方法的步骤1,具体描述如下步骤1.所述签名发送方首先从标识密码系统的密钥中心获得标识私钥;步骤2.所述签名发送方选择任意一个公钥密码体制,自行生成一对公私钥;所使用公钥也可以是包含在某个已经存在的PKI证书里的公钥;步骤3.所述签名发送方对所述公钥和其他相关信息,如公钥的使用范围、有效期等信息,用自己的标识私钥对其进行签名操作,生成签名,输出即为标识签名。所述加密方法包括如下步骤步骤1.生成标识签名密文接收方选择任意一个公钥密码系统的一对公钥、私钥,然后用自己的标识私钥对所述公钥等信息进行签名,输出标识签名;所述公钥、所述标识签名和其他相关信息可以预先发布在公钥目录里,通过目录服务提供查询下载;也可以在密文发送方的要求下即时选择、计算并发送给密文发送方;步骤2.加密消息给定任何消息,所述密文发送方要给所述密文接收方发送加密消息时,首先获得所述密文接收方标识和所述密文接收方的所述公钥、所述标识签名和其他相关信息,然后验证所述标识签名的正确性,如果正确,使用所述公钥采用适当的加密算法对消息进行加密操作,把密文和相关加密信息发送给所述密文接收方;这里的加密算法包括使用所述公钥对消息直接加密、以及结合使用任何对称加密算法的混合加密等方法;步骤3.解密还原消息所述密文接收方首先获得所述密文和相关加密信息,根据相关加密信息,读取所述私钥,使用所述私钥对所述密文进行解密操作,还原消息。所述加密方法的步骤1,具体描述如下步骤1.所述密文接收方首先从标识密码系统的密钥中心获得所述标识私钥;步骤2.所述密文接收方选择任意一个公钥密码体制,自行生成一对公私钥;所述公钥也可以是包含在某个已经存在的PKI证书里的公钥;步骤3.所述密文接收方对所述公钥和其他相关信息,如公钥的使用范围、有效期等信息,用所述标识私钥对其进行签名操作,生成签名,输出即为所述标识签名。本发明的有益效果该结合标识密码系统和传统公钥密码系统的方法能够达到目前同类方法的安全程度,如基于证书的密码系统CBE、无证书公钥密码系统CL-PKC、自证书公钥系统SC-PKC,解决标识密码系统的私钥被密钥中心托管的问题。且和目前同类方法比较,具有公钥密码系统不受限制的优点。


图1是本发明的组成部分框图;图2是本发明图1中生成标识签名的框图;图3是本发明图1中生成消息签名的框图;图4是本发明图1中验证消息签名的框图;图5是本发明图1中加密消息的框图;图6是本发明图1中解密还原消息的框图;图7是本发明实施例一加密消息的流程图。
具体实施例方式下面结合附图详细说明本发明技术方案中所涉及的各个细节问题。应指出的是, 所描述的实施例仅旨在便于对本发明的理解,而对其不起任何限定作用。 请参阅图1,本发明的组成部分框图。首先生成标识签名,之后基于标识签名,可进行消息签名、验证消息签名、加密消息、解密还原消息等操作。图1中的生成标识签名部分,请参阅图2,用户首先从标识密码系统的密钥中心获得标识私钥d_ID,所指标识密码系统例如BF-IBE、SK-IBE等,假设所选标识密码系统的签名、验证算法分别是Sign_ID、Ver_ID。同时用户选择任意一公钥密码体制,如基于因数分解的RSA、基于离散对数的DSA、EKiamal、基于椭圆曲线的ECC等,自行生成一对公私钥(pk, sk),假设所选公钥密码系统的签名、验证、加密、解密算法分别是Sign、Ver、Enc、Dec。这个过程可以事先完成,也可以在其他用户的要求下即时完成。所使用公钥也可以是包含在某个已经存在的PKI证书里的公钥。用户对公钥和其他相关信息info,如公钥的使用范围、 有效期等信息,进行标识签名,即用自己的标识私钥d_ID对其进行签名操作,生成签名s = Sign_ID(d_ID,pk| |info)。这个过程可以事先完成,也可以在其他用户的要求下即时完成。图1中的生成消息签名部分,请参阅图3,输入签名发送方的公钥pk、私钥sk、相关信息info、标识签名S。签名发送方首先用私钥sk对消息m进行签名,生成消息签名sig_ m。(sig_m, pk, info, s)可以作为消息m的完整数字签名。如果签名接收方能够通过可靠的公钥目录获得签名发送方公钥,也可以只把SigJIl发送给签名接收方。图1中的验证消息签名部分,请参阅图4,签名接收方在获得消息m、对消息的签名 SigJiK签名发送方的公钥pk、相关信息info、签名发送方对公钥等的标识签名s后,首先验证标识签名s,即计算Ver_ID(ID,S,pk| Iinfo)是否输出1 ;如果上一步计算输出1,再验证消息签名sig_m,即计算Ver(pk,sig_m, m)是否输出1。如果两次验证都输出1,整个签名验证通过,输出1。图1中的加密消息部分,请参阅图5,密文发送方要给作为密文接收方的用户发送加密消息时,首先获得密文接收方的标识ID、公钥pk、相关信息info、标识签名S。获得方式可以是直接发送请求给密文接收方,或者查询公钥目录。密文发送方首先验证标识签名 s,即计算Ver_ID(ID,s,pk| Iinfo)是否输出1 ;如果上一步计算输出1,再用密文接收方的公钥pk加密消息,即计算cipher = Enc (pk,m),把密文cipher和相关加密信息encjnfo, 比如使用的公钥信息等,发送给密文接收方。这里的加密消息过程包括使用公钥对消息直接加密、以及结合使用任何对称加密算法的混合加密等方法。
图1中的解密还原消息部分,请参阅图6,密文接收方获得密文cipher和相关加密信息encjnfo后,根据encjnfo,读取相应的私钥sk,再使用sk对密文cipher进行解密操作,还原消息m。下面结合图7,以一具体实施例(实施例一)说明加密消息的流程。密文发送方如果要给密文接收方发送加密消息,首先在本地、或连网查询和密文接收方标识对应的当前可用的公钥,如果查询不存在,就给密文接收方发送一个公钥请求。密文接收方收到公钥请求后,可以有两种方式获得公钥、私钥、标识签名,一种是提取预先选择/生成/计算的公钥、私钥、标识签名,一种是在每次响应公钥请求时,临时生成不同的公钥、私钥、计算标识签名。密文接收方把获取的公钥、标识签名发送给密文发送方。密文发送方收到公钥、标识签名后,首先用密文接收方的标识验证标识签名,如果验证通过,就用该公钥对消息进行加密操作,把密文和相关加密信息发送给密文接收方。以上所述,仅为本发明中的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种结合标识密码体制和传统公钥密码体制的签名方法,其特征在于,包括如下步骤步骤1.生成标识签名签名发送方选择任意一个公钥密码系统的一对公钥、私钥,然后用自己的标识私钥对所述公钥等信息进行签名,输出标识签名;所述公钥、所述标识签名和其他相关信息可以预先发布在公钥目录里,通过目录服务提供查询下载;也可以在签名接收方的要求下即时选择、计算并发送给签名接收方;步骤2.生成消息签名给定任何消息,所述签名发送方读取所述公钥、所述私钥、所述标识签名和其他相关信息,使用所述私钥对消息进行签名;步骤3.验证消息签名所述签名接收方首先获得所述消息签名、包含在所述消息签名里或从公钥目录获得的所述签名发送方的所述公钥、所述标识签名和其他相关信息;所述签名接收方首先验证所述标识签名,再验证所述消息签名,如果两次验证都通过,整个签名验证才通过。
2.根据权利要求1所述的签名方法,其特征在于,其中的步骤1具体如下 步骤1.所述签名发送方首先从标识密码系统的密钥中心获得标识私钥;步骤2.所述签名发送方选择任意一个公钥密码体制,自行生成一对公私钥;所使用公钥也可以是包含在某个已经存在的PKI证书里的公钥;步骤3.所述签名发送方对所述公钥和其他相关信息,如公钥的使用范围、有效期等信息,用自己的标识私钥对其进行签名操作,生成签名,输出即为标识签名。
3.一种结合标识密码体制和传统公钥密码体制的加密方法,其特征在于,包括如下步骤步骤1.生成标识签名密文接收方选择任意一个公钥密码系统的一对公钥、私钥,然后用自己的标识私钥对所述公钥等信息进行签名,输出标识签名;所述公钥、所述标识签名和其他相关信息可以预先发布在公钥目录里,通过目录服务提供查询下载;也可以在密文发送方的要求下即时选择、计算并发送给密文发送方;步骤2.加密消息给定任何消息,所述密文发送方要给所述密文接收方发送加密消息时,首先获得所述密文接收方标识和所述密文接收方的所述公钥、所述标识签名和其他相关信息,然后验证所述标识签名的正确性,如果正确,使用所述公钥采用适当的加密算法对消息进行加密操作,把密文和相关加密信息发送给所述密文接收方;这里的加密算法包括使用所述公钥对消息直接加密、以及结合使用任何对称加密算法的混合加密等方法;步骤3.解密还原消息所述密文接收方首先获得所述密文和相关加密信息,根据相关加密信息,读取所述私钥,使用所述私钥对所述密文进行解密操作,还原消息。
4.根据权利要求3所述的加密方法,其特征在于,其中的步骤1具体如下 步骤1.所述密文接收方首先从标识密码系统的密钥中心获得所述标识私钥;步骤2.所述密文接收方选择任意一个公钥密码体制,自行生成一对公私钥;所述公钥也可以是包含在某个已经存在的PKI证书里的公钥;步骤3.所述密文接收方对所述公钥和其他相关信息,如公钥的使用范围、有效期等信息,用所述标识私钥对其进行签名操作,生成签名,输出即为所述标识签名。
全文摘要
本发明为一种结合标识密码系统和传统公钥密码系统的方法,可以解决标识密码系统的私钥托管隐患。和其他同类方法比较,如基于证书的密码系统CBE、无证书公钥密码系统CL-PKC或自证书公钥系统SC-PKC,本发明具有公钥密码系统不受限制的优点。本发明提供的方法包括签名方法和加密方法,签名方法包括3个步骤1.生成标识签名;2.生成消息签名;3.验证消息签名;加密方法包括3个步骤1.生成标识签名;2.加密消息;3.解密还原消息。
文档编号H04L9/30GK102215111SQ20111018801
公开日2011年10月12日 申请日期2011年7月6日 优先权日2011年7月6日
发明者周苏静, 王勇刚 申请人:北京中兴通数码科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1