【教学资源名称】
CIA安全模型-使用PGP描述网络安全CIA模型之私密性、完整性案例
【预备知识】
在信息安全等级保护工作中,根据信息系统的机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)来划分信息系统的安全等级,三个性质简称CIA。
私密性(Confidentiality)
保密性(secrecy),又称机密性,是指个人或团体的信息不为其他不应获得者获得。在电脑中,许多软件包括邮件软件、网络浏览器等,都有保密性相关的设定,用以维护用户资讯的保密性,另外间谍档案或攻击者有可能会造成保密性的问题。
完整性(Integrity)
数据完整性是信息安全的三个基本要点之一,指在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。在信息安全领域使用过程中,常常和保密性边界混 淆。以普通RSA对数值信息加密为例,攻击者或恶意用户在没有获得密钥破解密文的情况下,可以通过对密文进行线性运算,相应改变数值信息的值。例如交易金额为X元,通过对密文乘2,可以使交易金额成为2X。也称为可延展性(malleably)。为解决以上问题,通常使用数字签名或散列函数对密文进行保护。
可用性(Availability)
数据可用性是一种以使用者为中心的设计概念,易用性设计的重点在于让产品的设计能够符合使用者的习惯与需求。以互联网网站的设计为例,希望让使用者在浏览的过程中不会产生压力或感到挫折,并能让使用者在使用网站功能时,能用最少的努力发挥最大的效能。基于这个原因,任何有违信息的“可用性”都算是违反信息安全的规定。因此,世上不少国家,不论是美国还是中国都有要求保持信息可以不受规限地流通的运动举行。
对信息安全的认识经历了的数据安全阶段(强调保密通信)、网络信息安全时代(强调网络环境)和信息保障时代(强调不能被动地保护,需要有保护——检测——反应——恢复四个环节)。
【实验步骤】
网络拓扑:Windows2003--Windows2003 windows server 2003
用户:administrator
密码:空
第一步:在服务器和客户机分别安装PGP(Pretty Good Privacy)程序
(图略)
第二步:在客户机打开PGP(Pretty Good Privacy)程序,生成自己的密钥对(公钥和私钥),并且给这个密钥对命名,比如:testclient (Email:test@client.com)
第三步:然后设置一个保护私钥的密码,因为私钥的必须被保护的。
第四步:生成了这个密钥对。
第五步:和服务器使用的PGP程序来交换公钥。
这两台安装了PGP 程序个人计算机应该各自将自己的公钥导出,然后可以通过各种方式发送给对方;比如将客户机的公钥先Copy,然后粘贴到XiaoLi_Pub.txt这个文本文件中去。
文本文件通过各种方式发给服务器,服务器再将客户机的公钥导入自己的PGP程序。
同样的方导服务器的公钥。
第六步:客户机要对服务器发送的一个叫hello的文件进行加密,客户机PGP程序要随机产生一个用于对称加密的密钥,用这个密钥进行加密文件,然后用服务器的公钥对这个对称密钥本身进行加密,得到加密后的密钥;然后将这个加密后的密钥连同利用对称密钥加密后的文件一起发送给服务器
第七步:还可以选择将这个hello的文件代入一个散列函数,得到一个散列值,然后对这个散列值用客户机的私钥进行加密,得到数字签名;
第八步:将加密后的密钥、利用对称密钥加密后的文件、对这个文件的签名,这三者加在一起的打包发送给服务器;
第九步:当服务器的PGP程序收到了这个打包以后,首先利用服务器的私钥,解密客户机的PGP加密的对称密钥,然后用这个对称密钥,解密利用对称密钥加密后的文件,得到hello这个文件,然后再对这个文件进行散列函数的运算,得到散列值;服务器的PGP程序再用客户机的公钥解密文件的签名,就得到了明文的hello这个文件的散列值,如果这个散列值和刚才对这个文件进行散列函数的运算得到的散列值相同,那么就说明了2个问题;第一,由于散列值相同,说明文件是中途没有被改过的,实现了完整性;第二,由于之前这个文件的签名是客户机的私钥签名的,而服务器的PGP程序用客户机的公钥能够解密,说明签名这件事一定是公钥的持有者做的,也就是客户机做的,实现了源认证。