文件安全传输系统设计作业
通信模式:端到端通信
数字信封:
对称密码优点是加解密运算非常快,适合处理大批量数据,但其密码的分发与管理比较复杂。而非对称密码算法的特点是公钥和私钥分离,非常适合密钥的分发和管理。如果将对称密码算法和非对称密码算法的优点结合起来,则既能处理大批量数据,又能简化密钥的分发与管理,于是数字信封机制应运而生。
数字信封并不需要分发和管理对称秘钥,而是随机产生对称密钥,采用对称密码算法对大批量数据进行加密,并采用非对称密码算法对该对称密钥进行加密;解密时,先用非对称密码算法解密后获得对称秘钥,然后使用对称密码算法解密后获得数据明文。
数字信封的功能类似于普通信封,采用对称密码算法对消息进行加密类似于信纸上的内容,采用非对称密码算法对对称密码算法对对称秘钥加密类似的信封,信封将信纸抱起来,保证了消息的安全性。
其大致流程如下。
- 首先由CA给通信双方A和B分发公私钥对。这里我们将A视作消息的发出方,B视作消息的接收方。
- 双方进行对称密钥协商:
- 发送方流程图:
- 接收方流程图:
系统与其他通信方式对比
即时通信
即时通讯由于具有及时性的特点,需要较低的延迟。从用户的角度,用户希望即时通讯可以像是面对面交流一样。因此在早期,即时通信软件多数是没有进行数据的加密处理,只是以明文的方式把A的消息转发给B。而现在现在的IM软件大多实现了客户端与服务器间的加密通信,尽管采用的加密算法各不相同,一般是将使用服务器公钥进行加密后的信息传送到服务器,服务器用自己的密钥解密后再使用对话者的公钥加密并发送到对方客户端。
而从安全和保密性的角度来看,最好的方式还是端到端加密(E2EE):端到端加密直接使用对话者的公钥进行加密,服务器方(如果存在服务器的话)只负责传递消息,并不能知道消息的具体内容。
电子邮件
电子邮件主要由四个部分组成:
- MUA:邮件使用者代理人。
MUA一般指的是我们平时用来收发邮件的一个工具,它的功能就是用来收发邮件服务器上的邮件。最常见的如微软的outlook、Foxmail等等;
- MTA:邮件传输代理。
指的是一般含义上的邮件服务器,也就是邮件传送代理人,它的主要功能包括:发送邮件,接收来自于外部的邮件,还可以让使用者撤回邮件;
- MDA:邮件递送代理。
它属于邮件服务器的一部分,能够将MTA收到的邮件,按照一定的流向放置到本地账户的收件箱中去;另外一方面,如果邮件的流向是本机,它还有邮件分析过滤的功能,从而去过滤一些很显著的垃圾邮件;
- Mailbox:收件箱。
邮件主机上面的一个目录,供某人专用的邮件的接收处。以unix为例,系统管理员root默认的信箱位置位于/var/spool/mail/root,当MTA收到发送给root的邮件,就会把这封邮件放到这个目录下面。
电子邮件采用的协议主要有:
- SMTP协议
它是发送邮件的协议,使用25号端口工作发信时,MUA会主动连接邮件服务器的25号端口,和邮件服务器展开会话,从而去发信。
当MTA转发邮件时,会经由下一个MTA的25号端口,通过SMTP协议将信转发出去。
- POP3协议和IMAP协议
二者都是用于收邮件的协议,POP3使用110端口,IMAP使用143号端口。收信由MUA通过POP3、IMAP协议连接到MTA使用者的收件箱,MUA经由MTA的110\143号端口,将信件由MTA的收件箱收到本地的MUA上。
安全性分析
电子邮件和即时通讯存在很多相同的安全问题。
电子邮件协议在设计初期,由于只考虑的便利性和功能性,并未过多的考虑安全性,所以存在相当多的安全问题,诸如钓鱼软件等等。我们不能很清楚的知道消息的来源等。
即时通信软件则存在信息泄露的危险,中间服务器很轻松的可以知道我发送的消息的内容没虽然服务器生成我们只是负责转发信息,但是由服务器负责加解密的这种方式还是很让人没有安全感。
电子信封则实现了一个端到端的通信,通过对加密方案的调整等,可以实现不同程度的安全性。但是在获得了更高的安全性的同时,方案的效率、成本,用户的体验等等都会受到影响。
对加密方案的调整等,可以实现不同程度的安全性。但是在获得了更高的安全性的同时,方案的效率、成本,用户的体验等等都会受到影响。