基于密码的秘密加密密钥的生成和管理的方法和系统技术方案

技术编号:15287430 阅读:101 留言:0更新日期:2017-05-10 10:08
提供了用于生成经由网络(4)连接到服务器(2)的用户计算机(3)的秘密加密密钥的方法和装置。在用户计算机(3)处提供秘密用户值。在服务器(2)处提供秘密服务器值,利用校验值编码秘密用户值和用户密码。响应于在用户计算机(3)处输入输入密钥,用户计算机编码秘密用户值和输入密码,以产生对应于所述检验值的第一值,并且经由网络(4)将第一值通信到服务器(2)。作为响应,服务器(2)比较第一值和校验值以校验输入密码是否等于用户密码。如果是,则服务器(2)对第一值和所述秘密服务器值进行编码以产生第二值,并且经由网络(4)将第二值通信给用户计算机(3)。作为响应,用户计算机通过对第二值、输入密码和秘密用户值进行编码来生成秘密加密密钥。

Password based encryption key generation and management

A method and apparatus for generating a secret encryption key for a user computer (3) connected to a server (2) via a network (4) is provided. Providing a secret user value at a user computer (3). A secret server value is provided at the server (2), and a user password is encoded by a checksum value. In response to the user computer (3) at the input key, the user computer user and password secret encoding value, to generate a first value corresponding to the test value, and through the network (4) will be the first value of the communication to the server (2). In response, the server (2) compares the first value and the check value to verify that the input password is equal to the user password. If so, the server (2) encodes the first value and the secret server value to generate a value of second, and the value of the is communicated to the user computer (3) via a network (a). In response, a user computer generates a secret encryption key by encoding a second value, an input password, and a secret user value.

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般涉及基于密码的秘密加密密钥的生成。提供了一种用于基于用户密码的输入在用户计算机处生成秘密加密密钥的方法,以及采用这种方法的相应装置和计算机程序以及密钥管理应用。
技术介绍
加密密钥用于诸如个人计算机、智能电话、平板电脑和其他计算机设备的个人用户设备上的各种目的。这样得密钥例如可以用于签名消息、用于向其他设备认证用户计算机或用于存储在计算机上的敏感数据的加密/解密。通常,加密密钥必须对用户计算机是秘密的,使得密钥不与与用户计算机通信的任何其他计算机共享。这样的秘密密钥的安全管理是有问题的。该密钥应当容易地用于所需的使用,但同时防止未经授权的访问,例如,用户计算机的丢失或被盗。由于不能期望用户记住加密密钥,因此使用存储在用户计算机上的秘密密钥可以受制于用户输入有效的用户密码。然而,典型的用户密码在加密上较弱,并且容易由窃贼使用有效的离线强力攻击猜到。此外,用户通常对其他目的(例如企业电子邮件)使用相同或相似的密码,因此在其他环境中对其密码的妥协可能损害秘密密钥的安全性。已经提出使用可信硬件设备(诸如智能卡或TPM(可信平台模块)芯片)用于秘密密钥的安全管理。然而,这样的设备并不总是可用的,并且它们的使用增加了费用和系统复杂性。其它方法涉及通过经由网络与一个或多个服务器的通信在用户计算机处动态生成密钥。在一个或多个服务器的帮助下从(弱)密码导出(强)加密密钥的问题是密码学中的一个深入研究的问题,例如在密钥交换方案的环境中。在Katz等人在EUROCRYPT2001中的“EfficientPassword-AuthenticatedKeyExchangeUsingHuman-MemorablePasswords(使用人可记忆的密码进行高效的密码认证密钥交换)”以及Canetti等人在EUROCRYPT2005中的“UniversallyComposablePassword-BasedKeyExchange(基于可普遍组合密码的密钥交换)”中讨论了涉及基于弱密码向服务器认证用户并随后导出共享加密密钥的密钥交换方案。在这些方案中,所得到的密钥由用户计算机和服务器共享,并且如果服务器受损,则用户的密码易受到离线暴力攻击。进一步的工作通过使用多个服务器来解决上述问题,所有这些服务器在攻击者可以对服务器安装离线暴力攻击之前必须被攻破。示例描述于:Katz等人在AppliedCryptographyandNetworkSecurity2005中的“Two-ServerPassword-OnlyAuthenticatedKeyExchange(双服务器密码唯一认证密钥交换)”,,;和Camenisch等人在ACMCCS2012中的“Practicalyetuniversallycomposabletwo-serverpassword-authenticatedsecretsharing(实用但可普遍组合的双服务器密码认证的秘密共享)”,,,其中用户自己选择强加密密钥,他可以在他的密码的帮助下从两个服务器检索加密密钥。在暴露用户的密码之前,两个服务器都需要被攻破。此外,美国专利No.6,829,356B1公开了一种客户端-服务器系统,用于通过客户端和多个服务器的交互从用户密码和短暂的客户端秘密生成诸如加密密钥的强秘密。这些服务器包括保存用于生成密钥的各个秘密的秘密保存服务器,以及客户端随后证明成功生成密钥的验证服务器。美国专利No.7,359,507B2描述了使用昂贵的整数运算的前述方案的进一步的变型。非常需要改进的基于密码的密钥生成方案。
技术实现思路
本专利技术的一个方面的一个实施例提供了一种用于在可经由网络连接到服务器的用户计算机处生成用户计算机的秘密加密密钥的方法。该方法包括:在所述用户计算机处提供秘密用户值;在所述服务器处提供秘密服务器值和对所述秘密用户值和用户密码进行编码的校验值;在所述用户计算机处,响应于输入密码的输入,对所述秘密用户值和所述输入密码进行编码以产生对应于所述校验值的第一值,以及经由所述网络将所述第一值通信到所述服务器;在所述服务器处,响应于第一值的通信,比较所述第一值和所述校验值以校验输入密码是否等于用户密码,并且如果是,则对第一值和所述秘密服务器值进行编码以产生第二值,以及经由所述网络将所述第二值通信到所述用户计算机;和在所述用户计算机处,响应于所述第二值的通信,通过对所述第二值、所述输入密码和所述秘密用户值进行编码来生成所述秘密加密密钥。体现本专利技术的一种方法可以经由与单个服务器的交互来提供用户计算机的秘密密钥的安全的基于密码的生成。只要输入有效的密码,就可以生成密钥。服务器可以校验输入密码是否正确,然后才向用户计算机发送密钥生成所需的信息。服务器从不了解用户密码或密钥。通过使用协议操作中的各种值,可以以在服务器或用户计算机被攻破的情况下以安全的方式有效地生成密钥以防止离线密码猜测攻击。此外,可以使用简单的、廉价的算术运算来实现体现本专利技术的方法。因此,本专利技术的实施例提供了用于秘密密钥的安全生成的简练和特别实用的系统。秘密用户值和秘密服务器值可以包括随机值或分别仅分别对于用户计算机和服务器已知的任何(优选地,加密强)秘密。这些秘密值可以作为预先存储在其相应设备的存储器中的结果来提供,或者可以经由体现本专利技术的优选方法中执行的步骤(例如在设置过程中)来主动提供。特别地,优选的方法包括设置过程并且在所述密钥的生成之前:在所述用户计算机处,响应于所述用户密码的输入,对所述秘密用户值和所述用户密码进行编码以产生所述校验值,以及经由所述网络将所述校验值通信到所述服务器;以及在所述服务器处存储所接收的校验值。设置过程可以方便地包括在用户计算机处生成和存储秘密用户值,并且在服务器处生成和存储秘密服务器值。这种设置过程可以包括用于服务器和用户计算机的独立设置操作。设置过程还可以包括第一次密钥的生成。具体地,设置过程可以包括:在所述服务器处,对所述接收的校验值和所述秘密服务器值进行编码以产生所述第二值,并且经由所述网络将所述第二值通信到所述用户计算机;以及在用户计算机处,响应于第二值的通信,通过在加密操作中使用密钥对第二值、用户密码和秘密用户值进行编码来第一次生成秘密加密密钥,以及在使用后删除用户密码、校验值、第二值和密钥。在设置过程中密钥的第一次使用然后可以定义在后续密码操作中使用所需的密钥,例如,用于解密使用在设置过程中生成的密钥加密的盘。当需要时,用户可以重新生成密钥,而不需要存储可被攻击者用来通过用户计算机的未授权使用来获得密钥或密码的信息。优选的方法可以进一步包括:在所述用户计算机处向所述服务器提供用于唯一地标识所述用户计算机的用户标识符;在所述服务器处,向所述用户标识符提供用于所述用户计算机的校验值;以及在所述用户计算机处,用所述第一值将所述用户标识符通信到所述服务器。这样的用户标识符通常可以包括一个或多个元素。为了易于实现和增强的安全性,用户标识符还可以用在密钥生成操作中执行的编码处理中。因此,优选的方法可以包括:在用户计算机处,在第一值和加密密钥中的至少一个并且优选地两个中对用户标识符进行编码;和/或在服务器处,在第二值中对用户标识符进行编码。特别优选的方法还包括:在所述服务器本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/201580045358.html" title="基于密码的秘密加密密钥的生成和管理的方法和系统原文来自X技术">基于密码的秘密加密密钥的生成和管理的方法和系统</a>

