Python中文
首页
教程
问答
标签
搜索
登录
注册
自定义系统中基于HTTP的认证/加密协议
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我们有一个定制的程序,它需要在客户端和服务器之间进行经过身份验证/加密的通信(都是Python语言)。在</p> <p>我们正在以一种非正统的方式从自定义编写的Diffie-Hellman+AES到RSA+AES进行全面检查。所以我对我的想法很感兴趣。在</p> <p>前提条件:Klient有一个128位的注册密钥,在身份验证过程中它需要保持机密-这个密钥也是服务器和客户端之间唯一的共享机密。在</p> <ol> <li>客户机通过不安全的通道与服务器联系,并询问服务器RSA PubKey</li> <li>客户端然后查询服务器:<br/> [后面是伪代码]</li> </ol> <p/><pre><code> RegistrationKey = "1dbe665ac7a944beb67f106f779e890b" clientname = "foobar" randomkey = random(bits=128) rsa_cp = RSA(key=pubkey, data=randomkey+clientname) aes_cp = AES(key=RegistrationKey, data=RegistrationKey+rsa_cp) send(aes_cp)<br/> </code></pre> 三。然后服务器响应: [后面是伪代码] ^{pr2}$ 现在双方都知道“clientuuid”、“sharedkey”,客户机以后可以使用它来对自己进行身份验证。上面的方法应该是安全的,即使攻击者后来学习了regkey,因为他必须破解RSA密钥,中间人攻击(针对RSA)应该停止身份验证。无法正确完成。 我看到的唯一可能的攻击方法是攻击者知道regkey并可以在身份验证期间更改流量。我说的对吗? <hr/> <p>我真的很想听听您的IDE,了解如何从这种方法中添加/删除什么,以及您是否知道一种更好的方法来进行这种交换。<br/> PS!我们目前使用的是Diffie-Hellman(我自己的lib,所以可能有缺陷),我们已经尝试过使用PreSharedKeys的TLSv1.2(由于某些原因不起作用),我们被限制在http协议中,因为我们需要在django中这样做。因为我们在http中这样做,所以我们尽量保持请求/应答计数尽可能低(没有会话是最好的)-1将是最好的:)</p> <p>如果您对具体细节有任何疑问,请提问。在</p> <p>所以,你们这些加密/安全极客,请帮帮我:)</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>不要再发明风团,使用HTTPS。在</p> <p>服务器可以向客户端颁发证书并将其存储在数据库中。客户端可以使用服务器的自签名证书进行分发以进行验证。服务器可以使用<a href="http://httpd.apache.org/docs/2.0/mod/mod_ssl.html" rel="nofollow noreferrer">Apache's HTTPS Environment Variables</a>验证客户端。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何在乒乓球比赛中预测球的轨迹,对于AI球拍预测?
1 回答
如何在乒乓球游戏中阻止球
10 回答
如何在乘法和模中不乘空间?
5 回答
如何在乘法和除以2个不同的数字之间进行交换?
2 回答
如何在也是数据一部分的单个字符上拆分大字符串
7 回答
如何在乾草堆中找到針,有更好的解決方案嗎?
2 回答
如何在事件wxWidgets中传递自定义数据
7 回答
如何在事件中使用lambda i=i?
9 回答
如何在事件中心只接收最近的数据
5 回答
如何在事件发生之前保持云函数运行?
5 回答
如何在事件发生后使页面重定向到同一页面
6 回答
如何在事件回调之间保持python生成器的状态
2 回答
如何在事件处理程序(pythonsocket、sphinx)中保留docstring
4 回答
如何在事件处理程序中更改wxRichTextCtrl的光标位置?
2 回答
如何在事件处理程序中访问外部对象?
2 回答
如何在事件循环中将协程打包为正常函数?
10 回答
如何在事件循环之外运行协同程序?
10 回答
如何在事件循环结束时为并发未来的所有线程调用类方法?
8 回答
如何在事件文件中只保留一份摘要?
5 回答
如何在事件模板中添加事件
6 回答