我正尝试将身份验证添加到xmlrpc服务器(将在P2P网络的节点上运行),而不使用用户:password @ host,因为这会显示密码给所有的攻击者。认证是基本上创建一个专用网络,防止未经授权的用户访问它。如何将身份验证添加到(Python)扭曲的xmlrpc服务器
我的解决方案是创建一个非常类似于this的质询响应系统,但我不知道如何将其添加到xmlrpc服务器代码。 我发现了一个类似的问题(需要定制认证)here。
所以我试着创建一个模块,只要客户端连接到服务器就会被调用。这将连接到在客户端上运行的质询响应服务器,如果客户端正确响应将返回True。唯一的问题是,我只能调用模块一次,然后我有一个反应堆不能重新启动错误。那么有没有什么办法可以让一个类只要调用“check()”函数就可以连接并执行此操作?
最简单的事情是使用SSL进行连接吗?这会保护密码吗?虽然这个解决方案不会是最佳的,因为我试图避免必须为所有节点生成SSL证书。
唯一的问题是这些假设服务器是可信的。如果一个P2P节点意外地给了攻击者的IP,那么使用user:pass @ host会给他们登录的详细信息。我的身份验证是相互的,因此也确保服务器知道密码。 – bradleyjkemp
摘要式身份验证不会向服务器显示明文密码。但是,听起来你使用SSL真的会更好。为所有节点生成SSL证书确实不那么困难,并为您提供更强有力的保证。 –
我想要做的是检查我连接的节点是否有权成为网络的一部分。要在SSL中执行此操作,我需要一个证书颁发机构签署所有证书,并且只信任那些证书。并行Python有一个类似于我尝试创建的系统,但我不确定它是如何实现的。 – bradleyjkemp