ImageVerifierCode 换一换
格式:PDF , 页数:50 ,大小:21.91MB ,
资源ID:5779212      下载积分:30 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zhuanlichaxun.net/d-5779212.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一种由简单用户密码生成多因素个性化服务器强密钥的系统及其方法.pdf)为本站会员(1**)主动上传,专利查询网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知专利查询网(发送邮件至2870692013@qq.com或直接QQ联系客服),我们立即给予删除!

一种由简单用户密码生成多因素个性化服务器强密钥的系统及其方法.pdf

1、(10)申请公布号 CN 103370688 A (43)申请公布日 2013.10.23 CN 103370688 A *CN103370688A* (21)申请号 201180037077.0 (22)申请日 2011.07.28 2166/MUM/2010 2010.07.29 IN G06F 7/04(2006.01) (71)申请人 尼尔默尔朱萨尼 地址 印度孟买 (72)发明人 尼尔默尔朱萨尼 (74)专利代理机构 北京海虹嘉诚知识产权代理 有限公司 11129 代理人 周晓娜 (54) 发明名称 一种由简单用户密码生成多因素个性化服务 器强密钥的系统及其方法 (57) 摘要 本发

2、明提供了一种用简单密码生成多因素加 密密钥的方法, 以对通过至少一个通讯网络从第 一实体存储在第二实体的信息进行控制。一个实 施例中, 该方法通过以下方式实现 : 请求第一实 体通过通讯网络从第二实体接收应用程序 ; 激活 第一实体生成共享密钥, 其中共享密钥根据第一 实体专用 ID 和第一与第二实体生成的随机数计 算得出 ; 允许用户由第一实体注册第二实体的应 用程序, 其中注册包括输入个人 PIN (个人识别码) 和个人信息等。 (30)优先权数据 (85)PCT申请进入国家阶段日 2013.01.28 (86)PCT申请的申请数据 PCT/IN2011/000501 2011.07.28

3、 (87)PCT申请的公布数据 WO2012/014231 EN 2012.02.02 (51)Int.Cl. 权利要求书 3 页 说明书 20 页 附图 21 页 按照条约第 19 条修改的权利要求书 3 页 按照条约第 19 条修改的声明或说明 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书20页 附图21页 按照条约第19条修改的权利要求书3页 按照条约第19条修改的声明或说明2页 (10)申请公布号 CN 103370688 A CN 103370688 A *CN103370688A* 1/3 页 2 1. 一种由简单密码生成多因素加密密钥

4、的方法, 以对通过至少一个通讯网络从第一实 体存储在第二实体的信息进行控制, 该方法包括 : 具有预安装的应用程序或请求通过通讯网络在第一实体从第二实体接收应用程序 ; 激活第一实体生成共享密钥, 其中共享密钥根据第一实体专用 ID 和第一实体和第二 实体处生成的随机数计算得出 ; 及 使用户由第一实体注册第二实体应用程序, 其中注册包括输入个人识别号 (PIN) 、 个人 信息等。 2. 根据权利要求 1 所述的方法, 其特征在于, 存储的信息包括代金卡账户、 信用卡账 户、 忠诚账户 (loyalty account) 和 / 或银行账户的交易相关数据或身份验证相关数据或 加密相关数据。

5、3. 根据权利要求 1 所述的方法, 其特征在于, 激活还包括如下步骤 : 第一实体生成随机数, 其中随机数由标准密码随机数生成器生成 ; 计算第一实体专用 ID, 其中专用 ID 对于每个实体均不同 ; 及 将随机数和第一实体专用 ID 传递给第二实体。 4. 根据权利要求 3 所述的方法, 其特征在于, 还包括 : 第二实体从第一实体接收随机数和第一实体专用 ID ; 第二实体生成随机数, 其中随机数由标准密码随机数生成器生成 ; 及 根据第一实体专用 ID、 第二实体随机数、 第一实体处生成的随机数生成激活码 ; 及 将激活码通过至少一个可用通信网络传递给第一实体。 5. 根据权利要求

6、3 所述的方法, 其特征在于, 还包括 : 从第二实体接收激活码 ; 通过校验第一实体专用 ID 来验证接收到的激活码 ; 及 存储第一和第二实体的生成随机数。 6. 根据权利要求 1 所述的方法, 其特征在于, 第一实体注册第二实体应用程序的步骤 包括 : 初始化第一和第二实体以使用密码随机字符串生成器生成随机有序项目集, 其中随机 有序项目集包括字节、 图像、 声音、 字符等 ; 按照有序项目集中的项目位置将第一实体接收的用户密码映射到索引位置的有序列 表 ; 将索引位置的列表传递至第二实体 ; 将接收到的索引位置的列表映射到第二实体随机有序字符数组中对应的字符, 以破译 第二实体查看到的

