我目前正在使用 Visual Studio 2010 开发一个项目。我想知道如何使用拇指驱动器来验证 ASP.NET 中的安全性。
例如,当您从用户计算机插入拇指驱动器(例如 D: 驱动器)时。系统能够跟踪这是正确的驱动器加上拇指驱动器,然后用户将能够查看该页面。如果拇指驱动器被移除或未插入,它会将您重定向到 lock.aspx 屏幕,直到拇指驱动器再次插入正确的驱动器。
我正在考虑使用序列号作为知道哪个是拇指驱动器的关键。
它类似于(USB predator),但我尝试在 Web 应用程序上而不是 Windows 上执行此操作。
任何人都可以为我提供有关如何开始或为此使用的工具的指南吗?
最佳答案
问题由两部分组成。
首先,您需要在客户端上安装一些可以检查 USB 设备的软件。浏览器本身不会为您执行此操作,除非您有权构建某些自定义版本的浏览器(例如基于 Chromium 或 Mozilla 的浏览器)并让您的用户安装和使用此浏览器。或者,您可以为浏览器创建一个插件来完成这项工作。另一种选择是在服务的每个页面上都有一些小程序。如果是插件,您需要让客户端安装它,并且插件主机本身(浏览器)应该让小程序以某种方式连接到 USB 设备。如果是小程序,请参见下文。
第二个方面是USB驱动器的使用。此类驱动器很容易被复制或窃取,因此其安全性较低。存在 USB 加密 token ,其设计为客户端身份验证功能的一部分,该任务与您的任务类似。 USB 加密 token 包含带有私钥的证书和/或它们可以包含对称 key 或其他信息,其中 (A) 要求用户输入 PIN 才能访问此信息,并且 (B) 无法从设备中提取(可以使用 key 但不能复制 key ) )。 A 和 B 都显着提高了安全性。
USB加密 token 要求用户安装此类 token 的驱动程序,而且 token 比普通闪存更昂贵。另一方面,它们可以相对容易地从 Java 小程序访问(也可能从浏览器插件访问 - 这取决于浏览器),并且它们可以通过执行加密操作而不是纯粹的串行传输来以安全的方式进行身份验证数或类似数。
总而言之,您可以构建一个登录方案,但您需要让用户安装一些东西(插件和/或 USB token 驱动程序或自定义浏览器)。
关于asp.net - 使用 asp.net 对拇指驱动器进行用户身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24587826/