以太网MAC地址作为设备的激活码?

时间:2020-03-05 18:43:51  来源:igfitidea点击:

假设我们在现场部署了网络连接的设备(小型PC)。我们希望允许这些设备在开机后回电,然后由最终用户识别并激活。

我们当前的计划涉及用户在我们网站的激活页面中输入MAC地址。稍后,我们的软件(在包装盒上运行)将从接口读取地址,并将其以"回拨"数据包的形式发送。如果匹配,服务器将响应客户信息并激活该框。

我们喜欢这种方法,因为它易于访问,并且通常印在外部标签上(FCC要求?)。

有什么需要注意的问题吗? (使用的硬件尺寸很小,因此所有NIC等都是嵌入式的,很难更改。客户通常不会以任何方式直接访问OS)。

我知道Microsoft使用PCI设备ID,内存大小等为Windows激活做了一些疯狂的模糊散列功能。但这似乎对我们的需求来说是过大了。

--

@Neall基本上,致电我们的服务器,就此讨论而言,我们可以叫我们制造商。

Neall是正确的,我们只是将地址用作常量。我们将读取它并在另一个数据包(例如HTTP POST)中传输它,而不依赖于以某种方式从以太网帧中获取它。

解决方案

回答

从安全的角度来看,我知道可以欺骗MAC,尽管我不能完全确定MAC有多困难或者需要什么。

否则,如果客户不能轻松访问硬件或者操作系统,那么我们应该相当安全...最好在上面贴上警告标语,指出弄乱任何东西都会破坏与服务器的通信。

回答

我认为在这种情况下,MAC地址的众所周知的欺骗性不会成为问题。我认为调整只是想将它们用于初始识别。该设备可以读取自己的MAC地址,并且安装程序可以(只要它印在标签上)可以读取相同的编号,并且知道:"好的,这是我放在位置A的盒子。"

这些框是要调入制造商的服务器,还是要使用它们的公司/人员的服务器(或者在这种情况下是相同的东西)?

回答

我不认为我们在这里所做的任何事情都无法描述为:

"在生产过程中,我们在每个设备上刻录了一个唯一的号码,该号码既可以由最终用户读取(在标签上),也可以由内部处理器访问。我们的用户必须将此号码及其信用卡信息输入到我们的网站中详细信息,随后该框将与网站联系以获取许可以进行操作"

"巧合的是,我们也将此数字用作网络数据包的MAC地址,因为无论如何我们都必须在生产过程中对其进行唯一分配,因此节省了我们重复这一工作的时间"

我会说两个明显的危害是:

  • 人们会用设备四处乱窜,并将此地址更改为其他人已经激活的地址。这种情况是否可能发生,取决于他们窃取的东西有多辛苦和有多昂贵之间的某种关系。我们可能想考虑他们获取固件升级文件并从中获取代码的难易程度。
  • 有人结合使用防火墙/路由器规则和一些自定义软件来生成服务器,该服务器复制"身份验证服务器"的操作并向设备授予继续操作的权限。作为协议的一部分,我们可以通过将散列/ PKE进行某种组合来使此操作变得更加困难。

像以往一样,一些乏味,昂贵的一次性黑客攻击基本上是无关紧要的,我们不需要的是可以通过互联网分发给所有窃贼的类突破。

回答

MAC地址与手册/贴纸上印刷的序列号一样唯一。

Microsoft进行哈希处理以防止MAC地址欺骗,并允许更多的隐私。

使用唯一的MAC方法,我们只需位于同一子网中即可轻松将设备与客户匹配。哈希表通过对所使用的标准不透明并且无法对单个零件进行反向工程来防止这种情况。

(请参阅密码哈希)