一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

描述可以在使用Dallas SHA iButtons as的系统中使用的技术

来源:analog 发布时间:2023-11-30

摘要: 本应用说明描述了可以在使用Dallas SHA iButtons as的系统中使用的技术

本应用说明描述了可以在使用Maxim SHA的系统中使用的技术按钮 作为网络用户身份验证令牌。这些技术用于将用户密码绑定到基于sha的身份验证方案中。读者应该熟悉标准的Maxim SHA按钮认证装置和方法。请参阅应用说明1201,1-Wire SHA-1概述,了解更多信息和一般应用信息。

介绍

Maxim 1-Wire SHA设备提供了一种高度安全的方式来确保用户按钮令牌是真实的。然而,一些应用程序需要更高级别的安全性,其中携带令牌的人(用户)也要经过身份验证。这就是所谓的“你带来的东西,你知道的东西”的安全性。“你带来的东西”部分是启用了sha的按钮令牌。“你知道的东西”部分是提交到用户记忆中的PIN、密码或密码短语。

本应用说明描述了一种方法,可以将用户提供的密码完整地绑定到安全身份验证过程。的身份验证按钮令牌依赖于用户提供的信息(与服务提供者相反),但不需要将任何用户密码存储在服务器的数据库中,也不需要服务提供者知道它们。

在本文档的其余部分中,我们将提到“用户密码”。实际上,这可以是PIN、密码或更复杂的密码短语(甚至是密码短语的摘要)。我们将假设这些信息是通过代理计算机(工作站或终端)的键盘从用户那里收集的,尽管它可以通过其他方式进入系统。

绑定用户密码

使用户密码成为不可分割的一部分按钮令牌认证过程中,它必须与存储在SHA中的认证秘密绑定按钮令牌。在高度安全的按钮身份验证方案已经定义,主身份验证秘密与令牌的地址(序列号)一起散列,以创建一个隐藏在令牌中的工作秘密。这个秘密对于令牌是唯一的,因为它完全依赖于令牌的唯一地址。(见应用说明152,“SHA按键秘密和挑战。”)

为了以类似的方式将用户密码绑定到令牌,用户密码和未绑定的令牌秘密被散列以创建一个MAC,该MAC反过来成为新的秘密。这个新秘密写在旧秘密的上面,还有按钮令牌现在永远绑定到令牌地址和用户密码。现在需要令牌和用户密码来执行身份验证。因为原来的秘密在这个过程中被删除了,这个新的密码绑定的秘密永远不能被删除或更改,除非由服务提供者。

绑定密码认证

当秘密绑定到密码时,实际的身份验证功能比未绑定的秘密复杂一点。服务器必须知道按钮令牌序列号和用户密码,以计算令牌的绑定秘密,这反过来又需要对令牌进行身份验证。当用户提供令牌进行身份验证时,代理(用户的终端或计算机)必须要求他提供密码。然后必须将密码与其他令牌信息一起传输到服务器,以便在身份验证过程中使用它。

但是,通过不安全的链接向服务器发送密码会使系统暴露在窃听攻击之下。因此,密码在发送到服务器之前必须进行加密。加密小消息的一种方法是在令牌本身中使用SHA引擎生成一个一次性密码,可以使用简单的异或逻辑函数对该消息(密码)进行加密。(参见应用说明150,“使用SHA设备进行小消息加密”)当然,可以使用任何可靠的对称加密算法来保护密码,或者可以使用安全的网络连接,如SSL(安全套接字层)。

使用SHA设备对密码进行加密的认证过程如下:

  1. 用户到达工作站,出示他的按钮令牌并请求访问。

  2. 令牌数据由工作站读取并传输到服务器。

  3. 服务器生成一个随机质询并将其发送到工作站。

  4. 工作站向用户请求密码。

  5. 工作站使用用户按钮令牌,随机挑战和令牌地址生成MAC。

  6. 工作站根据密码对MAC进行排他运算,并将生成的加密消息发送给服务器。

  7. 在给定令牌地址和挑战值的情况下,服务器生成相同的MAC,从而解密消息以获得原始密码。

  8. 服务器使用令牌地址和主身份验证秘密来重新生成用户令牌的原始唯一令牌秘密。

  9. 服务器使用原始的唯一令牌秘密和用户密码来重新生成绑定的秘密,然后使用它来完成对用户及其密码的正常身份验证按钮令牌。

  10. 服务器丢弃重新生成的用户密码和秘密。

