【发布时间】:2015-04-20 10:14:45
【问题描述】:
我在一个项目中工作,我必须远程配置一些产品。 这些产品有 sim 卡,可以通过 gsm 连接到互联网,所以我无法直接连接到它们。
客户将连接到我的网站,通过填写表格对他们的产品提出配置请求,完成后,我将所有产品的新配置保存在数据库中,我将向每个产品发送一条短信,短信让产品知道他们必须通过 http 连接到 sms 中指定的 url,当他们连接到 url 时,我会用他们的序列号识别产品并发送他们的新配置。
现在我真的不知道如何保护短信中发送的所有数据或管理从产品到我的服务器的身份验证。
我想基于 MD5/SHA HASH 公式进行身份验证,但问题是用于哈希的秘密将存储在产品中,如果秘密和公式被知道,它将变得至关重要. 也许使用带有产品信息的日期的动态哈希会更好。 HTTPS也许可以解决一切,但我不能只使用产品的序列号作为授权。
我还想在基础设施上添加一个私钥,但我认为它太复杂了。 例如,我会使用产品公钥加密数据,产品会使用我的服务器公钥加密数据,但我不知道实现这种架构是否太难。
我使用 django 框架,ngnix。
【问题讨论】:
-
这个问题是too broad。可能的答案太多,或者对于这种格式来说,好的答案太长了。请添加详细信息以缩小答案范围或隔离可以在几段中回答的问题。
-
缩小范围我想知道如果哈希公式不包含在产品和我的代码中硬编码的密码,则使用哈希验证我的产品连接是否安全,所有公式数据都将包含产品序列数字,日期可能是其他产品信息。
标签: django security encryption hash https