我是靠谱客的博主 曾经航空,最近开发中收集的这篇文章主要介绍A和B之间的加密通信与HTTPS通信机制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

A和B之间的加密通信:

故事发生在计算机网络还不是很普及的时候,A和B之间经常有一些机密需要传递,但是A和B分居两地(可能一个在北京,一个在深圳), 显然由A亲自将密件交给B不太可行,那有没有一种方案将这些机密交由快递传送,而又不会被快递员窃取其中的机密?


解决方案:

1 B 提供一个锁,自己保存这个锁的钥匙;

2 A想和B进行通信时,拿到B的这个锁(下文中称之为锁1),然后A将另外一把锁(锁2)以及这把锁的一枚钥匙放到一个铁盒子里面(A自己保存锁2的另外一把钥匙),用锁1对这个铁盒子上锁(此时因为只有B有锁1的钥匙,所有只有B能够打开这个铁盒子)。A此时可以将这个铁盒子交给任意一个人(C),由此人转交给B,而不用担心C拿到盒子中的锁和钥匙;

3 B拿到C送过来的铁盒子后,用锁1的钥匙进行开锁,取出其中的锁2和对应的钥匙;

4 B写上一封信,将信放在铁盒子内,然后用锁2对铁盒子上锁,由C转交给A,而不用担心C偷窥其中的秘密;

5 A收到铁盒子后,可以用锁2的钥匙进行开锁,然后浏览信件。


方案中存在的问题:

1 A怎么拿到锁1?

如果让B将锁1快递给A,那么会存在以下问题:

快递员C将锁1替换,替换成锁3(快递员C自己保存锁3的钥匙,同时快递员保存锁1以备后用),快递员将锁3交给A(A此时并不知道快递员已经将锁换了,以为自己拿到的锁就是B寄过来的锁),A将锁2以及锁2的一把钥匙放到一个铁盒子里面,用锁3上锁,交给快递员C,由快递员C转交给B,C拿到铁盒子后,用锁3的钥匙开锁,拿到锁2以及锁2的钥匙,然后将锁4以及锁4的一把钥匙放在铁盒子里面(自己另外保存一把锁4的钥匙),用锁1对铁盒子上锁,将铁盒子交给B,B拿到铁盒子后,用锁1的钥匙开锁,然后将机密信件放到铁盒子内,用锁4对铁盒子上锁(自己保留锁4的钥匙),然后将铁盒子交给C,C拿到铁盒子后,用锁4的钥匙开锁,复制其中的机密文件,然后用锁2对铁盒子上锁,交给A。详细的流程图如下:



那么怎么解决这个问题?

很自然的方法是,B事先将锁1亲手交给A。这样虽然能够保证通信的安全(机密文件不会被他人窃取),但是不便于扩展,试想这样一种场景:

B是一个情报收集人员,刚开始时只有一个情报收集站 S,那么此时B将机密文件交给S,可以采用上文提到的策略,但是后来有多了许多的情报收集站(S1,S2,S3等等),B并不知道这些情报站的真实性,那么B怎么保证将情报交给真实的情报站?


解决方法:

由情报收集站出示证书,情报人员验证证书的真实性。那么怎么保证证书的真实性?

解决方法:

由一个统一的部门给情报收集站发布证书,同时这个部门将所有颁发的有效合法证书给情报收集人员,那么情报收集人员只需要对比证书就可以知道证书的真实性了。证书有没有可能被其他人复制伪造?

解决方法:

我们不妨从另外一个角度来看待这个问题,即就算有人伪造了证书,那么情报收集人员将机密文件交给他时,他也看不到。上文锁提到的部门(部门1)给情报收集人员证书时,附带一把锁(锁1),这把锁只有与该证书对应的情报收集站可以打开(部门1给情报收集站颁发证书的时候,同时也会给该情报收集站一把钥匙)。情报收集人员在验证了情报收集站的真实性之后(对比证书文件,确认是否可信),如果确认可信,则情报收集人员将机密文件放置到铁盒子中,并用锁1上锁,交给情报收集站。这种方式,就算有人复制了证书,也最终无法拿到机密文件,因为他没有锁1的钥匙。此时又存在一个问题,如果有人伪造情报收集站,复制了合法情报收集站的证书,那么此时情报收集人员将机密文件交给他后,以为是交给了真实的情报收集站,虽然机密文件不会泄露,但是存在另外一个问题,机密并没有反馈给真实的情报收集站,从而延误战机。

解决方法:

处理流程如下:

1 情报收集人员将锁2以及锁2的一把钥匙放在铁盒子内,同时用锁1对铁盒子上锁,将铁盒子交给情报收集站;

2 情报收集人员等待情报站回复,实际上是一个用锁2上锁的铁盒子;

3 情报收集站如果是真实的,则可以用锁1的钥匙打开铁盒子,然后取出锁2和锁2的钥匙,然后用锁2对铁盒子上锁,并交给情报收集人员;

4 情报收集人员收到铁盒子后,如果能够用锁2的钥匙打开,那说明该情报收集站是真实的,否则认为情报收集站是假的,此时情报收集人需要继续寻找真实的情报收集站,并重复步骤1-4, 知道查找到真实的情报收集站,将情报送出去;

5 如果情报收集人员能够用锁2的钥匙打开铁盒子,那么可以将机密文件放到铁盒子内,并用锁2对铁盒子上锁,交给情报收集站;

6 情报收集站收到铁盒子,用锁2的钥匙打开铁盒子,取出机密文件。

详细流程图如下:


最后

以上就是曾经航空为你收集整理的A和B之间的加密通信与HTTPS通信机制的全部内容,希望文章能够帮你解决A和B之间的加密通信与HTTPS通信机制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部