该方法具有以下特点:

  • 所有网络消息都是安全的,并且由于随机挑战组件,每次执行身份验证时都是完全不同的。偷听没有任何价值。

  • 用户身份验证按钮令牌和他的密码是安全的。任何网络数据的改变都不能导致错误的认证。任何更改都会被检测到并导致身份验证失败。

  • 用户密码和按钮令牌通过更改令牌中的密钥绑定在一起。中央服务器不需要维护用户密码数据库,也不需要在对用户进行身份验证时执行用户密码查找。

  • 中无法提取用户密码按钮令牌。它不存在按钮。

  • 终端或工作站不必执行加密、解密或具有安全的网络功能,以使方案免受攻击。

令牌和密码部署

用户密码必须安装在用户中按钮令牌才能使用。这可以在为用户准备按钮令牌。但是,密码绑定不一定必须由服务提供者完成,或者在服务提供者在场的情况下完成。用户可以得到按钮令牌处于未绑定状态,并使用其家用计算机或工作站嵌入其个人密码,或者选择根本不嵌入密码(如果系统允许此选项)。

用户密码绑定在令牌秘密中,因此在不访问系统主秘密或至少访问唯一令牌秘密的情况下无法更改密码。在大多数情况下,更改用户密码的最简单方法是,服务提供者只需为客户生成一个新令牌,将数据内容从旧令牌传输到新令牌(这可能涉及重新签名数据),然后删除旧令牌中的数据和秘密并回收它。然后,客户将所需的新密码注入他的新帐户按钮令牌。(见应用说明152,“SHA按钮秘密和挑战。”)此方法保留了服务提供商可能已经存在的秘密共享方案的安全性,因为系统主秘密不是必需的,而只是准备好的新秘密按钮令牌。

因为用户按钮令牌不包含敏感的主系统秘密,可以通过网络远程准备使用。当然,服务器必须通过其他方式对用户和令牌进行身份验证(有时称为“二十问题身份验证”),然后使用令牌序列号生成一个未绑定的唯一令牌秘密,然后使用安全连接将其发送给用户令牌。接下来,用户将提供一个密码,然后将生成的秘密在本地绑定到该密码。

密码在人类手中的安全性

与验证电子令牌的密码系统相比,用户密码通常被认为安全性较低。人类是出了名的不安全的秘密容器,用户界面很少能够保护敏感信息不被暴露。有各种各样的攻击,从简单的“肩冲浪”一直到非法更改代理软件,以便它捕获密码并将其传递给攻击者。(更不用说人身攻击,比如信心骗局、贿赂和胁迫。)因为用户密码必须总是在某个时刻进入公共领域(即,当进入工作站时),所以它们通常不太安全。尽管如此,用户pin或密码是我们唯一可行的身份验证方式。

这里描述的方法还必须假定一些关于用户代理(工作站)的事情:

  1. 用户的代理(工作站、PC或终端)将接受他的密码,加密,并以合理的安全性将其发送到服务器。

  2. 用户的代理不会记录用户密码或将其写入可能在以后泄露的介质中。

  3. 用户代理不会将其密码传递给其他方或用于任何其他目的。

换句话说,用户必须信任他向其泄露密码的代理是安全的,并保护他所提供的密码。安排代理软件进行签名和真实性测试,以防止许多此类攻击,这将是一个好主意。在服务器对用户令牌进行身份验证之前,由服务器对代理进行身份验证是谨慎的做法。

密码预处理

由于密码系统要求密码是精确匹配的,因此用户提供的密码在用于身份验证过程之前必须经过预处理。用户可能会输入长空格、尾随空格、错误的大小写或其他格式错误的字符。这些错误通常不会降低密码的有效性,但如果按照输入的方式使用,则会导致身份验证失败和用户受挫。

如果允许使用混合大小写的密码,那么即使用户键入了正确的字符,也可能在输入正确的大小写时遇到麻烦。将所有密码转换为大写可以减少密码字段的大小,但可以降低人工密码输入对人为错误的敏感性。通常应该从密码中删除空格和尾随空格,并且可以及早发现明显的非法字符,以便在启动整个身份验证过程之前让用户有机会重新输入密码。必须强制执行密码长度限制(最小和最大),并且一些系统可能希望强制要求密码包含字母和数字以提高安全性的规则。填充密码以使其适合所需的字段大小也是一个重要的考虑因素。填充可以由空、空格、固定代码甚至是数字序列组成,目的是使攻击更加困难。填充方法的选择对系统的安全性有很大的影响。

无论在密码预处理中使用什么规则,重要的是,在安装原始用户密码时,这些规则必须与在请求密码进行身份验证时完全相同。

结论

在绝大多数用户身份验证系统中,用户密码是唯一的安全手段。密码成本低且简单,但不可能知道密码何时被泄露。密钥(机械令牌)的优点是用户知道密钥何时丢失。先进的电子令牌系统可以大大改进用户令牌的身份验证,但不能对人进行身份验证。将用户密码绑定到电子令牌认证系统中可以提高安全性,并获得基于令牌和基于密码的安全方案的优点。

声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: