将客户端验证到服务器

时间:2014-02-18 10:50:04

标签: authentication encryption client-server client

我有一个小设备,其中包含一个通过互联网与服务器通信的客户端程序。非常标准的东西。

我要求服务器能够对来自设备的消息进行身份验证,这意味着来自设备的所有通信都来自可靠的客户端,而不是来自某些冒名顶替者。假设攻击者可以对客户端进行逆向工程,并将自己的程序加载到设备上。

我在质疑这是否可行。我当然可以将客户端证书加载到客户端,但是攻击者可以自己使用它并自己使用它。设备的成本必须保持较低,因此没有花哨的硬件技巧。关于我如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:1)

根据设备和您所讨论的滥用行为,您可以使用需要某种激活的方案。就像将主密钥输入内存一样 - 如果断电则会丢失 - 这是某些加密卡上使用的技术。

对抗被盗设备的方法可能涉及某种租用密钥,需要续订在常规基本上指定一个秘密

对抗模仿/复制的方法可能是在不断变化的客户端和服务器之间使用公共状态。就像定期协商新的加密密钥一样。

答案 1 :(得分:0)

我们的应用和网络服务使用了类似的功能。我们将其称为ApiValidation,其中每个服务请求中的客户端添加一个名为ApiID的头,服务器可以解码该头以查看客户端是否被授权。