从非对称私钥生成秘密密钥的制作方法

文档序号:6568106阅读:302来源:国知局
专利名称:从非对称私钥生成秘密密钥的制作方法
技术领域
本发明涉及机密信息的安全,并且更具体地涉及用于加密机密信息的秘密密钥(secret key)的生成。
技术背景对于存储敏感信息或通过安全和不安全的网络等传输敏感信息的那些情 形,机密信息的安全仍然是重大的顾虑。当前,密码术(cryptography)是保护 机密信息的优选方法。在密码术中,安全可以通过加密实现。加密涉及将明 文消息转换为称为密文的数据流,该数据流看起来是毫无意义的并且随机的 比特序列。也称作密码的密码算法是处理输入的明文以产生密文消息的数学函数。 密码算法还可以被配置为处理密文消息以产生明文。所有现代的密码使用密 钥与明文一起作为输入来产生密文。密钥是与密码算法一起工作而产生特定 密文的值。相同或不同的密钥可以被提供到解密函数来从密文恢复明文。存在很多用来利用口令加密和解密信息的技术。通常,加密和解密方法 可以在其性质上分类为对称的和非对称的。用于对称加密的最通常的方法涉 及已知口令的单向散列(hashing )。密码短语散列(passphrase hash)是这样的方 法,其将人类用户可以记住的文本串转换为可用作"鉴别者(authenticator)" 和密码或私钥的伪随机数据的结果,该"鉴别者"可以被存储并在稍后时间 用来检查用户是否知道密码短语。在后一种情况,密码短语散列被称为基于 口令的密钥推导函数(PBKDF)。对称加密的驱动特性是对称加密需要已知 并记住口令。此外,对称加密d数据的安全性随加密密钥的安全性升高和降 低。包括基于散列函数的消息鉴别码的键入散列(keyed hash)使用秘密密钥 结合散列算法来生成消息鉴别码或校验和。用于生成消息鉴别码的类似技术 为同样目的使用最后明文块的一部分,该明文块从用对称密钥算法加密数据 而产生生成仅可以由实体用秘密密钥生成的消息的校验和。这些形式的校验和都依赖于用共享秘密密钥处理消息,以便保护对消息未检测的破坏。两 者都需要使用共享秘密并且都不生成秘密。存在许多基于公钥的鉴别协议,其中第一用户发送询问(challenge)到第二 用户。第二用户可以用与第二用户相关联的私钥加密该询问,并且第二用户 可以将该加密的询问发送到第一用户。第一用户可以用与第二用户相关联的 公有密钥解密该响应,以便确认第二用户拥有对于第二用户的公有密钥并且 应当被认为是可信的。该一般方法用于安全套接字层(SSL)技术和一些基 于证书的工作站登陆方案中。然而, 一般方法仅适于用户的鉴别,而不适于 数据的机密性。发明内容本发明的各实施例解决关于对称密钥生成领域中的缺陷,并且提供了一 种新颖和非显而易见的用于使用非对称私钥进行对称密钥生成的方法、系统和计算机程序产品。在一个实施例中,对称密钥生成数据处理系统可以包括对称密钥生成器,其被配置有可编程接口,该接口包括种子的输入参数、非对称私钥的输入参数、以及对称密钥的输出参数。对称密钥生成器可以包括程序代码,该程序代码使得能够通过用非对称私钥加密种子来生成对称密钥。在实施例的一个方面中,种子可以包括位于种子内的文本警告。而且, 种子可以具有小于或等于非对称私钥的块大小的长度。在实施例的另一方面 中,非对称私钥可以位于密码令牌(cryptographic token)中。在实施例的另 一方 面中,非对称私钥可以位于智能卡中。智能卡还可以通过授权用户已知的PIN 码来保护。在任一种情况中,对称密钥生成数据处理系统还可以包括使得能 够接收生成的对称密钥作为口令等价物的PBKDF函数。另一个实施例可以包括一种对称密钥生成方法。该方法可包括用非对称 私钥加密种子以产生对称密钥,用作限制对资源的访问的口令。在实施例的 一个方面中,用非对称私钥加密种子以产生对称密钥、用作限制对资源的访 问的口令可以包括从智能卡或密码令牌取回非对称密钥,并用所述非对称 私钥加密种子以产生对称密钥,用作限制对资源的访问的口令。可选地,用非对称私钥加密种子以产生对称密钥、用作限制对资源的访 问的口令可以包括在所述种子中插入文本警告,以产生修改的种子,并且 用所述非对称私钥加密所述修改的种子以产生对称密钥,用作限制对资源的200680025338.6 说明书第3/6页访问的口令。此外,用非对称私钥加密种子以产生对称密钥、用作限制对资 源的访问的口令可以包括用所述非对称私钥加密未加密的种子,以产生加密的种子;以及将所述加密的种子与所述未加密的种子组合以产生对称密钥,用作限制对资源的访问的口令。在后一方面中,将所述加密的种子与所述未加密的种子组合以产生对称密钥、用作限制对资源的访问的口令可以包括将所述加密的种子与所述未 加密的种子组合;以及用所述非对称私钥加密所述组合以产生对称密钥,用 作限制对资源的访问的口令。例如,将所述加密的种子与所述未加密的种子 组合以产生对称密钥可包括将所述加密的种子散列,并且连接所述散列的 加密的种子和所述未加密的种子。而且,将所述加密的种子与所述未加密的 种子组合以产生对称密钥可包括用所述未加密的种子作为HMAC产生操作 的密钥、和用加密的种子作为HMAC产生操作的文本,执行散列消息鉴别码 (HMAC)产生操作。本发明的额外方面部分将在下面的描述中陈述,并且部分将从描述而显 而易见,或可以通过本发明的实践学习到。借助于附加的权利要求书中特别 指出的元素和组合,将可以实现并达到本发明的各方面。应当理解,如所声 明的,前面的概括描述和后面的详细描述都仅是示例性和解释性的,并且不 限制本发明。


