用于应用程序服务器交换的原始Diffie-Hellman加密

内迪·邦兹(Nerdy Bunz)

正在开发一个允许用户通过单击某人来呼叫某人的应用程序。呼叫之后,将启动一个新的活动FeedbackActivity,用户在该活动中输入有关其呼叫者的反馈,该反馈已上载,服务器随时间推移处理数字并产生“评分”。

但是,该应用程序没有传统的“登录和密码”行为...(并且很重要,它没有此行为),因此没有什么可以阻止用户一遍又一遍地恶意输入负面反馈...或更糟的是,加载

http://www.example.com/feedback.php?personICalled=334875634&feedback=blahblahblah

到浏览器中,然后一遍又一遍地重新加载。

因此,我们需要确保人们只能对实际打电话的人提供反馈。

我的想法是当用户单击“呼叫”时将某种“令牌”发送到服务器。然后,服务器保存该令牌。

然后,当他们随后上传反馈时,将显示为:

http://www.example.com/feedback.php?personICalled=334875634&feedback=blahblahblah,&token=[same token sent prior]

这样,服务器将检查是否曾经保存过此类令牌,​​如果已保存,则将保存反馈,否则不会保存。

或者,更好的是,可能有一个仅服务器(和应用程序)知道的秘密公式,其中[根据给出的反馈检查令牌]是[在通话时上传的令牌]的(复杂的数学)功能。

但是,显然,对于某人来说,通过查看应用程序源代码,或者随着时间的推移观察y = f(x)的关系并找出公式,并不难,而且必须有一种更好的方法去做这个。

我了解了Diffie-Hellman密钥交换的信息...在我看来,必须有一种实现此目的的方法...但是我不是哈佛毕业生,而且自离散数学以来已有一段时间了...而且我对密码学不是特别了解...并且Wiki页面使我头疼!!!

以这个图为例 您能解释一下ZAT吗?

如果有人能告诉我“普通涂料”,“秘密色彩”,“公共交通”和“普通机密”这些术语对我的情况有何影响,我想我也许可以弄清楚。

我猜公共交通=互联网...我已经走了这么远。

大大陆

首先,Diffie Hellman不会解决您的问题。加密中有很多事情可能出错,因此除非您真的知道自己需要密码并且知道想要做什么,否则不要玩它。

您的真正要求是什么?用户每次呼叫只能输入一次反馈。您不需要加密即可解决此问题。

用户拨打电话时,生成令牌。将该令牌发送给用户,并将其存储在数据库中。通话结束后,通过提供与该令牌关联的反馈,允许用户“使用”该令牌。服务器验证令牌是否存在于数据库中(并且尚未被使用)。假设它在那里,接受反馈,然后从数据库中删除令牌(令牌已被使用)。如果不存在,请不要接受反馈。

您还可以通过使用令牌存储时间(令牌生成的时间)来改善性能。如果他们尝试过早使用它,不要让他们提供反馈。如果令牌在一定的最大使用期限后没有被使用,则使令牌过期。这样可以防止人们重复呼叫无限期存在于您的数据库(DoS)中的用户或令牌。

您可能还会通过IP地址限制人员。在任何合理的时间段(一天)中,仅允许用户从IP地址接收一个评分。IP地址可以与反馈一起存储在数据库中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

certbot使用弱diffie hellman加密

python中的Diffie-Hellman加密方案

使用Diffie Hellman密钥交换和椭圆曲线加密快速加密

电子在单独的线程上运行加密Diffie Hellman密钥

Python Diffie-Hellman交换加密库。共享密钥不一样

从Diffie-Hellman输出中选择一个加密密钥

桌面应用程序和服务器之间的加密-C#至PHP

我如何在不停止服务器的情况下使用django应用程序背后的加密功能?

将客户端应用程序上的数据加密后再发送到服务器

我如何使用 diffie-hellman-group1-sha1 算法连接到 AWS transfer Family 的 SFTP 服务器

如何在客户端(CryptoJS)和服务器(Crypto Node.js)之间建立Diffie Hellman连接

用于Diffie-Hellman密钥交换的C ++ GMP随机数生成

python Diffie Hellman标准库

使用ECDSA x509证书的Diffie Hellman密钥交换

OpenSSL 3 Diffie-Hellman 密钥交换 C++

使用颜色解释Diffie-Hellman密钥交换?

密码学Python:Diffie-Hellman密钥交换实现

Java / Erlang:Diffie Hellman密钥交换不起作用

为什么在Diffie-Hellman密钥交换中使用质数?

Crypto ++和Python之间的Diffie-Hellman密钥交换

Diffie Hellman密钥交换不起作用(Javascript)

同一服务器上具有相同cookie加密密钥的两个NodeJs应用程序可以共享cookie吗?

在部署到 Play 商店之前,我必须在我的应用程序中加密用户和服务器之间的哪些流量?

如何加密数据以便 Web 应用程序可以读取它,但可以访问 Web 服务器的人不能?

任何人都可以详细指导如何使用SSL加密通过Wildfly 10应用程序服务器连接到AWS RDS MySql实例

Diffie-Hellman实施不适用于更大的数字

用于托管 NodeJs 应用程序的 Nginx 服务器

C ++ vs Java用于服务器应用程序

用于解析服务器应用程序的MongoDB索引