我有一个创建帐户admin
的应用程序的中心实例。judge
为了使用此法官帐户,judge
来自另一台计算机的应用程序实例需要通过中央admin
. 该应用程序的一个user
实例会将一些内容发送给admin
,后者会将其推送给其中一位评委。
我的问题是如何验证法官的身份。如果我只是简单地发送密码,它可以被嗅探(因为所有这些实例都需要在同一个网络上)。
我不确定使用 SSL 是否会有所帮助,但即使有,我也无法使用它(我无法控制它)。
我有一个创建帐户admin
的应用程序的中心实例。judge
为了使用此法官帐户,judge
来自另一台计算机的应用程序实例需要通过中央admin
. 该应用程序的一个user
实例会将一些内容发送给admin
,后者会将其推送给其中一位评委。
我的问题是如何验证法官的身份。如果我只是简单地发送密码,它可以被嗅探(因为所有这些实例都需要在同一个网络上)。
我不确定使用 SSL 是否会有所帮助,但即使有,我也无法使用它(我无法控制它)。
你可以在这里使用类似 pgp 的东西。所以你会使用一些公钥的东西。这将完全消除对密码的需要。
通过公钥加密,每个用户都有一个公钥和一个私钥。用一个密钥加密的东西只能用另一个密钥解密。所以你可以分发公共公钥。如果有人想给你发东西,他可以用你的公钥加密消息,只有你可以解密。
因此,发送到服务器的消息将使用用户私钥进行加密。他发送消息和他的公钥。如果您知道此公钥,则可以在服务器端进行数据库查找。如果您可以使用该密钥解密消息,则您知道它是由该用户发送的。
通过一些工作,您可能可以使用它来识别和验证用户。
当他们第一次与服务器交谈时,您只需使用评委来保证任何新用户及其公钥。因此,您可以创建一个信任网络。