7、由用户在第一实体输入的密码并推导出用户专用第二实体密钥 ; 及 在每次输入密码后和第二实体每次身份验证尝试后, 分别对第一实体和第二实体的随 机有序项目数组进行伪随机洗牌, 以使洗牌与第一实体同步。 7. 根据权利要求 6 所述的方法, 其特征在于, 第一实体接收的用户密码用于生成屏蔽 一次性密码 (MOTP) , 其中, MOTP 是根据在服务器端破译服务器端所看到的用户密码的验证 者。 8. 根据权利要求 6 所述的方法, 其特征在于, 第一实体处用户密码接收成旋转格式布 局, 包括字符、 图形、 字节、 图案、 声音等。 权 利 要 求 书 CN 103370688 A 2 2/3 页

8、3 9. 根据权利要求 6 所述的方法, 其特征在于, 用户输入的密码在传递给服务器之前在 用户设备上的始终使用变换矩阵进行转换, 且服务器使用另一变换矩阵推导出与客户端同 步生成的不同密码。 10. 根据权利要求 1 所述的方法, 其特征在于, 该方法决不将密码以原始的形式存储在 客户端设备或服务器上。 11.根据权利要求1所述的方法, 其特征在于, 第一实体是用户和/或商户, 第二实体是 服务器, 所述服务器包括一个或多个应用模块。 12. 一种通过在客户端设备上生成一次性使用动态密码进行支付交易的安全支付方 法, 其中, 该方法包括 : 激活客户端设备生成共享密钥, 其中共享密钥根据客户

9、专用 ID 和客户端设备和服务 器处生成的随机数计算得出 ; 及 使用户由客户端设备向服务器注册, 其中注册包括输入 PIN、 个人签名信息和资金来源 等 ; 及 在客户端设备上生成时间同步的一次性使用财务授权, 其中, 财务授权为授权财务交 易的与时间相关的一次性使用密码, 且财务授权取决于用户 PIN。 13. 根据权利要求 12 所述的方法, 其特征在于, 还包括 : 具有预安装的应用程序或请求通过至少一个通讯网络在客户端设备从服务器接收应 用程序。 14. 根据权利要求 12 所述的方法, 其特征在于, 客户端设备生成的财务授权包括虚拟 账号, 其中财务授权可表示为动态虚拟信用卡或 T

10、AN。 15. 根据权利要求 14 所述的方法, 其特征在于, 若财务授权用于信用卡网络, 则财务授 权包括动态虚拟信用卡号、 到期日、 CVV 或信用卡其它相关信息。 16. 根据权利要求 14 所述的方法, 其特征在于, 若财务授权用于具有应用程序的商户, 则财务授权为 TAN, 其中 TAN 用条形码表示。 17. 根据权利要求 12 所述的方法, 其特征在于, 还包括 : 服务器上, 根据财务授权为交易识别并验证客户端设备。 18. 根据权利要求 12 所述的方法, 其特征在于, 其中注册包括如下步骤 : 服务器向客户端分配与时间相关的客户识别号 (TCID) 加密密钥、 唯一用户识别

11、号、 唯 一用户识别密钥映射布局, 其中, 唯一识别密钥映射布局包括特定时隙处的唯一用户识别 号和密钥映射的组合。 19. 根据权利要求 18 所述的方法, 其特征在于, 时间相关的客户识别号加密密钥用于 在将其插入到虚拟信用卡号前对与时间相关的客户识别号加密。 20. 根据权利要求 19 所述的方法, 其特征在于, 还包括 : 根据与时间相关的客户识别号计算校验位, 其中, 校验位值用于确定与时间有关的加 密的客户识别号和 MOTP 的一部分在虚拟账号中的分布方案。 21. 根据权利要求 19 所述的方法, 其特征在于, 与时间相关的客户识别号在虚拟账号 中是 6 至 8 位。 22. 根据

12、权利要求 16 所述的方法, 其特征在于, 还包括 : 扫描读取条形码或输入第三方实体在客户端设备生成的 TAN ; 权 利 要 求 书 CN 103370688 A 3 3/3 页 4 将扫描的条形码或 TAN 传递给服务器 ; 及 服务器验证 TAN 触发对交易结果进行确认。 23. 根据权利要求 22 所述的方法, 其特征在于, 扫描步骤包括通过有线或无线通信手 段接收 TAN, 其中无线通信手段包括近场通讯。 24. 根据权利要求 22 所述的方法, 其特征在于, 客户端设备和第三方实体接收交易结 果的即时确认, 其中即时确认可通过来自于相同通讯网路的短讯服务 (SMS) 、 电子邮件

13、或其 它任何实时确认方式发送给用户。 25. 根据权利要求 24 所述的方法, 其特征在于, 实时确认信息包括用户个人签名信息 的一部分, 以验证最终用户的真实性。 26. 根据权利要求 24 所述的方法, 其特征在于, 客户端设备是用户, 第三方实体是商 户, 而商户可为另一用户。 27. 根据权利要求 16 所述的方法, 其特征在于, 条形码为一维或二维条形码, 包括 EZ 码、 数据矩阵码 (a data matrix code) 和快速响应 (QR) 码。 28. 一种使用用户设备兑现多个商户发行的优惠券的优惠券安全提供和兑现方法, 其 中, 所述多个优惠券存储在服务器中, 该方法包括

14、 : 在用户设备上激活优惠券应用程序后以便看到多个优惠券兑现选项消息, 其中优惠券 兑现选项消息包括用于识别商户的信息和优惠券价值 ; 生成优惠券授权号 (CAN) , 图示与条形码相同, 其中 CAN 是一种授权优惠券兑现的与时 间相关的一次性使用密码 ; 扫描读取条形码或输入商户在客户端设备生成的 CAN ; 以及 服务器对 CAN 验证触发用户设备和商户对交易结果确认。 29.根据权利要求28所述的优惠券安全提供和兑现方法, 其特征在于, CAN验证步骤包 括 : 根据生成的优惠券授权号 (CAN) 识别用户 ; 获取服务器存储的有关该特定用户的多个优惠券 ; 及 仅发送该商户可兑现的相

15、关优惠券。 30. 根据权利要求 29 所述的优惠券安全提供和兑现方法, 其特征在于, 还包括 : 商户仅按照接收到的优惠券给用户所购产品打折。 权 利 要 求 书 CN 103370688 A 4 1/20 页 5 一种由简单用户密码生成多因素个性化服务器强密钥的系 统及其方法 技术领域 0001 本发明涉及密码保护和身份验证, 特别涉及一种由简单身份验证密码生成多因素 强安全加密密钥的系统及其方法。 背景技术 0002 在线数据和服务的安全性和保密性是大多数互联网用户最关心的一个问题。 目前 有很多系统和方法能为互联网用户提供安全性和保密性。 身份验证系统常用于对试图访问 在线存储的数据的

16、用户的身份进行验证。 0003 互联网使用户可从实际的任何地方快速有效地利用各种服务。 互联网上交易一旦 发生, 用户需要向第三方网站和应用程序说明保密信息。为简化和加快以后与第三方供应 商的交易, 此类保密信息会被第三方供应商储存起来。 目前, 第三方服务器应用程序将用户 的保密信息, 如信用卡号等, 存储在他们的数据库中。 用户的保密或敏感信息存储在第三方 供应商的存储器中的一个缺点是, 用户的保密或敏感信息可能会被未授权方访问、 修改或 拦截。 为避免出现此类问题, 第三方应用程序供应商采用数据加密方法, 这样敏感信息以加 密的形式存储起来。然而, 只有当加密数据的密钥安全时, 这种方法

17、才安全。另外, 由于服 务器上所有用户的数据加密使用的是同一个服务器密钥, 若密钥泄露, 会丢失所有用户的 保密数据。 0004 克服上述问题的一个解决方案是, 使用不同的密钥, 如密码, 来保护单个用户的数 据, 密钥由最终用户选择。 然后使用密码对用户的保密数据进行加密, 密码不存储在服务器 上。但需要一个安全的方法将密码传送给服务器。使用密码保护在线资源已有相当长的 一段时间。但众所周知, 使用密码也有它的缺点。例如, 用户密码在使用时, 尤其是在传送 时, 很容易被盗。另一个问题是, 由于密码实际上是静态的, 因此很容易被攻击者猜到。密 码由一个因素构成, 如 “用户知道什么” 。为提

18、高安全性, 用户应使用更多的因素以增强身 份要求, 这靠硬件令牌或其它用户持有的东西来实现。因此, 第二个因素是 “用户持有的东 西? ” 。硬件令牌充当密钥来访问敏感在线数据。但用户必须保管好硬件令牌, 它很容易丢 失或损坏。例如, 对某个设备或共享密钥信息, 如 PIN, 进行物理访问的令牌可能是一把与 同步服务器密钥相匹配的转动钥匙。此类系统除需要 “用户知道什么” , 即密码, 外, 还需要 “用户持有的东西” , 即令牌, 因此它是 “二因素” 身份验证系统。不幸的是, 此类二因素身份 验证系统的每个令牌价格昂贵、 容易丢失, 且通常仅限用于特定计算机网络的一种或多种 网络资源。另外

