python进程的相互认证

时间:2016-12-04 22:28:17

标签: python authentication

想象一下,你有两个python进程,一个服务器和一个客户端,它们相互交互。 两个进程/程序都在同一主机上运行,​​并通过TCP进行通信,例如。通过使用扭曲框架的AMP协议。

你能想到一个高效且聪明的方式,两个python程序如何相互验证? 我想要实现的是,例如服务器只接受来自可信客户端的连接以及不允许第三方进程可以连接到服务器的连接。

我想避免公钥加密或SSL连接等问题,因为开销很大。

1 个答案:

答案 0 :(得分:0)

如果您不想使用SSL,可以选择以下几种方法:

  1. 客户端必须向服务器发送一些身份验证令牌(您可以将其称为密码)作为通过套接字发送的第一批数据之一。这是最简单的方法。这种方式也是跨平台的。
  2. 客户端必须发送其进程的ID(特定于操作系统)。然后,服务器必须进行一些系统调用,以确定此客户端进程的可执行文件的路径。如果它是有效路径 - 客户将被批准。例如,有效路径应为'/bin/my_client'"C:\Program Files\MyClient\my_client.exe",如果其他客户端(让我们说道路'/bin/some_another_app'将尝试与您的服务器通信 - 则会被拒绝。但我认为这也是开销。实现也是特定于操作系统的。