1、两台主机在进行通信时传输的数据需要考虑哪几方面的因素来保证数据的安全?

答:两台主机进行通行时传输的数据为了数据安全需要考虑:保密性、完整性、可用性。





2、保证通信双方的数据安全的机制主要有哪些?

答:保证通行双方的数据安全的机制有:加密、数据签名。





3、根据其工作机制的不同、特性的不同,大约分为几类加密算法和协议,主要用于哪种工作场景?

答:加密算法和协议大约分为:对称加密、公钥加密、单项加密、秘钥交换。

对称加密的特性:加密、解密使用同一秘钥;将明文分隔成固定的大小的块,逐个进行加密。其特有的工作特性:如果一个主机要和50台其他主机进行通行,就需要有50个对称秘钥,来加密对应的数据,导致秘钥过多管理困难;而且这50个秘钥的发放还是一个问题,如果通过网络传输,应为没有经过加密不安全,使用物理设备拷贝又不现实,所以这是对称加密的硬伤。对称加密的工作场景是:对称秘钥是临时使用的,这次使用完就不用管理秘钥,而且能通过安全的、简便的机制将对称秘钥分发,然后就可以使用通信双方加密数据通信。(具体的加密算法有:DES、3DES、AES)


公钥加密:其特有的工作特性:生成的是一对秘钥(公钥、私钥),公钥是从私钥中提取的,公钥只能解密对应私钥加密的数据,私钥也只能解密对应公钥加密的数据;(注意)公钥加密算法加密数据性能比对称加密的方法性能要差的多。公钥加密的工作场景:要确认对方的身份,直接用对方的公钥解密对方用它自己的私钥加密的数据,能解密说明是对方,不能解密说明不是对方;因为公钥加密算法太耗计算机的性能,所以,一般是生成一个临时对称秘钥,然后用自己的私钥加密对称秘钥传输给对方,然后对方使用我们的公钥解密得对称密码,然后使用对称秘钥加密数据进行通行。(具体的加密算法:RSA、DSA、ELGamal)。


单向加密:特有的工作特性:从要加密的数据中提取其特征码,所有的任意数据提取的特征码的长度都是一样的(定长输出),一点数据的改变,整个数据的特性码会有巨大的变化(雪崩效应)。还有就是同一段数据,他的特征码永远都是一样的。工作场景:判断一段数据是否是完整的(没有在传输中被人篡改),在数据传送之前,将数据进行单项加密(提取特征码),然后将特征码也传送给对样,对样接收到数据之后,也对这段数据进行单项加密的到特征码,和接收到的特征码做比较,看是否一样,一样就代表数据没有被篡改。(具体的算法:MD5、SHA1、SHA256、SHA384、SHA512)


公钥加密算法:DH(Deffie-Hellman)

其工作特性是:双方的秘钥是通过二次计算得出的。





4、两台独立的主机之间的加密通信流程如下(比较完善,但是不是绝对的安全,也不是说必须遵循这个流程;你如果有能力,可以自己组合以上的加密协议设计一套更安全的加密流程):

linux笔记之安全通行、openssl自建CA_数据安全





5、SSL(Secure Socket Layer 安全套接字层协议)是基于公钥加密方式的网络安全传输协议,它通常用于TCP/IP协议层和应用程序之间进行安全可靠连接,它能够在网络上提供一条安全的传输信道,该信息是保密的、经过验证的、可靠的并且能对信道中传输的信息进行完整性校验。SSL的通行过程如下:

linux笔记之安全通行、openssl自建CA_加密_02




6、实例:自建私有CA

linux笔记之安全通行、openssl自建CA_数据安全_03




(a)创建私有CA:先创建私钥,后自签证书【在CA上配置】

linux笔记之安全通行、openssl自建CA_加密_04

命令解析:openssl  genrsa命令是以rsa加密算法生成私钥,-out是指定输出的私钥文件,2048,是私钥的长度。

linux笔记之安全通行、openssl自建CA_加密_05命令解析:openssl  req命令是创建证书申请文件,-x509是自签证书,-key指定对应的私钥,-out指定证书文件,-days指定签署的有效期。

linux笔记之安全通行、openssl自建CA_数据安全_06

创建一些必要文件:index.txt  serial




(b)服务生成申请证书文件:先生成私钥,后生成证书请求文件【在服务器上配置】

linux笔记之安全通行、openssl自建CA_数据安全_07

linux笔记之安全通行、openssl自建CA_通信_08linux笔记之安全通行、openssl自建CA_通信_09命令解析:scp 命令将证书申请文件远程传给CA。




(c)CA签署服务器的请求证书、并将证书传送给服务器【在CA上配置】

linux笔记之安全通行、openssl自建CA_linux_10

linux笔记之安全通行、openssl自建CA_数据安全_11