19、, 对于用户来说, 携带硬件令牌或网格卡等小工具并不是很方便, 因此很多 公司开始考虑使用用户的已有设备来替代该小工具, 包括在用户的个人设备上安装软件, 如笔记本电脑、 台式电脑、 移动设备或iPod。 软件安装到用户设备上后会产生一个一次性密 码 (OTP) , OTP 对用户身份进行验证。OTP 仅对一次使用有效, 因此对于克服静态密码的缺 点, OTP 是一个比较合适的解决方案。 0005 现有验证系统中存在的另一个问题是, 用户设备 (如笔记本电脑或移动设备) 可能 说 明 书 CN 103370688 A 5 2/20 页 6 会被盗而落入不法之手, 这种情况下甚至诈骗者可能使用用

20、户设备上的软件生成OTP。 常使 用个人识别码 (PIN) 或密码来防止非法访问软件。只有设备的所有者知道该 PIN/ 密码, 因 此诈骗者无法访问用户设备上的软件。现在为让该解决方案产生预期作用, 用户设备上的 软件应能对 PIN/ 密码进行验证。由于用户设备未设置安全保护, 因此存储在用户设备上的 PIN/ 密码可被未授权人员发现。保护 PIN/ 密码的一个解决方案是使用单向散列函数。众 所周知, 不可能根据哈希值反向求出密码 /PIN。但攻击者可从用户设备上复制软件应用程 序或哈希值并将其输入个人电脑 (PC) 。 可尝试输入PIN/密码的不同组合, 直至输入正确的 PIN密码。 为克服

21、这一问题, 可写入用户设备应用程序以限制尝试次数并在连续多次输入错 误 PIN 时禁用该软件。但这一限制很容易通过复制电脑中的应用程序和重新启动来克服。 因此, 将 PIN/ 密码存储在客户端设备上, 甚至以加密的形式存储的解决方案并不安全。 0006 即使用 OTP 解决了静态密码的问题, 但仍然面临着使用多样化的用户专用密钥对 服务器上的数据进行加密的问题。由于 OTP 每次均会改变, 因此它本身不能用于对服务器 上的数据进行加密。因此, 一个可行的解决方案是使用 OTP 验证用户并使用第二个密码加 密服务器上的敏感数据。这里将第二密码传递给服务器同样面临上述相同问题。另外, 用 户需要记

22、住两个密码 /PIN 很不方便, 一个是客户端设备的密码 /PIN, 另一个是服务器端加 密的密码 /PIN。用户已需要记住各种的在线服务密码, 因此增加需要记住的密码并不是一 个好主意。 0007 鉴于以上所述, 需要一种改进的多因素身份验证系统以克服上述一个或多个当前 身份验证系统的前述的缺点。 发明内容 0008 本发明的一个方面是解决至少一个上述问题和 / 或缺点并提供至少一个下述优 势。 0009 因此, 本发明的一方面是提供一种用简单用户密码生成多因素加密密钥的方法, 以对通过至少一个通讯网络从第一实体存储在第二实体的信息进行控制, 该方法包括 : 请 求第一实体通过通讯网络从第二

23、实体接收应用程序 ; 激活第一实体生成共享密钥, 其中共 享密钥根据第一实体专用 ID 和第一与第二实体生成的随机数计算得出 ; 允许用户由第一 实体登记第二实体的应用程序, 其中注册包括输入个人 PIN(个人识别码) 和个人签名信息 等。 0010 本发明的另一方面是提供一种通过在客户端设备上生成一次性使用动态密码进 行支付交易的安全支付方法, 该方法包括 : 激活客户端设备生成共享密钥, 其中共享密钥根 据客户端专用 ID、 客户端和服务器生成的随机数计算得出 ; 允许用户通过客户端注册服务 器, 其中注册包括输入 PIN(个人识别码) 、 个人签名信息和资金来源等 ; 在客户端设备上生

24、成时间同步的一次性使用财务授权, 其中财务授权是用于财务交易的与时间有关的一次性 使用密码, 财务授权根据用户 PIN 确定。 0011 本发明的另一个方面是提供一种使用用户设备兑现多个商户发放的优惠券的优 惠券安全提供和兑现方法, 其中所述多个优惠券存储在服务器中, 该方法包括 : 激活用户设 备上的优惠券应用程序以识别多个优惠券兑现选项消息, 其中优惠券兑现选项消息包括识 别商户和优惠券价值的信息 ; 在条形码中生成相同图示和优惠券授权号 (CAN) , 其中 CAN 是 说 明 书 CN 103370688 A 6 3/20 页 7 一种用于授权兑现优惠券的与时间有关的一次性使用密码 ;

25、 扫描读取条形码或手动输入商 户在用户设备上生成的 CAN ; 服务器验证 CAN 触发在用户设备和 m 上对交易结果进行确认。 0012 以下结合附图通过对本发明的示例性实施例进行详细说明, 该技术领域的技术人 员可清楚理解本发明的其它方面、 优点和显著特征。 附图说明 0013 以下结合附图进行详细说明, 可清楚理解本发明某些示例性实施例的上述及其它 方面、 特征和优点。 0014 图 1 为适合于实施本发明实施例的客户端 - 服务器结构的总体框图。 0015 图 2 为根据本发明一个实施例的设备激活过程的流程图。 0016 图 3 为客户端屏蔽一次性密码 (MOTP) 生成过程和服务器端

