读书笔记_python网络编程3_(6)

Python77

6.0. 传输层安全协议(TLS, Transport Layer Security)是如今web上应用最广泛的加密方法了,1999年成为互联网标准。前身是安全套接层(SSL, Secure Sockets Layer),1995年发布。现代web的许多基础协议都使用TLS来验证Serv身份,并保证传输过程中的数据。

6.1. TLS无法保护的信息

只要配置好了TLS-socket,通过该socket发送的数据对其他任何人都只是"胡言乱语"。此外,除非TLS设计者使用的数学出现问题,否则即使是PC/政府特工也无法攻破TLS保护的数据。

TLS能保护的信息包括:与请求URL间的HTTPS连接及返回内容、密码/cookie等可能在socket双向传递的任意认证信息。窃听者无法偷取这些TLS保护的信息。

1)本机与远程主机的地址都是可见的,地址信息在每个数据包的IP头信息中,以纯文本的形式表示
2)Serv和Cli的port在每个TCP头信息中可见
3)Cli为了获取Serv的IP,会先进行DNS查询。该查询在通过网络发送时,也可见
通过TLS加密的socket,向任一方向传递数据块时,观察者都可看到数据块的大小。尽管TLS会试图隐藏确切的字节数,但观察者仍然能看到传输数据块的大致规模。也可看到进行请求和响应的整体模式。

场景:通过一家咖啡店的wifi,使用一个安全的HTTPS-Cli(浏览器)访问https://pypi.python.org/pypi/skyfield/。在咖啡店中,"观察者"可能是连接到咖啡店wifi的任何人,也可能是控制了咖啡店与外网间的路由器的某个人,观察者可能会了解到哪些信息?

输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长