发明名称 用于实作新密码之方法及执行该方法的电脑可读取媒体
摘要 本发明揭露让一已经被认证伺服器所认证过的认证使用者端,利用(leverage)认证之效用而实作出一新通讯密码的方法。认证使用者端从其使用者得到一个新密码。从这新密码中和从认证伺服器所提供的资讯中,认证使用者端会导出一"密码检验者"。该密码检验者接着与认证伺服器共享。新的密码本身是从未被送到认证伺服器,并且根本不可能从密码检验者导出新的密码。但是认证使用者端和认证伺服器各自平行地从新的密码和该密码检验者导出了一组新的认证和加密的安全金钥。此过程可使用任何一组特殊的安全金钥重复来限制传输资料的总量也因此限制了任何作统计性攻击者的效果。
申请公布号 TWI288552 申请公布日期 2007.10.11
申请号 TW092109643 申请日期 2003.04.24
申请人 微软公司 发明人 阿伦阿亚葛里;克里斯纳咖奴卡帕提;丹尼尔R. 塞门;提摩西M. 莫尔;帕拉狄普巴贺
分类号 H04L9/32(2006.01) 主分类号 H04L9/32(2006.01)
代理机构 代理人 蔡坤财 台北市中山区松江路148号11楼;李世章 台北市中山区松江路148号11楼
主权项 1.一种实作出一新的密码之方法,其系在具有一认 证使用者端和一认证伺服器的一计算环境中,该认 证使用者端已经对认证伺服器作过认证动作,该认 证使用者端的认证动作是基于在认证使用者端已 经知道的旧密码和该认证伺服器已经知道的旧密 码检验者、一使用者名称、旧的取余质数(prime modulus)、该旧的取余质数之旧的产生器、和在认 证使用者端和认证伺服器已经知道的旧salt(随机 变数),该方法至少包含下列步骤: 从该认证伺服器发出要求该认证使用者端改变其 密码; 自该认证伺服器至该认证使用者端存取(making accessible)一新的salt(随机变数); 在该认证使用者端要求和接收来自该认证使用者 端之一使用者的一新的密码; 在该认证使用者端计算一新的密码检验者,传递以 作为该计算该新的salt(随机变数)和该使用者名称 的输入; 自该认证使用者端至该认证伺服器存取该新的密 码检验者;和 在该认证伺服器储存该使用者名称、新的密码检 验者和新的salt(随机变数)。 2.如申请专利范围第1项所述之方法,其中该认证使 用者端改变其密码的要求步骤包含传送一EAP-SRP( Extensible Authentication Protocol-Secure Remote Password可延 伸的认证协定安全远端密码)伺服器改变密码讯息 以及其中存取新的密码检验者步骤包含传送一EAP- SRP使用者端改变密码讯息。 3.如申请专利范围第1项所述之方法,其中该认证使 用者端改变其密码的要求步骤包含传送一EAP-SRP供 应者规格改变密码要求讯息,以及其中存取新的密 码检验者步骤包含传送一EAP-SRP供应者规格改变密 码回应讯息。 4.如申请专利范围第1项所述之方法,其中该新的 salt(随机变数)与该旧的salt(随机变数)相同,且其中 存取新的salt(随机变数)的步骤包含在要求该认证 使用者端改变其密码前,由该认证伺服器与该认证 使用者端共享该新的salt(随机变数)。 5.如申请专利范围第1项所述之方法,其中该新的 salt(随机变数)与该旧的salt(随机变数)不相同,且其 中存取新的salt(随机变数)步骤包含由该认证伺服 器使用选自以下所组成之该群组的一技术:传送包 含该新的salt(随机变数)的一讯息至该认证使用者 端;将该新的salt(随机变数)告示于该认证伺服器和 该认证使用者端可存取之一处;和在要求该认证使 用者端改变其密码前与该认证使用者端共享该新 的salt(随机变数)。 6.如申请专利范围第5项所述之方法,其中存取新 salt(随机变数)的步骤进一步包含: 由该认证伺服器计算一覆盖该新salt(随机变数)的 第一MAC,该第一MAC是基于在该认证使用者端作认证 时所导出的一认证使用者端对认证伺服器的认证 金钥;自该认证伺服器至该认证使用者端存取该第 一MAC;和在认证使用者端,计算一覆盖该新的salt(随 机变数)的第二MAC,该第二MAC是基于该认证使用者 端对该认证伺服器的认证金钥;以及 其中要求和接收一新的密码并且计算、存取,以及 储存一新的密码检验者的步骤只有在该第一MAC符 合该第二MAC条件下执行之。 7.如申请专利范围第1项所述之方法,其更包含传递 以更作为该计算该旧的取余质数和该旧的取余质 数的该旧产生器的输入 8.如申请专利范围第7项所述之方法,其中计算一新 的密码检验者步骤包含在认证使用者端; 将运作一杂凑函数的结果指定给一第一中介値,该 杂凑函数的输入包含该使用者名称和该新的密码; 将运作一杂凑函数的结果指定给一第二中介値,该 杂凑函数的输入包含该新的salt(随机变数)和该第 一中介値; 将该第二中介値之该旧的产生器乘幂数(the old generator raised to a power of the second intermediate value)指 定给一第三中介値;和 将该第三中介値与该旧的取余质数相除取余数指 定给该新的密码检验者。 9.如申请专利范围第1项所述之方法,其中存取新密 码检验者步骤包含: 在认证使用者端,使用在该认证使用者端作认证时 所导出的一认证伺服器对认证使用者端加密金钥 加密该新的密码检验者; 自认证使用者端至认证伺服器存取该加密过的新 密码检验者;和 在该认证伺服器,使用该认证伺服器对认证使用者 端加密金钥解密该加密过的新密码检验者。 10.如申请专利范围第9项所述之方法,其中存取该 新密码检验者步骤进一步包含: 在该认证使用者端,计算一覆盖该加密的新密码检 验者的第一MAC,该第一MAC是基于一在该认证使用者 端作认证时所导出的认证伺服器对认证使用者端 认证金钥; 自该认证使用者端至认证伺服器存取该第一MAC;和 在认证伺服器计算一覆盖该已加密新密码检验者 的第二MAC,该第二MAC是基于该认证伺服器对认证使 用者端认证金钥; 且其中只有在该第一MAC符合该第二的MAC,才执行储 存该使用者名称、新的密码检验者和新的salt(随 机变数)。 11.如申请专利范围第1项所述之方法,更包含有: 该认证伺服器结合一具要求认证使用者端改变其 密码的计时器;和 如果计时器时间期满但是没有新的密码检验者自 该认证使用者端存取,则在认证伺服器重复要求该 认证使用者端改变其密码。 12.如申请专利范围第1项所述之方法,更包含有: 对该使用者端至该认证伺服器作一第二次认证,该 第二次认证是基于该认证使用者端已知的新密码 、认证伺服器已知的新密码检验者、和该使用者 名称、旧的取余质数、该旧的取余质数的旧产生 器、和该认证使用者端与该认证伺服器已知的新 的salt(随机变数)。 13.如申请专利范围第1项所述之方法,更包含有: 自该认证伺服器至认证使用者端存取一新的取余 质数和该新的取余质数的一新的产生器。 14.如申请专利范围第13项所述之方法,其中存取新 salt(随机变数)、新取余质数和新取余质数的新产 生器包含: 在该认证伺服器,计算一覆盖该新的salt(随机变数) 、该新的取余质数和该新的产生器之第一MAC,该第 一MAC是基于在该认证使用者端作认证时所导出的 一认证使用者端对认证伺服器认证金钥; 自认证伺服器至认证使用者端存取该第一MAC;和 在认证使用者端,计算一覆盖该新的salt(随机变数) 、该新的取余质数和该新的产生器之第二MAC,该第 二MAC是基于该认证使用者端对认证伺服器认证金 钥; 及其中的要求和接收一新的密码和计算、存取以 及储存一新的密码检验者只有在该第一MAC符合该 第二MAC执行之。 15.如申请专利范围第13项所述之方法,进一步包含 传递以更作为该计算该新的取余质数和该新的产 生器的输入。 16.如申请专利范围第15项所述之方法,其中计算一 个新的密码检验者步骤包含,在该认证使用者端: 将运作一杂凑函数的结果指定给一第一中介値,该 杂凑函数的输入包含该使用者名称和该新的密码; 将运作一杂凑函数的结果指定给一第二中介値,该 杂凑函数的输入包含该新的salt(随机变数)和该第 一中介値; 将该第二中介値之该新的产生器乘幂数指定给一 第三中介値;和 将该第三中介値与该新的取余质数相除后取余数 指定给该新的密码检验者。 17.如申请专利范围第13项所述之方法,其进一步包 含: 认证使用者端对认证伺服器作第二次认证,该第二 次认证是基于该认证使用者端已知该新的密码、 该认证伺服器已知该新的密码检验者,和该使用者 名称、新的取余质数、该新的取余质数的新产生 器、和该认证使用者端与该认证伺服器已知的新 的salt(随机变数)。 18.一种电脑可读记录媒体,其包含执行一用于实作 出一新密码之方法的指令,一认证使用者端已经对 一认证伺服器作认证,该认证使用者端的认证是基 于该认证使用者端已知的一旧密码、该认证伺服 器已知的一旧的密码检验者、和在一使用者名称 、旧的取余质数、该旧的取余质数的旧产生器、 和该认证使用者端与该认证伺服器已知的旧的salt (随机变数),该方法包含: 从认证伺服器发出要求,要求认证使用者端改变其 密码; 自该认证伺服器至该认证使用者端存取一新的salt (随机变数); 在该认证使用者端要求和接收来自该认证使用者 端之一使用者的一新密码; 在该认证使用者端,计算一新密码检验者,传递以 作为该计算该新的salt(随机变数)和该使用者名称 的输入; 自认证使用者端至认证伺服器存取该新密码检验 者;和 在该认证伺服器储存使用者名称、新的密码检验 者和新的salt(随机变数)。 19.一种在具有一认证使用者端和一认证伺服器之 一计算环境中用于该认证伺服器引起该认证使用 者端实作出一新密码的方法,该认证使用者端已经 对该认证伺服器作认证,该认证使用者端的认证是 基于该认证使用者端已知的一旧的密码、该认证 伺服器已知的一旧的密码检验者、和在一使用者 名称、旧的取余质数、该旧的取余质数的旧产生 器、和该认证使用者端与该认证伺服器已知的旧 的salt(随机变数),该方法至少包含: 要求该认证使用者端改变其密码; 该认证使用者端存取一新salt(随机变数); 从认证使用者端接收一密码检验者;和 储存该使用者名称、该新的密码检验者和新的salt (随机变数)。 20.如申请专利范围第19项所述之方法,其中要求该 认证使用者端改变其密码的步骤包含传送一EAP-SRP 伺服器改变密码讯息且其中从该认证使用者端接 收一新的密码检验者的步骤包含接收一EAP-SRP使用 者端改变密码讯息。 21.如申请专利范围第19项所述之方法,其中要求认 证使用者端改变其密码的步骤包含传送一EAP-SRP供 应者规格改变密码要求讯息且其中从该认证使用 者端接收一新的密码检验者的步骤包含接收一EAP- SRP供应者规格改变密码回应讯息。 22.如申请专利范围第19项所述之方法,其中该新的 salt(随机变数)是和该旧的salt(随机变数)相同,且其 中在该认证使用者端存取新的salt(随机变数)步骤 包含在要求该认证使用者端改变其密码之前与该 认证使用者端分享该新的salt(随机变数)。 23.如申请专利范围第19项所述之方法,其中该新的 salt(随机变数)是和该旧的salt(随机变数)不相同,且 其中该认证使用者端存取该新的salt(随机变数)包 含使用选自以下所组成之该该群组的一技术:传送 一包含该新的salt(随机变数)的讯息至该认证使用 者端、将该新的salt(随机变数)告示在可以让该认 证伺服器和该认证使用者端可存取到之一处、和 在要求该认证使用者端改变其密码之前与该使用 者端共享该新的salt(随机变数)。 24.如申请专利范围第23项所述之方法,其中该认证 使用者端存取新的salt(随机变数)的步骤进一步包 含: 计算出一覆盖着该新的salt(随机变数)的讯息认证 码(MAC),该MAC是基于在该认证使用者端作认证时所 导出的一认证使用者端对认证伺服器认证金钥;和 该认证使用者端存取该MAC。 25.如申请专利范围第19项所述之方法,其中从认证 使用者端接收一新的密码检验者的步骤包含: 从该认证使用者端接收一加密的新密码检验者;和 使用在该认证使用者端作认证时所导出的一认证 伺服器对认证使用者端加密金钥对该加密的新的 密码检验者作解密动作。 26.如申请专利范围第25项所述之方法,其中从该认 证使用者端接收一新的密码检验者的步骤进一步 包含: 从该认证使用者端接收一MAC;和 计算一覆盖着加密过的新密码检验者的MAC,该MAC是 基于在该认证使用者端作认证时所导出的一认证 伺服器对认证使用者端的认证金钥; 及其中只有在所接收的MAC符合计算出来的MAC情况 下,执行储存该使用者名称、该新的密码检验者和 该新的salt(随机变数)。 27.如申请专利范围第19项所述之方法,更包含: 结合要求该认证使用者端改变其密码的一计时器; 和 假如超过时间没有接收到从该认证使用者端来的 新的密码检验者,则重复要求认证使用者端改变其 密码。 28.如申请专利范围第19项所述之方法,更包含: 该认证使用者端对认证伺服器作一第二次认证,该 第二次认证是基于该认证使用者端已知该新的密 码、该认证伺服器已知该新的密码检验者、和该 使用者名称、旧的取余质数、该旧的取余质数的 旧产生器、和该认证使用者端与该认证伺服器已 知的新的salt(随机变数)。 29.如申请专利范围第19项所述之方法,更包含: 该认证使用者端存取一新的取余质数以及该新的 取余质数的一新产生器。 30.如申请专利范围第29项所述之方法,其中该认证 使用者端存取一新的salt(随机变数)、一新的取余 质数、该新的取余质数的一新产生器的步骤包含: 计算出一覆盖该新的salt(随机变数)、该新的取余 质数、该新的新产生器的MAC,该MAC是基于在该认证 使用者端作认证时所导出的一认证使用者端对认 证伺服器认证金钥;和 该认证使用者端存取该MAC。 31.如申请专利范围第29项所述之方法,更包含: 认证使用者端对认证伺服器作一第二次认证,该第 二次认证是基于该认证使用者端已知该新的密码 、该认证伺服器已知的该新的密码检验者、和该 使用者名称、新的取余质数、该新的取余质数的 新产生器、和该认证使用者端与该认证伺服器已 知的新的salt(随机变数)。 32.一个电脑可读记录媒体,其包含用于执行使一认 证伺服器造成一认证使用者端实作一新密码之方 法的指令,该认证使用者端已经对该认证伺服器作 认证,该认证使用者端的认证是基于该认证使用者 端已知的一旧密码和该认证伺服器已知的一旧的 密码检验者、和一使用者名称、旧的取余质数、 该旧的取余质数的旧产生器、和该认证使用者端 与该认证伺服器已知的旧的salt(随机变数),该方法 包含: 要求该认证使用者端改变其密码; 该认证使用者端存取一新的salt(随机变数); 自该认证使用者端接收一密码检验者;和 储存该使用者名称、该新的密码检验者和该新的 salt(随机变数)。 33.一种在具有一认证使用者端和一认证伺服器的 一计算环境中该认证使用者端实作出一新的密码 之方法,该认证使用者端已经对该认证伺服器作认 证,该认证使用者端的认证是基于该认证使用者端 已知的一旧的密码、该认证伺服器已知的一旧的 密码检验者、和一使用者名称、旧的取余质数、 该旧的取余质数的旧产生器、和该认证使用者端 与该认证伺服器已知的旧的salt(随机变数),该方法 包含: 从认证伺服器接收该认证使用者端改变其密码的 要求; 从该认证伺服器接收一新salt(随机变数); 从该认证使用者端要求与接收来自该认证使用者 端之一使用者的新密码; 计算一新的密码检验者,传递以作为该计算该新的 salt(随机变数)和该使用者名称的输入;和 该认证伺服器存取该新的密码检验者。 34.如申请专利范围第33项所述之方法,其中接收该 认证使用者端改变其密码要求的步骤包含接收一 EAP-SRP伺服器改变密码讯息且其中该认证伺服器存 取该新的密码检验者的步骤包含传送一EAP-SRP使用 者端密码讯息。 35.如申请专利范围第33项所述之方法,其中接收该 认证使用者端改变密码要求的步骤包含接收一EAP- SRP供应者规格改变密码要求讯息且其中该认证伺 服器存取该新的密码检验者的步骤包含传送一EAP- SRP供应者规格改变密码回应讯息。 36.如申请专利范围第33项所述之方法,其中该新的 salt(随机变数)是和该旧的salt(随机变数)相同,且其 中自认证伺服器接收新的salt(随机变数)的步骤包 含在接收该认证使用者端改变其密码之前与该认 证伺服器分享该新的salt(随机变数)。 37.如申请专利范围第33项所述之方法,其中该新的 salt(随机变数)是和该旧的salt(随机变数)不相同,其 中自该认证伺服器接收该新的salt(随机变数)包含 使用以下所组成之群组的一技术:从该认证伺服器 接收含有该新的salt(随机变数)的一讯息、将该新 的salt(随机变数)告知在可以让该认证伺服器和该 认证使用者端存取到的一处、和在要求认证使用 者端改变其密码前与该认证伺服器共享该新的salt (随机变数)。 38.如申请专利范围第37项所述之方法,其中自该认 证伺服器的接收一新的salt(随机变数)的步骤进一 步包含: 从该认证伺服器接收一MAC;和 计算一覆盖着该新的salt(随机变数)的MAC,该MAC是基 于在该认证使用者端作认证时所导出的一认证使 用者端对认证伺服器认证金钥; 和其中计算和在该认证伺服器存取该新密码检验 者仅在该接收的MAC符合计算出来之MAC的情况下执 行之。 39.如申请专利范围第33项所述之方法,进一步包含 传递以更作为该计算该旧的取余质数和该旧的取 余质数之该旧产生器的输入。 40.如申请专利范围第39项所述之方法,其中计算一 新的密码检验者的步骤包含: 将运作一杂凑函数的结果指定给一第一中介値,该 杂凑函数的输入包含该使用者名称和该新的密码; 将运作一杂凑函数的结果指定给一第二中介値,该 杂凑函数的输入包含该新的salt(随机变数)和该第 一中介値; 将该第二的中介値之该旧的产生器乘幂数指定给 一第三中介値;和 将该第三中介値与该旧的取余质数相除取余数指 定给该新密码检验者。 41.如申请专利范围第33项所述之方法,其中该认证 伺服器存取该新的密码检验者的步骤包含: 使用在该认证使用者端作认证时所导出的一认证 伺服器对认证使用者端加密金钥对该新的密码检 验者作加密动作;和 该认证伺服器存取该加密的新的密码检验者。 42.如申请专利范围第41项所述之方法,其中该认证 伺服器存取该新的密码检验者的步骤进一步包含: 计算一覆盖着加密过的新密码检验者的MAC,该MAC是 基于在该认证使用者端作认证时所导出的一认证 伺服器对认证使用者端认证金钥;和 该认证伺服器存取该MAC。 43.如申请专利范围第33项所述之方法,其进一步包 含: 该认证使用者端对该认证伺服器作一第二次认证, 该第二次认证是基于该认证使用者端已知的该新 的密码、该认证伺服器已知的该新的密码检验者 、和该使用者名称、旧的取余质数、该旧的取余 质数的旧产生器、和该认证使用者端与该认证伺 服器已知的新的salt(随机变数)。 44.如申请专利范围第33项所述之方法,进一步包含: 从该认证伺服器接收一新的取余质数和该新的取 余质数的一新产生器。 45.如申请专利范围第44项所述之方法,其中从该认 证伺服器接收一新的salt(随机变数)、一新的取余 质数和该新的取余质数之一新产生器的步骤包含: 从该认证伺服器接收一MAC;和 计算一覆盖该新的salt(随机变数)、该新的取余质 数和该新的产生器的MAC,该MAC是基于在该认证使用 者端作认证时所导出的一认证使用者端对认证伺 服器认证金钥; 及其中仅在该接收MAC符合该计算出来的MAC之情况 下,执行计算以及该认证伺服器存取该新的密码检 验者。 46.如申请专利范围第44项所述之方法,进一步包含 传递以更作为该计算该新的取余质数和该新的产 生器的输入。 47.如申请专利范围第46项所述之方法,其中计算一 新的密码检验者的步骤包含: 将运用一杂凑函数的结果指定给一第一中介値,该 杂凑函数的输入包含该使用者名称和该新的密码; 将运用一杂凑函数的结果指定给一第二中介値,该 杂凑函数的输入包含该新的salt(随机变数)和该第 一中介値; 将该第二中介値之该新的产生器乘幂数指定给一 第三中介値;和 将该第三中介値与该新的取余质数相除取余数指 定给该新的密码检验者。 48.如申请专利范围第44项所述之方法,其进一步包 含: 该认证使用者端对该认证伺服器作一第二次认证, 该第二次认证是基于该认证使用者端已知的该新 的密码、该认证伺服器已知的该新的密码检验者 、和该使用者名称、新的取余质数、该新的取余 质数的新产生器、和该认证使用者端与该认证伺 服器已知的新的salt(随机变数)。 49.一种电脑可读记录媒体,其包含用于执行使一认 证使用者端实作出一新密码之方法的指令,该认证 使用者端已经对该认证伺服器作认证,该认证使用 者端的认证是基于认证使用者端已知的一旧密码 和该认证伺服器已知的一旧的密码检验者,和一使 用者名称、旧的取余质数、该旧的取余质数的旧 产生器、和该认证使用者端与该认证伺服器已知 的旧的salt(随机变数),该方法包含: 从认证伺服器接收该认证使用者端改变其密码的 一要求; 自该认证使用者端接收一新的salt(随机变数); 从该认证使用者端要求和接收一来自该认证使用 者端之一使用者的新密码; 计算一新密码的检验者,传递以作为该计算该新的 salt(随机变数)和该使用者名称的输入;和 该认证伺服器存取该新的密码检验者。 50.一种电脑可读记录媒体,其具有一改变密码要求 资料结构储存于其内,该改变密码要求资料结构包 含: 一第一资料栏位,其含有表示一salt(随机变数)的资 料; 一第二资料栏位,其含有表示一取余质数的资料; 一第三资料栏位,其含表示该取余质数之一产生器 的资料;和 一第四资料栏位,其含有表示覆盖该salt(随机变数) 、该取余质数和该产生器之一MAC的资料。 51.如申请专利范围第50项所述之电脑可读记录媒 体,其中该salt(随机变数)、该取余质数、该产生器 、和该MAC被格式化成选自下列群组组合中之一讯 息的部份:一EAP-SRP伺服器改变密码讯息和一EAP-SRP 供应者规格改变密码要求讯息。 52.一种电脑可读记录媒体,其具有一改变密码回应 资料结构储存其内,该改变密码回应资料结构包含 : 一起始的资料栏位,其含有表示一密码检验者的资 料;和 一第二资料栏位,其含有表示覆盖该密码检验者之 一MAC的资料。 53.如申请专利范围第52项所述之电脑可读记录媒 体,其中该密码检验者、和该MAC被格式化成选自下 列群组组合中之一讯息的部份:一EAP-SRP使用者端 改变密码讯息和一EAP-SRP供应者规格改变密码回应 求讯息。 图式简单说明: 第1图为本发明之一较佳实施例之方块图,其显示 出一个在认证伺服器和认证的使用者端、窃听者 之间的传输环境的示范。 第2图为根据本发明之一较佳实施例之一个概要图 解说明电脑运算的系统来支持本发明。 第3a到3c图为根据本发明之一较佳实施例之一起形 成资料流的图解说明,此图显示出认证伺服器和认 证的使用者端相互作认证时资讯的通过和作业的 执行情况,并且根据本发明的具体使用来产生出一 组新的传输密码。 第4图为根据本发明之一较佳实施例之一个资料结 构图,说明产生出一组新的传输密码的过程中所可 能出现的讯息。
地址 美国