26、对应的 MOTP 解码过程 的框图。 0017 图 4 为客户端或用户设备 MOTP 生成过程的流程图。 0018 图 5 为根据本发明一个实施例使用用户设备中的用户密码生成的 MOTP 在服务器 中生成用户专用多因素独立服务器密钥的流程图。 0019 图 6 为根据本发明一个实施例用户密码 /PIN 与服务器端敏感数据存储相关联的 实例。 0020 图 7 为根据本发明一个实施例用户密码转换成服务器密码的实例。 0021 图 8 为根据本发明一个实施例客户端和服务器端密钥映射转换的实例, 其中, 客 户端数组 CRS 包括多个字母。 0022 图 9 为根据本发明实施例的客户端密码输入方法的

27、流程图。 0023 图 10 为包括密码输入字符和图形的旋转格式布局的虚拟键盘的不同实例。 0024 图 11 为根据本发明一个实施例的 16 位信用卡编号制。 0025 图 12 根据本发明一个实施例的动态信用卡号的典型最终用户注册的框图。 0026 图 13 为根据本发明一个实施例动态信用卡注册时服务器端生成 UID 和 SCRS 的流 程图。 0027 图 14 为根据本发明一个实施例客户端服务器生成信用卡号的虚拟账号部分的框 图。 0028 图 15 为根据本发明一个实施例根据服务器端上的虚拟账号识别客户端的流程 图。 0029 图 16A 和 16B 为根据本发明一个实施例 UID、

28、 SCRS 和 TCID 作为动态信用卡系统使 用的实例。 0030 图 17 为根据本发明一个实施例的 16 位 TAN 编号制。 0031 图 18 为使用用户密码在服务器中生成多因素强密钥的系统。 0032 图 19 为根据本发明一个实施例通过在客户端设备上生成一次性使用动态虚拟信 用卡号进行支付交易的安全支付系统。 0033 图 20 为根据本发明一个实施例使用用户设备的安全支付系统。 0034 图 21 为根据本发明一个实施例的使用用户设备对一个或多个商户发放的优惠券 进行兑现的优惠券安全提供和兑现系统, 其中, 一个或多个优惠券存储在服务器中。 说 明 书 CN 103370688

29、 A 7 4/20 页 8 0035 图 22 为可完全或部分执行的合适的密码保护计算环境的实例。 0036 该领域技术人员应充分理解的是, 图中元件以简明清晰的方式进行说明而不是按 规定比例绘制。 例如, 图中一些元件的尺寸可能相对于其它元件进行了放大, 以帮助理解本 发明的各个示例性实施例。 0037 整个附图中应注意的是, 附图标记相同的附图标记用于描述相同或类似元件、 特 征和结构。 具体实施方式 0038 以下优选实施例的详细说明中参考了附图。附图构成具体实施例的一部分, 本发 明可能的具体实施例说明中对它进行了展示。在不偏离本发明范围的情况下, 可采用其它 实施例和对结构做出一些改

30、变。 0039 图中附图标记的前导数位一般对应于第一次引入该部件的附图的编号, 这样相同 组件在多个图中出现时可使用相同的附图标记。相同的附图标记或标签可能指信号和连 接, 因此实际意思应根据具体说明来判断。 0040 说明书中所述的本发明的特征、 结构或特点能够以合适方式在一个或多个实施例 中进行组合。例如, 本说明书中提到的 “某些实施例” 、“一些实施例” 或其它类似语言指本 发明的至少一个实施例也包括该实施例所述的一个特定特征、 结构或特点。 因此, 本说明书 中出现的 “某些实施例中” 、“说明性实施例中” 、“某个实施例中” 、“其它实施例中” 短语或其 它类似语言并不一定指的是同

31、一组实施例, 且所述特征、 结构或特点可在一个或多个实施 例中以合适方式进行组合。 0041 另外, 本发明的说明中还参考了许多工业标准算法和密码系统, 应理解的是它们 仅作为实例使用且在不偏离本发明范围的情况下可做出一些改变。 伪随机数、 校验和、 校验 位和 OPT 值为该技术领域所熟知, 以下说明书对某些特定算法的具体参考不具限制性, 该 技术领域普通技术人员应清楚的是其它类似实施例或实施方式可代替它们使用。 0042 图 1 为适合于实施本发明实施例的客户端 - 服务器结构的总体框图。该环境中, 客户端计算机通过网络连接与服务器连接。这些服务器连接到一个搜索引擎数据库。下面 详细论述服

