我是一名安全/加密新手,正在寻找关于我的系统是否安全的建议,如果没有,加密是否对我来说是正确的答案。这是我的情况:
理想情况下,有没有办法让我知道谁是授权发件人,在我的接收器上指定只接受来自某某人的消息并安全地知道?在zeromq本身或其他方法?
感谢大家的帮助!
答案 0 :(得分:0)
如果您在所有发件人之间共享AES密钥(最好通过SSH或可靠的其他公钥基础结构),那么您将非常安全。接收方不必确切地知道发送请求的系统,它是相同的密钥。
但是:由于您发送的数据包都很小,因此您必须确保以巧妙的方式填充数据(可能是因为事务ID已经在接收方端进行了计数检查) ,发件人ID +一些随机数据)。如果你不这样做,你将对replaying attacks开放,无论恶意的人是否有钥匙。
另一种有趣的方法是以某种方式从接收器发送challenge-responses,i。即与一些公共密钥一起散列的随机数(其中一个应被视为" salt"?)。请不要使用对称加密密钥,如果有人设法以某种方式攻击挑战/响应,你也会给他们你的神圣共享密钥。
使用散列的回复,"回答"对于挑战,证明发送者拥有与接收者/挑战者相同的秘密密钥,并且可以非常快(SHA-1或类似的快速)。
玩得开心。不要,你永远不敢将你的解决方案用于真实。