下面将参照附图仅作为示例来描述本发明的优选实施例 图1是被配置为从非对称私钥产生对称密钥的数据处理系统的示意图 示;以及图2是图示用于从非对称私钥产生对称密钥的方法的流程图。
具体实施方式
本发明的各实施例提供了一种用于从非对称私钥产生对称密钥的方法、 系统和计算机产品。根据本发明的实施例,可以使用非对称私钥加密种子。 私钥可以通过密码令牌或智能卡安全地取回。可选地,智能卡可以是PIN保 护的。随后,加密的种子可以与未加密的种子组合,并且该组合可以使用私 钥加密。最后,作为结果产生的值可以用作访问口令保护的资源的口令等效物的对称密钥。在更具体的图示中,图1是被配置来从非对称私钥产生对称密钥的数据处理系统的示意图示。数据处理系统可以包括耦合到对称密钥生成器220的 计算平台110。对称密钥生成器200可以被配置成处理种子130和非对称私 钥120以产生对称密钥140。可选地,计算平台110可以耦合到智能卡读取 器150以读取存储非对称私钥120的智能卡。智能卡读取器150可选地可以 处理PIN码以验证智能卡。在操作中,对称密钥生成器200可以接收种子130,例如随机生成的值。 对称密钥生成器200可以使用非对称私钥120加密种子130。可选地,为了 增加额外安全层,作为结果产生的种子130的加密形式可以与未加密的种子 130组合,并且对称密钥生成器200可以使用非对称私钥120加密该组合。 作为结果产生的组合可以用作保护对资源的访问的对称密钥14 0 。在对称密钥生成器200的操作的进一步图示中,图2是图示从非对称私 钥产生对称密钥的方法的流程图。以块210和220开始,可以分别取回种子 和私钥两者。种子可以是随机生成的种子值。种子优选地具有小于或等于非 对称密钥的块大小的大小。可选地,种子可以在块230中被分割,并且诸如"安全种子-不要签名"的文本警告可以插入到该种子中。在可选的环境中, 修改的种子的总长度优选地保持小于或等于非对称密钥的块大小。重要地, 与传统口令或密码短语不同,种子不需要被记住或保持为秘密,因为种子可 以是随机生成的(并且可能是不可打印的值)。在块240,种子可以使用非对称密钥加密。例如,加密操作可以实现 Massachusetts USA, Bedford的RSA实验室出版的RSA公有密钥密码标准 (PKCS)弁1方法。在这点上,如果非对称密钥是符合RSA的密钥,则作为 结果产生的加密值在大小上可以等于对于私钥的公有密钥模数。特别地,种 子(或修改的种子)可以被扩充到大小等于按照PKCS#1的公有模数的长度。 接下来,种子的扩充形式可以使用符合RSA的私钥加密。然而,在所有情况, 对本领域技术人员将明显的是,决不在加密前对种子产生散列值。在块250,从加密操作产生的结果值可以与种子(或修改的种子)組合, 以产生对称密钥。例如,作为结果产生的值可以被散列并且与种子(或修改 的种子)连接。作为替代,可以使用种子(或修改的种子)作为HMAC产生 操作的密钥和使用作为结果产生的值作为HMAC产生操作的文本,来执行散列消息鉴别码(HMAC)产生操作。可选地,为了增加额外的安全层,块250中产生的对称密钥在使用非对 称私钥用作另一加密操作的输入后,可以被丟弃作为中间值。特别地,在块 260中,可以删截在块250中产生的对称密钥的最后字节或多个字节,然后 在步骤270进一步加密对称密钥的删截形式。例如,如果在块250中利用 SHA-1散列函数应用HMAC产生操作,则对称密钥的二十个作为结果产生的 字节中的十八个可以用在块270的加密搡作中。在块280,作为结果产生的对称密钥可以用作PBKDF中的口令。再次, 作为添加额外安全层的选#^,可以仅使用部分对称密钥作为口令,或可以使 用对称密钥的散列。然而,作为前述方法的结果,作为结果产生的对称密钥 的安全性唯一地基于私钥的安全性,该私钥可以进一步在智能卡中保护。可 选地,智能卡还可以通过对授权用户使用PIN码来保护。因此,终端用户可 以摆脱记忆秘密密钥和保持秘密密钥的秘密性。含硬件和软件元素两者的实施例的形式。在优选实施例中,本发明以软件实 现,该软件包括但不限于固件、驻留软件、微码等。此外,本发明的各实施 例可以采取计算机程序产品的形式,该计算机程序产品可从计算机可用的或 计算机可读的介质访问,该介质提供由计算机或任何指令执行系统使用或与 其结合使用的程序代码。为了该描述的目的,计算机可用的或计算机可读的介质可以是任何可以 包含、存储、传送、传播或传输程序的装置,该程序用于由指令执行系统、 装置或设备使用或与其结合使用。该介质可以是电、磁、光、电磁、红外、 或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括半 导体或固态存储器、磁带、可移除计算机卡软盘、随机存取存储器(RAM)、 只读存储器(ROM)、刚性磁盘和光盘。当前光盘的实例包括致密盘-只读存 储器(CD-ROM )、致密盘-读/写(CD-R/W)和DVD。适于存储和/或执行程序代码的数据处理系统将包括至少 一个通过系统 总线直接或间接耦合到存储器元件的处理器。存储器元件可以包括在程序代 码的实际执行期间采用的本地存储器、大容量存储器、以及高速緩冲存储器, 该高速緩沖存储器提供至少 一些程序代码的暂时存储,从而减少在执行期间 必需从大容量存储器取回的代码的次数。输入/输出或1/0设备(包括但不限于键盘、显示器、指向设备等)可以直接或通过居间的1/0控制器耦合到系 统。网络适配器还可以耦合到系统,以使得数据处理系统能够通过居间的私 有或公共网络,变得耦合到其他数据处理系统或远程打印机或存储设备。调 制解调器、电缆调制解调器和以太网卡仅是当前可用的网络适配器的一些类 型。
权利要求
1.一种对称密钥生成数据处理系统,包括;配备有编程接口的对称密钥生成器,该编程接口包括种子的输入参数、非对称私钥的输入参数、以及对称密钥的输出参数;所述对称密钥生成器包括程序代码,其使得能够通过用所述非对称私钥加密所述种子来生成所述对称密钥。
2. 如权利要求1所述的数据处理系统,其中所述种子包括位于所述种子 中的文本警告。
3. 如权利要求1所述的数据处理系统,其中所述种子包括小于或等于所 述非对称私钥的块大小的长度。
4. 如权利要求1所述的数据处理系统,其中所述非对称私钥位于密码令 牌中。
5. 如权利要求1所述的数据处理系统,其中所述非对称私钥位于智能卡中。
6. 如权利要求1所述的数据处理系统,还包括基于口令的密钥推导函数 PBKDF,其使得能够接收所述生成的对称密钥作为口令。
7. —种对称密钥生成方法,包括用非对称私钥加密种子以产生对称密 钥,用作限制对资源的访问的口令等效物。
8. 如权利要求7所述的方法,其中所述用非对称私钥加密种子以产生对 称密钥、用作限制对资源的访问的口令等效物包括从智能卡取回非对称密钥;以及用所述非对称私钥加密种子以产生对称密钥,用作限制对资源的访问的 口令等效物。
9. 如权利要求7所述的方法,其中所述用非对称密钥加密种子以产生对 称密钥、用作限制对资源的访问的口令等效物包括从密码令牌取回非对称密钥;以及用所述非对称私钥加密种子以产生对称密钥,用作限制对资源的访问的 口令等效物。
10. 如权利要求7所述的方法,其中所述用非对称私钥加密种子以产生 对称密钥、用作限制对资源的访问的口令等效物包括在所述种子中插入文本警告,以产生修改的种子;以及 用所述非对称私钥加密所述修改的种子以产生对称密钥,用作限制对资 源的访问的口令等效物。
11. 如权利要求7所述的方法,其中所述用非对称私钥加密种子以产生 对称密钥、用作限制对资源的访问的口令等效物包括用所述非对称私钥加密未加密的种子,以产生加密的种子;以及 将所述加密的种子与所述未加密的种子组合以产生所述对称密钥,用作限制对资源的访问的口令等效物。
12. 如权利要求11所述的方法,其中将所述加密的种子与所述未加密的 种子组合以产生所述对称密钥、用作限制对资源的访问的口令等效物包括将所述加密的种子与所述未加密的种子组合;以及 用所述非对称私钥加密所述组合以产生所述对称密钥,用作限制对资源 的访问的口令等效物。
13. 如权利要求11所述的方法,其中所述将所述加密的种子与所述未加 密的种子组合以产生所述对称密钥、用作限制对资源的访问的口令等效物包 括将所述加密的种子散列;以及 连接所述散列的加密的种子和所述未加密的种子。
14. 如权利要求11所述的方法,其中所述将所述加密的种子与所述未加 密的种子组合以产生所述对称密钥、用作限制对资源的访问的口令等效物包 括用所述未加密的种子作为散列消息鉴别码HMAC产生操作的密钥、和用 所述加密的种子作为所述HMAC产生操作的文本,执行所述HMAC产生操作。
15. —种包括计算机可用介质的计算机程序产品,所述计算机可用介质具有用于对称密钥生成的计算机可用程序代码,所述计算机程序产品包括用 非对称私钥加密种子来生成对称密钥、用作限制对资源的访问的口令等效物的计算机可用程序代码。
16. 如权利要求15所述的计算机程序产品,其中所述用非对称私钥加密 种子来生成对称密钥、用作限制对资源的访问的口令等效物的计算机可用程 序代码包括用于从智能卡取回非对称密钥的计算机可用程序代码;以及用于用所述非对称私钥加密种子以产生对称密钥、用作限制对资源的访 问的口令等效物的计算机可用程序代码。
17. 如权利要求15所述的计算机程序产品,其中用于用非对称私钥加密 种子来生成对称密钥、用作限制对资源的访问的口令等效物的所述计算机可 用程序代码包括用于从密码令牌取回非对称密钥的计算机可用程序代码;以及 用于用所述非对称私钥加密种子以产生对称密钥、用作限制对资源的访 问的口令等效物的计算机可用程序代码。
18. 如权利要求15所述的计算机程序产品,其中用于用非对称私钥加密 种子以产生对称密钥、用作限制对资源的访问的口令等效的所述计算机可用 程序代码包括用于将文本警告插入所述种子以产生修改的种子的计算机可用程序代 码;以及用于用所述非对称私钥加密所述修改的种子以产生对称密钥、用作限制 对资源的访问的口令等效物的计算机可用程序代码。
19. 如权利要求15所述的计算机程序产品,其中用于用非对称私钥加密 种子以产生对称密钥、用作限制对资源的访问的口令等效物的所述计算机可 用程序代码包括用于用所述非对称私钥加密所述未加密的种子以产生加密的种子的计算 机可用程序代码;以及用于将所述加密的种子和所述未加密的种子组合以产生所述对称密钥、 用作限制对资源的访问的口令等效物的计算机可用程序代码。
20. 如权利要求19所述的计算机程序产品,其中用于将所述加密的种子 和所述未加密的种子组合以产生所述对称密钥、用作限制对资源的访问的口 令等效物的所述计算机可用程序代码包括用于将所述加密的种子与所述未加密的种子组合的计算机可用程序代 码;以及,用于用所述非对称私钥加密所述组合以产生所述对称密钥、用作限制对 资源的访问的口令等效物的计算机可用程序代码。
21. 如权利要求19所述的计算机程序产品,其中用于将所述加密的种子和所述未加密的种子组合以产生所述对称密钥、用作限制对资源的访问的口令等效物的所述计算机可用程序代码包括用于散列所述加密的种子的计算机可用程序代码;以及,用于连接所述散列的加密的种子和所述未加密的种子的计算机可用程序代码。
22.如权利要求19所述的计算机程序代码,其中用于将所述加密的种子 和所述未加密的种子组合以产生所述对称密钥、用作限制对资源的访问的口 令等效物的所述计算机可用程序代码包括用所述未加密的种子作为散列消 息鉴别码HMAC产生搡作的密钥、和用所述加密的种子作为所述HMAC产 生操作的文本,执行所述HMAC产生操作的计算机可用程序代码。
全文摘要
本发明的各实施例解决关于对称密钥生成领域中的缺陷,并提供了一种使用非对称私钥进行对称密钥生成的方法、系统和计算机程序产品。在一个实施例中,对称密钥生成数据处理系统可以包括配备有编程接口的对称密钥生成器,该编程接口包括种子的输入参数、非对称私钥的输入参数、以及对称密钥的输出参数。对称密钥生成器可以包括使得能够通过用非对称私钥加密种子来生成对称密钥的程序代码。
文档编号G06F21/02GK101218589SQ200680025338
公开日2008年7月9日 申请日期2006年7月4日 优先权日2005年7月12日
发明者戴维·S·克恩, 艾伦·埃尔德里奇 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1