32、务器的作用。 客户端计算机包括一个可访问主存储器和辅助存储器的中央处理 器 (CPU) 。主存储器包括一个网络浏览器副本 (图中未示出) 。为方便以下论述, 假定所述网 络浏览器是 Redmond 和 Wash 微软公司生产的微软因特网浏览器。主存储器也有操作系统 副本 (图中未示出) 。 主存储器另外还有注册表 (图中未示出) , 注册表有注册的配置信息。 客 户端计算机还可包括许多输入/输出设备, 输入/输出设备包括视频显示器、 键盘、 鼠标、 调 制解调器和音频扬声器。 0043 该技术领域的技术人员应理解的是, 图 1 中所示的计算机环境仅作说明之用。本 发明还可用于其它计算环境, 但

33、不限于移动设备、 手机、 ipod、 ipad 和其它包括硬件令牌的 个人数字助理。例如, 本发明可应用于客户端计算机包括多个处理器的多处理器环境。另 外, 客户端计算机不需要包括图 1 中所示的所有输入 / 输出设备, 且还可包括更多输入 / 输 出设备。该技术领域的技术人员应理解的是, 本发明还可应用于内联网且更普遍用于客户 端计算机要从服务器计算机获取资源的分布式环境中。 0044 图 2 为根据本发明一个实施例的设备手动模式中的激活过程的流程图。激活过程 说 明 书 CN 103370688 A 8 5/20 页 9 包括在最终用户设备上生成初始密钥并与安全存储提供器 (以下简称服务器

34、) 共享以生成 共享密钥 (K) 。密钥包括两个组件 ; 设备专用 ID(CGDID) 和使用标准密码随机数生成器生 成的随机数 (CR) 。设备专用 ID 只有各个最终用户设备才有, 其中若为移动设备, 则设备专 用 ID 可能是 MSISDN(MSISDN 是唯一识别 GSM 中订阅的数) 数的函数或 IMIE(IMIE 是国际 移动用户识别码) 数的函数。始终在设备本身上进行计算, 且该设备上的每次计算保证相 同。设备专用 ID 不存储在该设备上, 但客户端生成的随机数 (CR) 存储在该设备上。密钥 是根据这两个数据对复合数据结构的反向计算。该密钥可打印 / 人为可读, 传递给服务器。

35、 服务器对该密钥的组件进行计算, 即设备 ID(CGDID) 和随机数 (CR) 。 0045 然后服务器使用标准密码随机数生成器算法产生随机数 (SR) 。 该随机数对于每个 激活过程是不同且独特的, 且每个最终用户设备均生成该随机数。使用该随机数 (SR) 和设 备 ID(CGDID) 创建复合数据结构, 设备激活码。设备激活码为可打印 / 人为可读形式。设 备激活码通过使用带外信道, 比如 Email 或 SMS 传递给最终用户。 0046 最终用户设备需要最终用户输入该设备激活码以继续进行激活阶段。最终用户 可通过对其进行反汇编和验证编入其中的设备 ID 来验证它是否为正确的激活码。激

36、活码 的剩余部分, 即服务器上生成的随机数 (SR) 用作此后进行进一步处理的共享密钥的一个组 件。因此, 最终的共享密钥 (K) 包括设备 ID(GCDID) 、 客户端上生成的随机数 (CR) 和服务 器上生成的随机数 (SR) 。由于一项交易中所有这些信息从未经相同信道传递, 因此该共享 密钥不会被侦听该信道的人窃听。上述激活步骤的另一替代选择是, 也可使用任一能安全 地在两方间生成共享密钥的标准算法, 如迪菲赫尔曼密钥交换或其它类似协议。 另外, 上 述激活过程可自动发生, 客户设备与服务器模块直接通信, 无需用户介入。 0047 图 2 的流程图所述的手动模式激活方法从用户激活后在客

37、户端开始该过程。首先 通过该方法生成随机数 (CR) 。随机数生成后, 利用该方法计算设备专用 ID(CGDID) , 然后 随机数 (CR) 和设备专用 ID(CGDID) 组合并通过信道传递给服务器端。服务器端接收到组 合代码数据块后, 生成随机数 (SR) 数据块。使用该随机数 (SR) 和设备专用 ID(CGDID) 创 建复合数据结构, 设备激活码 (AC) 。该激活码 (AC) 从服务器通过另一个信道传递给最终用 户客户端。客户端设备接收到激活码, 然后通过对其进行反汇编和验证编入其中的设备 ID 来验证该激活码是否与它自己的激活码相匹配。若该激活码与它自己的设备不匹配, 用户 必

38、须再次重新开始该过程。若设备激活码 (AC) 正确, 根据它推导出随机数 (SR) 用于进一步 的处理。客户端设备存储根据设备激活码计算出的 CR 和 SR。客户端设备根据 CR、 SR 和算 出的 CGDID 计算共享密钥。每个和各个用户设备的 CGDID 均不相同。CR、 SR 和 CGDID 存储 在服务器端上, 且服务器端上根据 CR、 SR 和 CGDID 计算出共享密钥 (K) 。 0048 图 3 为客户端屏蔽一次性密码 (MOTP) 生成过程和服务器端服务器密钥解码过程 的框图。 客户端上, 一次初始化时, 通过使用密码随机字符串生成器生成随机顺序字符数组 (CRS) 并存储起

39、来, 该方法开始。该随机顺序字符数组不多次包含任一字符 ; 长度任意。一 般而言, 字符串数组越长, 用它加密的数据就越难被猜出。应注意的是, CRS 不一定仅限于 字符串 ; 也可为图标、 符号、 颜色、 图形或简短的音频语句等项目的有序集合。 用户密码为这 些项目子集的有序集合。为简洁起见, 以下实例中我们将 CRS 称作字符集合。同样作为初 始化的一部分, TC- 客户端和 C- 客户端这两个对应物也进行初始化。TC- 客户端是根据时 步值的动对应物, C- 客户端是基于事件的对应物, 每个 OTP 生成后增加。如 RFC4226 中规 说 明 书 CN 103370688 A 9 6/

40、20 页 10 定, 可用很多种算法生成 OTP, 包括 HOTP 算法, 任一算法可得到相同的结果。 0049 客户端上, 该方法从用户输入密码后开始。用户密码中的字符映射到它们在 CRS 中的相应位置, 以得到 CPIN。然后对 CPIN 进行填充 (若用户密码小于最大长度) , 根据费尔 赫夫算法校验位可选择增加校验位以得到 VPIN。使用作为种子的共享密钥 (K) 和对应物 (TC- 客户端和 C- 客户端) , 及工业标准 OATH 算法 (HOTP 算法如 RFC4226 中所述) 计算 OTP。 然后用 OTP 对 VPIN 加密以生成 MOTP(屏蔽 OTP) 。此处的加密为可

41、逆加密, 生成相同数目 的数位 / 字符的 VPIN。例如, 可使用按位 XOR 或逐位数学运算。若 MOTP 为 10 位数形式, 可 对 VPIN 和 OTP 使用模 10 的算术函数。因此, 由于 VPIN=3201, OTP=4671, 进行模 10 加法运 算可以得到 MOTP=7872。服务器端上, 加密过程包括生成相同的 OTP 和进行相反运算, 即模 10 减法运算。因此, 得到 MOTP=7872, OTP=4671, 解密后得到 VPIN=3201。OTP 作为密钥 / 屏 蔽的任何合适的可逆加密 / 解密过程均可用于此目的。 0050 然后使用洗牌函数 (SF) 对CRS

42、洗牌, 洗牌后的CRS存储起来以进行下一迭代运算。 对应物 C- 客户端增加并存储起来。SF 使用密码安全伪随机数生成器 (CSPRNG) 产生置换的 变换矩阵 (TM) 。优选实施例中, CSPRNG 可根据全反馈输出反馈模式 (OFB) 中使用的高级加 密标准 (AES) 分组密码。高德纳洗牌算法可用作洗牌函数 (SF) , 使用 CSPRNG 生成的随机数 产生洗牌置换为 TM。将共享密钥用作密钥, 该 SF 函数为每个迭代运算生成新的 TM 并对当 前 CRS 中的字符洗牌。 0051 客户端上, 一次初始化时, 通过使用密码随机字符串生成器生成随机顺序字符数 组 (SRS) 并存储起

43、来以用于相关用户记录, 该方法开始。该 SRS 对于每个注册用户是不同 且独特的。请注意, 该随机顺序字符数组与客户端生成的数组 (CRS) 不同, 除两个数组对于 每个用户长度相同外, 它们并没有关系。 该随机顺序字符数组不多次包含任一字符 ; 长度任 意。 一般而言, 字符串数组越长, 用它加密的数据就越难被猜出。 同样作为初始化的一部分, 根据与客户端根据共享密码 (K) 约定的值或根据接收到 MOTP 的时间生成初始值 (TC- 服务 器) 。这一决定根据使用的是基于时间的 OATH 算法还是仅基于事件的 OATH 算法。另外, 也 对对应物 (C- 服务器) 进行初始化。 0052

