2011-10-04 28 views
0

我们希望创建一个唯一的计算机id - 密钥指纹,以便通过安全网络(可能是ssl/tls)识别PC(s),以便我们确信服务器交付给某台PC,而不是盗取许可证的人。个人电脑将在Linux操作系统上运行。我们应该怎么做?通过tls网络进行安全客户端访问的设备指纹

回答

0

几个建议。

  1. 在本地机器上的二进制文件创建一个独特的散列算法,散列计算机名和MAC地址一起发送哈希回安全服务器,并将其存储。在通信时,您的协议会要求客户端在通信之前将哈希码指纹发送到服务器进行身份验证。

  2. 生成一组存储在特殊文件中的有效许可证密钥(另一个散列)。当应用程序第一次启动时,它会向服务器注册密钥和计算机信息(即:计算机名称)或用户名/密码组合。与#1一样,计算机必须在通信之前将唯一密钥发送到服务器进行身份验证。设置你的服务器代码,使得相同的密钥不能来自两个不同的设备。

  3. Check out this stackoverflow answer to the same question.作者对一个非常相似的问题有一些有趣的见解。

+0

我会选择1.你说的这个算法应该是在客户端机器上运行的应用程序?或者,服务器是否可以向客户请求和获取这类信息?如果应该创建应用程序,那么每次服务器需要验证请求时如何触发它? –

+0

如果您打算构建客户端应用程序,那么您可以将其与此绑定,而不是构建单独的应用程序以创建关键哈希。另一方面,如果您决定没有客户端应用程序,那么您应该让服务器使用类似当前时间的毫秒数生成一个有效的哈希键,并在客户端请求密钥时将其发送给客户端。 – FloppyDisk

相关问题