【问题标题】:Javacard - hash the client-side password sent to the appletJavacard - 散列发送到小程序的客户端密码
【发布时间】:2020-12-24 18:21:34
【问题描述】:

例如,如果我有一个验证密码的小程序(密码是在小程序参数中创建的)并且客户端软件会显示一个对话框来发送密码 (*****),因为它发生这样的情况密码发送不明确,是什么概念。

对我来说,我认为有必要在客户端软件级别对密码进行哈希处理,客户端软件发送到小程序,小程序对哈希密码进行解密,并将其与安装小程序时传入参数的密码进行比较。

客户端级别的密码经过哈希处理后存储到服务器,applet对传递给客户端的参数进行哈希处理,客户端从applet中恢复哈希后的密码与服务器进行比较。

这是正确的方法吗?

感谢您的帮助。

【问题讨论】:

    标签: encryption passwords applet client javacard


    【解决方案1】:

    安全/密码学没有“正确的方法”。通常有多个选项具有不同的安全级别。

    通常使用密码或 PIN 来解锁智能卡上私钥的使用。然后使用该私钥创建签名,该签名可用于登录系统。为此,服务器需要信任用户的公钥。后者是使用证书/PKIX 完成的;密钥对是在卡片个性化时生成的,公钥最终以存储在卡片上的证书形式出现。此证书由受信任的实体签署。

    在这种情况下,密码通常不会被散列。它只是发送到智能卡上的芯片。该芯片值得信赖,因为它通常可以通过视觉识别。此外,与芯片的连接是可信的,因为它是非常本地的。最后,与大多数 PIN 一样,密码安全受到保护,因为芯片无法被黑客入侵,并且只允许一定程度的重试。

    如果无法信任与智能卡的连接,则需要一个安全通道。为此,可能需要建立智能卡的身份。


    仅在将密码发送到智能卡之前对其进行哈希处理不会有太大作用:问题在于哈希成为智能卡所涉及的新密码。因此,嗅探静态哈希将允许攻击者将其重播到智能卡。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-16
      • 2011-04-12
      • 2012-11-19
      • 2013-03-16
      • 2015-10-21
      相关资源
      最近更新 更多