44、从客户端接收到 MOTP 后, 服务器端方法使用共享密钥 (K) 和动对应物 (TC- 服务 器根据 MOTP 和 C- 服务器的接收时间计算出) 作为 OATH 算法的输入对 OTP 进行计算。OTP 计算后, 通过进行与可逆加密过程相反的运算对MOTP进行解蔽。 可以是从MOTP中减去OTP 的模 10 减法运算, 或 “异” 或 OTP 和 MOTP 以得到 VPIN。可选择对校验位 / 校验和进行验证 以确保得到的 VPIN 有效。若 VPIN 有效, 则去除校验位和填充以得到 SPIN (编入 MOTP 中的 CPIN的位置) 。 然后服务器计算SP, 服务器通过将SPIN中的位置映

45、射到相应SRS中的字符来 查看用户密码。通过使用 PKCS#5v2.1 或较近版本中规定的密码基密钥导出函数 (PBKDF) , 所得的服务器端密码 (SP) 用于生成服务器端用户专用强加密密钥 (USKEY) 。使用该密钥, 可对服务器上的敏感数据进行加密, 而无需存储服务器密码 (SP) 或加密密钥 (USKEY) 。 0053 服务器可选择将服务器密码零知识证明存储在其上以便以后验证。 其中一种方法 是, 使用 RFC2945 中规定的 安全远程密码协议 (SRP 协议) 来完成。该 SRP 协议在服务器 上存储了验证者和盐, 但未存储实际密码或其哈希值。验证者和盐以后可用于验证最初用

46、于生成验证者和盐的实际密码的真实性。 该方案中, 用户第一次注册密码时, 用户提供两个 使用客户端设备上的相同 PIN/ 密码生成的 MOTP 值, 两个 MOTP 值生成服务器密码后, 服务 说 明 书 CN 103370688 A 10 7/20 页 11 器对服务器密码的两个值进行比较。若相同, 则意味着用户需要输入相同的 PIN/ 密码以生 成 MOTP。这种情况下, 选择一个随机盐并计算验证者。服务器存储验证者和盐而不存储实 际服务器密码。 0054 然后使用洗牌函数 (SF) 对SRS洗牌, 洗牌后的SRS存储起来以进行下一迭代运算。 对应物 C- 客户端增加并存储起来。该 SF

47、与客户端 SF 使用相同的算法, 也使用共享密钥 K, 这样, SRS 洗牌与客户端 CRS 洗牌同步。将共享密钥用作密钥, 该 SF 函数为每个迭代运算 生成新的 TM(变换矩阵) 并对当前 SRS 中的字符洗牌。 0055 服务器和客户端应用程序可能由于不同步而未能计算出 TC 或 C 的相同值。若使 用服务器中的前, 用户多次尝试生成MOTP, 在这种情况下, C-服务器的值与C-客户端不同, 这种情况是可能的。另外, 客户端和服务器 OTP 生成的时间步长窗口 (TC- 服务器和 TC- 客 户端时间步长对应物值之差) 可能因 OTP 传输延迟而不同。因此, 服务器可通过使用不同的 T

48、C- 服务器和 C- 服务器值, 尝试几个不同值来计算 TC- 服务器和 C- 服务器。该 TC- 服务器 根据时间步长窗口, 服务器最多尝试 “n” 个时间步长值以防网络延迟。另外, 对于 C- 服务 器, 服务器可以递增顺序最多尝试 “m” 个不同的值。预览窗口应保持最小。该预览窗口中可 进行最多 “n” x“m” 次不同计算和很多次正确 OTP 的猜测尝试。较大预览窗口会引入 OTP 攻击窗口 ; 因此建议保持系统可用性的同时应将预览窗口保持最小。TC- 服务器和 C- 服务 器的有效排列确定后, 服务器可计算客户端使用的 C- 客户端值并相应调整 SRS 的洗牌。 0056 图 4 为

49、客户端设备 MOTP 生成过程的流程图。首先, 提示最终用户使用一种密码输 入方法在最终用户设备中输入 PIN/ 密码。用户密码然后转换成 CPIN(当前 CRS 中用户密 码字符位置的有序列表) 。由于每次生成 MOTP 后对 CRS 洗牌, 每次用户密码映射到 CPIN, CPIN 值均不同。因此, 用户密码每次映射到不同的 CPIN。图 7 中的实例对此进行了进一 步说明。然后对 CPIN 填充 (若用户密码小于最大长度) , 可选择添加校验位 / 校验和以得 到 VPIN(可验证的 CPIN 位置) 。校验和 / 校验位添加至 CPIN, 以便在服务器端上用于验证 CPIN 的有效性。根据 MOTP 可用数位 / 字符来添加校验位或校验和。例如, 若 MOTP 仅为 8 位, 根据费尔赫夫算法校验位可能为一位数。然后使用可逆加密过程对 VPIN 加密, 可逆加 密过程把 OTP 作为密钥以生成 MOTP(屏蔽 OTP) 。使用 HOTP 算法、 共享密钥 K、 基于时间的 对应物值 TC- 客户端和事件基对应物值 C- 客户端生成 OTP。MO

copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1