TLS
UDP——>DTLS
我们可以模拟产生这个层次,发送消息到server,然后打印出一些握手信息,可以通过编写python程序实现。
当客户端要访问一个网站,客户端要检查证书是否匹配,也会检查hostname是否相同,会检查证书中的commonName和SubjectAltName。
做的工作
在这个实验过程中主要做了以下几个实验:
- 模拟TLS的结构向已存在的网站握手,然后返回相应的信息
- 模拟中间人攻击,将某网站的ip在
/etc/hosts
中ip修改为我们的网站,然后访问,则会和我们网站进行握手并返回i相应的信息(其中要把hostname检查关闭掉) - 模拟client向网站握手,并发送信息,然后将接收的信息打印出来
- 模拟server端,证书都是我们自己模拟生成的,并连接到本地ip和指定端口,我们再通过网站去访问,会打印出html信息,并且server会将信息打印出来
- 然后我们再用自己的client向自己的server握手打印出相关信息
- 攻击者将根证书提前安装在用户的浏览器中,然后攻击者就可以作为一个中间代理者与用户真正想访问的网站握手,并且也会与用户握手,这样就可以截获用户与真正的网站交互的信息,从而造成攻击。我们通过修改用户真正访问的网站的ip也是在
/etc/hosts
文件中修改,然后编写server端程序,来接受客户端的访问,并把访问的信息发送到真正的网站,然后再编写一个client接受真正网站的信息,这些中间传输的信息都会被打印出来。
我把相关文件放到了文件夹:D:\研究内容\TLS-大学资料