伴随着密码学的发展,数字签名技术也得以实现,利用数字签名技术可以保证信息传输过程中的数据完整性以及提供对信息发送者身份的认证和不可抵赖性。
【实验目的】
1.掌握安全通信中常用的加密算法
2.掌握数字签名过程
3.掌握安全文件传输基本步骤
【实验安排】
1学时;每组2人
【实验原理】
1.数字签名
传统的签名在商业和生活中广泛使用,它主要作为身份的证明手段。在现代的网络活动中,人们希望把签名制度引入到网络商业和网络通信的领域,用以实现身份的证明。密码学的发展,为数字签名这项技术的实现提供了基础,PKI(公钥基础设施)体系也正是利用数字签名技术来保证信息传输过程中的数据完整性以及提供对信息发送者身份的认证和不可抵赖性。数字签名的过程如图4.1所示。
图4.1 数字签名过程
数字签名的验证过程如图4.2所示。
图4.2 数字签名验证过程
2.安全通信要求
我们假设一下要进行网络通信的两个终端(A和B)所处的环境:
ü 终端A和终端B相距很远,彼此间很难见面(但可以通过Internet通信)。
ü 终端A有很重要的信息必须要发送给终端B。
ü 这个过程中,终端A不能使用除计算机网络之外其他的通信方式,比如电话,传真等。
安全通信的要求:
ü 保密要求:终端A的信息(明文)要加密通信给终端B。
ü 认证要求:终端B能认证发送人的身份是终端A,而不是其他人。
ü 数据完整性要求:终端B能认证收到的密文没有被篡改。
ü 不可否认要求:终端A事后不能否认曾经把信息传递给终端B。
以上这些要求也是真实世界中安全通信的基本要求,只能较好的提供安全性,但是不能达到绝对的安全通信(有关更高级的安全通信方法请参考公钥基础设施PKI的相关知识)。
【实验步骤】
一.发送发文件安全传输和接收方安全接收设计
说明:实验应采用对称加密算法、非对称加密算法和哈希算法相结合的方式,通过使用密码工具实现信息的安全传输。以终端A为发送方,终端B为接收方为例,实现流程大致应如下。
终端A操作:
ü 与终端B预先协商好通信过程中所使用到的对称加密算法、非对称加密算法和哈希函数;
ü 采用对称加密算法(密钥称之为会话密钥)对传输信息进行加密得到密文,确保传输信息的保密性;
ü 使用终端B的公钥对会话密钥进行加密,确保传输信息的保密性以及信息接收方的不可否认性;
ü 采用哈希函数(生成文件摘要)确保传输信息的完整性,并使用自己的私钥对文件摘要进行签名(得到数字签名),确保信息发送方的不可否认性;
ü 将密文、加密后的会话密钥和数字签名打包封装(放到一起)后,通过网络传输给终端B。
终端B操作:
ü 与终端A预先已协商好通信过程中所使用到的对称加密算法、非对称加密算法和哈希函数;
ü 使用自己的私钥对终端A加密的会话密钥进行解密,得到准会话密钥;
ü 使用准会话密钥对得到的密文进行解密,得到准明文;
ü 使用终端A的公钥对得到的数字签名进行签名验证,得到准明文摘要;
ü 使用哈希函数计算得到准明文摘要;
ü 将计算得到的摘要与准明文摘要进行比较,若相同则表明文件安全传输成功。
要求:实验同组主机根据实验流程自行设计实验操作步骤,最终实现文件安全传输。