如何防止USB加密狗共享

时间:2016-11-12 07:29:03

标签: security usb licensing penetration-testing dongle

我正在测试用于许可软件的USB安全加密狗。 我发现可以通过以下方式共享USB加密狗:
1)通过网络(通过许多免费和商业软件)
2)使用 VMWare 会话
3)使用 USB HUB 硬件

因此,最终用户可以购买一个加密狗并将其用于许多计算机。(但是我发现无法同时共享和使用加密狗,他必须在计算机之间切换。请告诉我,如果我错了)
主要问题是:

是否有任何解决方案可以阻止USB加密狗通过网络,VmWare或HUB交换机共享? 假设我们是生产者,我们可以改变USB加密狗的硬件,软件和驱动程序

1 个答案:

答案 0 :(得分:1)

我认为至少从理论上讲,可以创建一个维持状态的USB设备,在插入时重置它,并在断开连接之前保持状态。还需要一些加密才能使其合理安全(状态需要不可预测以防止共享),但是通过驱动程序支持,您可以实现多个计算机无法同时使用的USB加密狗。

谈到非同时使用,我相信这是不可能的。您的设备从计算机接收或检索的任何标识符都可以伪造,如果不是,则可以通过修改后的驱动程序版本伪造。 USB加密狗和计算机共享的任何秘密都可以由用户访问并复制到另一台计算机等。

但我认为这个问题不是真的。

您已投入大量资源(资金)使您的应用程序依赖于USB加密狗(顺便提一下,这也将影响用户体验,但这是一个完全不同的故事)。您试图保护的价值真的是非常值得付出这些努力吗?

任何辩护都应与风险成比例。如果你能让攻击者足够难以绕过你的保护措施,那么这已经足够好了。因此,您必须回答的问题是当前保护如何与某些用户能够在多台计算机上使用您的应用程序的风险相关,即使您的许可证不允许这样做。大多数企业都不会这样做。

另请注意,您所保护的只是软件。您可以生产USB设备,投入大量资金并使其尽可能安全,但在您的应用程序中发送到设备的支票只是给最终用户的代码。有了一个相当不错的加密狗,从您的应用程序中删除检查将更容易。回顾一下游戏行业或商业应用程序以前的尝试 - 最终总会有一个破解,无论是基于保护硬件还是其他。

所以最重要的是,你无法保护给予最终用户的任何东西。