django如何保护我的项目

时间:2015-04-20 10:14:45

标签: django security encryption hash https

我正在开展一个项目,我必须远程配置某些产品。 这些产品有一张SIM卡,可以通过gsm在互联网上连接,所以我不能直接连接到它们。

客户将在我的网站上连接,通过填写表格来对他们的产品进行配置请求,完成后,我将DB保存在所有产品的新配置中,我将向每个产品发送短信,短信让产品知道他们必须将http连接到短信中指定的网址,当他们连接到网址时,我会用序列号识别产品并发送新的配置。

现在我真的不知道如何保护短信中发送的所有数据,或者管理从产品到服务器的身份验证。

我想基于MD5 / SHA HASH公式进行身份验证,但问题是用于哈希的秘密将存储在产品中,如果知道秘密和公式,它将变得至关重要。 也许使用带有产品信息的一天日期的动态哈希会更好。 HTTPS可以解决所有问题,但我不能只使用产品的序列号作为授权。

我还想在下面添加私钥,但我觉得它太复杂了。 我会使用产品公钥加密数据,产品会使用我的服务器公钥加密数据,但我不知道它是否太难实现这种架构。

我使用django framework,ngnix。

1 个答案:

答案 0 :(得分:0)

我认为你对加密/解密数据的'哈希'感到困惑。哈希通常是单向的,没有办法(轻松)“解除”已传输的信息。

您设计中最薄弱的环节是用于传输数据的非常有限的SMS(短信)系统。它缺乏使用大/完整字符集(如二进制)的能力 - 这意味着加密消息必须非常长才能保证安全。但它也限制了消息的长度,因此无法发送这些长时间加密的消息。

正如评论中所提到的,这个问题过于笼统,无法提供具体答案。但如果这些是“智能”设备,使用SSL的专用配置“应用程序”可能是您的最佳解决方案。