我正在编写一个客户端 - 服务器模型(客户端是服务器上的一个脚本,它收集数据并通过 REST 将其发送到服务器)并且想要加密发送的数据。
目前我有一个生成随机密钥的函数,它从特定时区添加时间 - IP-HOSTNAME-YEAR-MONTH-DAY-HOUR-(MINUTE/2)
密钥的每个部分通过 SHA256 运行 3,000 - 10,000 次,最后生成 128 位密钥。脚本总共需要大约 0.8 - 1 秒才能完成。
数据通过 AES 加密,使用部分 128 位密钥作为密钥和 iv。
服务器脚本,侦听任何连接,验证是否列出了 IP 地址,然后继续解密数据(使用相同的方法生成密钥和 iv )
我的问题是: - 我在重新发明轮子吗?- 是否有更好的做法来生成用于数据加密的动态、限时密钥?
我的目标是拥有一个限制为 60-120 秒的密钥,然后将其丢弃,使用多个周期来生成密钥(感谢阅读 Truecrypt 的 Python 方式),因此如果捕获到任何数据,它就不会被解密“容易地” 。此外,服务器模型将有一个 SSL 证书,它将用于加密加密。
我正在考虑为每个客户端脚本(生成 RSA)提供一个静态密钥,用于 AES 加密。
感谢您的诚实回答和任何改进这一点的新想法。