密码与信息安全实验指导书皖西学院2013年7月-1-1前言本课程是信息与计算科学专业的专业选修课程。计算机安全是一个受到全社会关注并亟待解决的大问题。本课程主要阐述如何保护自己的计算机以及网络系统中的数据不被破坏和丢失,如何保证数据在传输过程中的安全,如何避免数据被篡改以及确保数据的真实性等问题。本课程的主要任务是通过各个教学环节,配合实验手段,使学生掌握计算机系统安全的主要概念和技术,培养学生诊断系统错误、分析系统安全隐患、防备系统遭受攻击的能力。为从事计算机系统管理、科学研究打下坚实的基础。使学生掌握计算机系统安全基本知识,如内容涉及信息安全的基本理论框架,包括网络安全框架如安全模型,安全体系结构等;对称密码技术、公开钥密码技术、HASH函数、MAC函数等基本密码学理论,同时也涉及到更高层的基于密码技术的安全协议分析和应用,也兼顾网络入侵、恶意软件、防火墙等网络安全技术。本实验将主要集中在涉及密码技术的实验内容上。信息安全理论和技术作为一门综合性科目,要求学生应具备较全面较扎实的理论基础,课程基础涉及范围广,课程理论相对比较抽象和繁杂,因而同学们在学习中会有一定难度。为了使理论教学与实践教学紧密结合,注重学生的理解和动手能力培养,我们安排了信息安全系列实验内容来配合教学环节,希望同学们能认真独立的完成实验内容,增进对课程内容的理解,提高自己理论联系实际的能力,提高自己独立思考解决问题的能力。本实验采用了一些信息安全方面开放源码的较成熟的软件包和部分商业化并可用于教学目的的软件产品作为实验的基本平台,这有利于同学们能够充分利用因特网进行更多的实验内容的收集和进一步研究的展开,充分利用网络信息安全相关资源,将更有助于本实验内容的良好完成。-2-2目录一、信息安全基本理论简介.................................................3二、实验基本环境简介.........................................................8三、系列实验.........................................................................9实验一VMWARE虚拟机和WIN2000安装......................9实验二Sniffer网络侦听和pcap编程..............................13实验三对称加密算法实验..................................................19实验四公钥算法实验..........................................................23实验五微软CA组件安装和配置....................................27实验六EJBCA系统的安装和配置...................................29实验七SureCA系统的安装和配置..................................44实验八安全电子邮件的配置和使用................................61实验九安全WEB访问的配置和使用.............................67实验十OPENSSL软件包的使用......................................75实验十一OpenVPN配置和使用......................................81-3-3一、信息安全基本理论简介1.对称密码技术对称密码加密也称常规密码加密、单钥密码加密、秘密密钥加密,它包括许多数据加密方法。对称密码系统的基本模型见下图:其基本特征是:数据加密和解密使用同一个密钥;在算法公开的前提下所有秘密都在密钥中,因此密钥本身应该通过另外的秘密信道传递。对称密码系统的安全性依赖于两个因素:其一,加密算法强度至少应该满足:当敌手已知算法,通过截获密文不能导出明文或者发现密钥。更高的要求是当敌手即使拥有部分密文以及相应明文段落也不能导出明文或者发现密钥系统。其二,发送方和接收方必须以安全的方式传递和保存密钥副本,对称加密的安全性取决于密钥的保密性而不是算法的机密性。2.公开钥密码技术公钥密码也称为非对称密码,公钥密码系统的核心是信源端对明文加密和信宿端对密文解密时分别使用两个相互对应,但计算上只能单向推导的一对密钥。根据应用的需要,将其中一个称为公钥,另一个称为私钥。传统的对称密码系统主要是建立在位操作基础之上,而公钥密码算法和密钥生成则是建立在数学函数基础之上。目前,公钥密码理论中大量使用数论等数学理论和方法,对现代密码学产生了深远的影响。公钥加密方法的安全性主要基于复杂数学问题的难解性假设,根据所基于的数学难题来分类,以下三类系统目前被认为是安全和有效的:基于大整数因子分解的公钥密码系统(如RSA)、椭圆曲线离散对数系统(如ECC),离散对数系统(如DSA)。-4-4在数据保密通信中,加密钥匙是公开的,解密私钥原则上不传递,因此密钥的分配和管理较对称密码系统简单。公开密钥加密系统还能够很容易地实现数字签名。因此,公钥密码技术适应了电子商务应用需要。3.HASH函数HASH函数,又称杂凑函数,是在信息安全领域有广泛和重要应用的密码算法,它有一种类似于指纹的应用。在网络安全协议中,杂凑函数用来处理电子签名,将冗长的签名文件压缩为一段独特的数字信息,像指纹鉴别身份一样保证原来数字签名文件的合法性和安全性。SHA-1和MD5是目前最常用的杂凑函数。经过这些算法的处理,原始信息即使只更动一个字母,对应的压缩信息也会变为截然不同的“指纹”,这就保证了经过处理信息的唯一性。为电子商务等提供了数字认证的可能性。HASH函数,又称杂凑函数,是在信息安全领域有广泛和重要应用的密码算法,它有一种类似于指纹的应用。在网络安全协议中,杂凑函数用来处理电子签名,将冗长的签名文件压缩为一段独特的数字信息,像指纹鉴别身份一样保证原来数字签名文件的合法性和安全性。SHA-1和MD5是目前最常用的杂凑函数。经过这些算法的处理,原始信息即使只更动一个字母,对应的压缩信息也会变为截然不同的“指纹”,这就保证了经过处理信息的唯一性。为电子商务等提供了数字认证的可能性。设有散列函数h=H(M),这里M是可变长度消息,h是固定长度的函数值。散列函数值行的作用是对消息M产生一个“摘要”,使得接收方能够对消息M的完整性进行检验。散列方法本身并不需要保密。4.MAC函数MAC函数也称密码校验和,它由如下形式的函数C产生:MAC=CK(M),其中M是一个变长消息,K是收发双方共享的密钥,CK(M)是定长的认证符。在假定或已知消息正确时,将MAC附于发送方的消息后;接收方可通过计算MAC来认证该消息。-5-55.数字签名在收发双方不能完全信任的情况下,数字签名是解决该问题的最好方法。其作用相当于手写签名。数字签名满足:必须能验证签名者、签名日期和时间;能认证被签的消息内容;应能由第三方仲裁,以解决争议。数字签名必须是与消息相关的二进制位串,签名必须使用发送方某些独有的信息,以防止伪造和否认,产生数字签名比较容易,识别和验证签名比较容易,伪造数字签名在计算上是不可行的,保存数字签名的拷贝是可行的。基于密码技术的数字签名一般采用具有数字签名功能的公开钥密码算法,如RSA、DSA等。其基本原理是使用秘密钥加密实现数字签名,使用公开钥解密实现签名验证。在实际应用中,数字签名包括两个步骤:(1)对待签名信息计算HASH值(2)对HASH值采用秘密钥加密得到数字签名值;验证过程是首先将数字签名值用对应的公开钥解密,并和重新计算的信息的HASH值进行比较,如果相同,证明验证签名正确,否则认为是错误。6.数字证书数字证书是指利用数字签名技术实现的经由第三方可信的、权威的机构CA签发的,将被认证对象(用户)的身份信息和其公开钥进行有效捆绑而编码形成的数字认证信息。通过验证者对数字证书的验证,确保用户身份和用户公开钥的一一对应性,从而确认用户对该公开钥的合法拥有,从而利用该公钥进行安全的信息加密。X509标准是数字证书的主要标准之一。在一个标准的数字证书中,包含证书版本号、证书序列号、证书签发者身份信息、证书拥有者(用户)身份信息、证书有效期、证书拥有者公钥信息、某些扩展信息、签名方法以及证书签发者用自己的私钥对以上信息所做的签名产生的签名信息。证书的验证主要包括验证数字签名是否正确(确认证书是否被修改)、证书有效期是否有效、证书签发者是否可信、证书中其他信息是否符合政策、证书是否已经被注销等,在证书链中,还应验证证书链中所有的证书是否符合信任链关系等。7.证书注销列表(黑名单)数字证书在有效期内因各种原因(对应秘密钥丢失、身份信息变更等)可能变得不安全,需要申请注销。证书注销列表是由可信的、权威的第三方机构CA审核签发的所有在证书有效期内,但是被注销的证书的列表。该列表经由CA机构签名保证可信。用户通过定期下载,在验证证书有效性时使用。8.CA中心CA中心(CertificateAuthority)即数字证书认证机构,是一个可信的、权威的第三-6-6方机构,其主要功能就是为用户(包括人和设备等)签发数字证书,并实施相应的管理。CA的核心功能就是发放和管理数字证书,具体描述如下:(1)接收验证最终用户数字证书的申请。(2)确定是否接受最终用户数字证书的申请—证书的审批。(3)向申请者颁发、拒绝颁发数字证书—证书的发放。(4)接收、处理最终用户的数字证书更新请求—证书的更新。(5)接收最终用户数字证书的查询、撤销。(6)产生和发布证书注销列表(CRL)。(7)数字证书的归档。(8)密钥归档。(9)历史数据归档。CA的数字签名保证了证书的合法性和权威性。主体的公钥可有两种产生方式:(1)用户自己生成密钥对,然后将公钥以安全的方式传给CA,该过程必须保证用户公钥的可验证性和完整性。(2)CA替用户生成密钥对,然后将其以安全的方式传送给用户,该过程必须确保密钥的机密性、完整性和可验证性。该方式下由于用户的私钥为CA所产生,故对CA的可信性有更高的要求。RA(RegistryAuthority,注册中心),是数字证书注册审批机构。RA系统是CA的证书发放、管理的延伸。它负责证书申请者的信息录入、审核等工作;同时,对发放的证书完成相应的管理功能。RA系统是整个CA中心得以正常运营不可缺少的一部分。但有的系统中,将RA合并在CA中。一般说来,注册机构控制注册、证书传递、其他密钥和证书生命周期管理过程中主体、最终实体和PKI间的交换。9.PKI公钥基础设施(PublicKeyInfrastructure,PKI)是一个用公开钥密码算法原理和技术实现并提供安全服务的具有通用性的安全基础设施。PKI是一种遵循标准的利用公钥加密技术为电子商务、电子政务的开展提供一整套安全的基础设施。用户利用PKI平台提供的安全服务进行安全通信。PKI这种遵循标准的密钥管理平台,能够为所有网络应用透明地提供采用加密和数字签名等密码服务所需要的密码和证书管理。使用基于公开密钥技术平台的用户建立安全通信信任机制的基础是,网上进行的任何需要提供安全服务的通信都是建立在公钥的基础之上的,而与公钥成对的私钥只掌握在他们与之通信的对方。这个信任的基础是通过公钥证书的使用来实现的。公钥证书就是用户的身份与之所持有的公钥的结合,在结合之前,由一个可信任的权威机构———认证机构(CA)来证实用户的身份。然后由可信任的CA对该用户身份及对应公钥相结合的证书进行数字签名,用来证明证书的有效性。PKI首先必须具有可信任的认证机构,在公钥加密技术基础上实现证书的产生、管理、存档、发放以及证书撤销管理等功能,并包括实现这些功能的硬件、软件、人力资源、相关政策和操作规范以及为PKI体系中的各成员提供