**已关闭。**此问题为not about programming or software development。当前不接受答案。
此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site主题相关,您可以留下评论以解释在何处可以回答此问题。
5天前关闭。
Improve this question
我使用自动交易机器人已经有一段时间了,并且与几个经纪人的API进行了交互,我注意到其中最大的部分需要套接字SSL或HTTP请求连接。
现在,事情变得严肃起来,我想知道这种类型的连接有多安全。
我经常通过这种类型的连接操作我的财务数据,也许会暴露它。
显然,我使用VPN(即使我不知道VPN在这种情况下如何发挥作用),我知道套接字SSL连接是加密的(?),但HTTP呢?我如何使这些类型的连接更安全?使用Selenium或BeautifulSoup输入密码和处理敏感信息是否不安全?
示例:
请求HTTP:
requests.post(url, data=payload, verify=True)
SSL套接字:
def connection(port):
url = ""
context = ssl.create_default_context()
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(30)
conn = context.wrap_socket(sock, server_hostname=url)
conn.connect((url, port))
1条答案
按热度按时间3ks5zfa01#
我不知道VPN如何在这种情况下发挥作用
VPN只是在您的计算机和远程网络之间建立一个安全的连接,就像您的计算机在本地物理连接到该网络一样。该连接上的任何流量都不能被监视该连接的恶意代理程序所理解,只能被同一网络上的设备所理解。
然而,虽然VPN可以保护通过开放Internet发送的流量,但它无法防止在连接的网络上运行的恶意代理程序的安全漏洞。因此,请仅在连接到受信任的网络时使用VPN。
我知道套接字SSL连接是加密的(?)
是的。
但是HTTP怎么办呢
HTTP本身是不安全的。但是HTTPS,它只是通过SSL/TLS连接的HTTP,如果使用得当,它是完全安全的。大多数互联网都依赖SSL/TLS来保证其安全性。
我如何才能使这些类型的连接更安全?
SSL/TLS使用对等加密。理论上,只有相互通信的双方才知道所使用的加密密钥,允许发送方使用接收方的密钥加密只有接收方才能解密的数据,反之亦然。
但是,如果您不小心,恶意代理可能会充当中间人来拦截SSL/TLS连接。这意味着,假设
A
想要安全地与B
对话,但M
处于中间。M
会欺骗A
与M
对话,并欺骗B
与M
通话。M
在与A
通话时会假装是B
,在与B
通话时会假装是A
。因此,M
将获得对这两个密钥的访问,并且能够解密在A
和B
之间流动的所有数据。这就是身份验证发挥作用的地方,通常以SSL/TLS证书的形式。这样,
A
可以验证它是否真的在与B
交谈,B
可以验证它是否真的在与A
交谈。M
将无法访问伪造身份所需的任何证书,所以它不能假装是其中任何一个。如果您需要通过HTTP进行安全通信,请使用HTTPS并在传输任何敏感内容之前验证与您通信的对等方。