【技术保护点】
一种用于在可经由网络连接到服务器的用户计算机处生成所述用户计算机的秘密加密密钥的方法,所述方法包括:在所述用户计算机处提供秘密用户值;在所述服务器处提供秘密服务器值和对所述秘密用户值和用户密码进行编码的校验值;在所述用户计算机处,响应于输入密码的输入,对所述秘密用户值和所述输入密码进行编码以产生对应于所述校验值的第一值,以及经由所述网络将所述第一值通信到所述服务器;在所述服务器处,响应于第一值的通信,比较所述第一值和所述校验值以校验所述输入密码是否等于所述用户密码,并且如果是,则对所述第一值和所述秘密服务器值进行编码以产生第二值,以及经由所述网络将所述第二值通信到所述用户计算机;以及在所述用户计算机处,响应于所述第二值的通信,通过对所述第二值、所述输入密码和所述秘密用户值进行编码来生成所述秘密加密密钥。

【技术特征摘要】
【国外来华专利技术】2014.08.26 GB 1415070.01.一种用于在可经由网络连接到服务器的用户计算机处生成所述用户计算机的秘密加密密钥的方法,所述方法包括:在所述用户计算机处提供秘密用户值;在所述服务器处提供秘密服务器值和对所述秘密用户值和用户密码进行编码的校验值;在所述用户计算机处,响应于输入密码的输入,对所述秘密用户值和所述输入密码进行编码以产生对应于所述校验值的第一值,以及经由所述网络将所述第一值通信到所述服务器;在所述服务器处,响应于第一值的通信,比较所述第一值和所述校验值以校验所述输入密码是否等于所述用户密码,并且如果是,则对所述第一值和所述秘密服务器值进行编码以产生第二值,以及经由所述网络将所述第二值通信到所述用户计算机;以及在所述用户计算机处,响应于所述第二值的通信,通过对所述第二值、所述输入密码和所述秘密用户值进行编码来生成所述秘密加密密钥。2.如权利要求1所述的方法,包括在设置过程中,在生成所述密钥之前:在所述用户计算机处,响应于所述用户密码的输入,对所述秘密用户值和所述用户密码进行编码以产生所述校验值,以及经由所述网络将所述校验值通信到所述服务器;以及在所述服务器处存储所接收的校验值。3.如权利要求2所述的方法,包括在所述设置过程中:在所述用户计算机处,生成和存储所述秘密用户值;以及在所述服务器处,生成和存储所述秘密服务器值。4.如权利要求2或3所述的方法,其中所述设置过程包括:在所述服务器处,对所述接收的校验值和所述秘密服务器值进行编码以产生所述第二值,并且经由所述网络将所述第二值通信到所述用户计算机;以及在所述用户计算机处,响应于所述第二值的通信,通过在加密操作中使用所述密钥对所述第二值、所述用户密码和所述秘密用户值进行编码来第一次生成所述秘密加密密钥,以及载使用后删除所述用户密码、校验值、所述第二值和所述密钥。5.如前述权利要求的任一项所述的方法,包括:在所述用户计算机处向所述服务器提供用于唯一地标识所述用户计算机的用户标识符在所述服务器处,向所述用户计算机提供具有所述校验值的所述用户标识符;以及在所述用户计算机处,用所述第一值将所述用户标识符通信到所述服务器。6.如权利要求5所述的方法,包括在所述用户计算机处,以在所述第一值中编码所述用户标识符。7.如权利要求5或6所述的方法,包括在所述用户计算机处,在所述加密密钥中编码所述用户标识符。8.如权利要求5至7的任一项所述的方法,包括在所述服务器处在所述第二值中编码所述用户标识符。9.如权利要求6至8的任一项所述的方法,包括:在所述服务器处向所述用户计算机提供用于唯一地标识所述服务器的服务器标识符在所述用户计算机处,检索所述服务器标识符并且在所述第一值中编码所述服务器标识符;在所述服务器处,在所述第二值中编码所述服务器标识符;以及在所述用户计算机处,在所述加密密钥中编码所述服务器标识符。10.如前述权利要求的任一项所述的方法,包括经由所述用户计算机和所述服务器的交互来在所述网络上建立安全信道,其中由所述用户计算机和所述服务器进行的所述通信是在所述安全信道上进行的。11.如前述权利要求的任一项所述的方法,包括在所述服务器处根据所述输入密码是否等于所述用户密码来实施节流机制。12.如前述权利要求...

【专利技术属性】
技术研发人员:JL卡梅尼施RR恩德莱因S克伦A莱曼G内文
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1