首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于嵌入式设备,您知道哪些易于使用的身份验证算法?

对于嵌入式设备,您知道哪些易于使用的身份验证算法?
EN

Stack Overflow用户
提问于 2012-10-12 17:48:43
回答 3查看 634关注 0票数 0

我有一个代码大小有限的嵌入式设备(E)。它使用UART (USB,串行,..)与主机处理器(H)通信。我需要实现一个简单的主机认证解锁功能的处理器是我的嵌入式设备。

重要的问题是USB/serial/UART可能被监听,因此通道是不安全的。

用法应该如下:在制造过程中,我们生成一对密钥Ke和Kh。E存储Ke E生成N个随机字节R,使用密钥Ke将R加密成秘密S并发送到H H应该使用Kh对S进行加密以揭示R H将R发送到E并且E解锁某些功能

所以,

代码语言:javascript
运行
复制
S = u(R, Ke)
R = v(S, Kh)

其中u()v()是一些加密函数(它可能是u = v,但u必须易于在嵌入式设备中实现,占用的代码空间很小)。

这应该是更好的找到一个模拟日志,允许有多个Kh的同一个Ke给不同的用户。但这是可选的。

如上所述,通道是不安全的,所以我们不想让一个坐在USB上的邪恶分子(带有USB嗅探器)仅从R和S泄露Ke或Kh (或从S生成R的方法)。

因此,XOR将不起作用;)

请提出一些建议

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-15 14:19:57

你的设备可以给处理器一些随机数,并使用一些轻量级加密算法(例如RC5)验证加密随机数的答案吗?这还可以帮助您在设备和处理器之间建立安全通道。例如,答案可以是RC5_CBC( CONCAT(key_for_secure_channel, nonce) )。注意: nonce必须写在最后,所以新的密钥完整性将由它们验证。

票数 0
EN

Stack Overflow用户

发布于 2012-10-12 18:02:01

您可以看看CHAP,它是PPP支持的身份验证协议之一。Check out Wikipedia's page about CHAP.

票数 0
EN

Stack Overflow用户

发布于 2012-10-16 16:23:03

您需要执行此操作多少次?每对K_h和K_e是否唯一?要做到这一点,最简单的方法是在设备和主机上生成一个随机的、预先共享的秘密(在制造过程中),然后将其用作一次性垫。

一次性pad的基本思想是,你接受你的消息,XOR是一个秘密。只要你的秘密和你的信息一样长,而且你只做一次,那么你就没问题。在你的频道上嗅探的人不应该能够弄清楚消息是什么,因为他们也不知道秘密是什么。当然,当您发送解密的回复时,在通道上嗅探的人将能够解密所有内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12856407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档