我正在构建一个在web上运行的Flash应用程序,用户可以访问并创建自己的内容,并与我的服务(用Python构建)结合使用。具体而言:用户发送一些数据;在服务器上执行一些转换;然后将完成的内容发送回用户,在那里由客户端应用程序呈现。
我希望能够防止客户端呈现虚假内容,这可以通过传递服务器生成的主内容一起传递一个键控散列来实现。然后,客户机将再次使用相同的键对内容进行散列,并确认散列/签名是否匹配。如果存在不匹配,可以假定内容是不真实的。
我遇到的问题是,将密钥保存在SWF内是不安全的。我已经考虑过许多混淆密钥的方法,但我正在了解到,如果攻击者想要密钥,他们可以很容易地获得它。一旦攻击者拥有了该功能,他们就可以开始创建自己的内容,从而在不知不觉中被客户端接受。
是否有另一种方法可以在客户端验证文件的签名,而不公开用于创建该签名的方法?
发布于 2014-01-09 23:01:08
是否有另一种方法可以在客户端验证文件的签名,而不公开用于创建该签名的方法?
公钥密码。您在客户端只有一个公钥,并要求服务器端的私钥为其生成一个签名以进行验证。
你想阻止什么袭击?如果您关心的是无辜用户和服务器之间的中间人攻击,明智的选择是TLS (HTTPS)。这是一个预先煮熟的,众所周知的很好的实现,包括公钥密码学.它比滚动你自己的密码要好得多,这很容易出错。
https://stackoverflow.com/questions/21020507
复制相似问题