第3章 基础安全技术_第1页
第3章 基础安全技术_第2页
第3章 基础安全技术_第3页
第3章 基础安全技术_第4页
第3章 基础安全技术_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XXXXXX学院信息安全技术第3章基础安全技术本章学习目标·

掌握常用加密方法·

了解密码学的基本概念·

掌握破解用户密码的方法·

掌握文件加密的方法·

理解数字签名技术·

了解PKI的组成原理及其基本功能,理解PKI证书·

掌握构建基于Windows2003的CA系统信息安全主要包括系统安全和数据安全两个方面,数据安全主要采用现代密码技术对数据进行安全保护,是保护大型网络安全传输信息的唯一有效手段,是保障信息安全的核心技术。本章通过实例介绍密码技术的实际应用。3.1实例——使用加密软件PGPPGP(PrettyGoodPrivacy)是全球著名的、在信息安全传输领域首选的加密软件,其技术特性是采用了非对称的“公钥”和“私钥”加密体系,创造性地把RSA公匙体系的方便性和传统加密体系的高速度结合起来,可以用来加密文件,用于数字签名的邮件摘要算法,加密前压缩等,是目前最难破译的密码体系之一。本实例使用虚拟机Windows10_1709_x86(见1.7.4节),加密软件使用PGPDesktop10.4.2,其安装程序可从本书配套资源中获得。安装之前先关闭Windows安全中心和防病毒功能,如图3.1所示。断开网络连接。3.1实例——使用加密软件PGP图3.1

关闭Windows安全中心和防病毒功能3.1实例——使用加密软件PGP1.安装PGP图3.2

安装程序图3.3

语言选择3.1实例——使用加密软件PGP图3.4

“LicenseAgreement”窗口

图3.5

“ReleaseNotes”窗口3.1实例——使用加密软件PGP图3.6

“UpdatingSystem”窗口3.1实例——使用加密软件PGP图3.7

进行安装

图3.8

输入序列号窗口第2步:3.1实例——使用加密软件PGP第3步:图3.9

运行cr-pgp10.exe注册机

图3.10

生成序列号3.1实例——使用加密软件PGP第4步:图3.11

输入用户名及邮箱

图3.12

输入密码3.1实例——使用加密软件PGP第5步:图3.13

Error窗口图3.14

安装完成图3.15

关闭PGP3.1实例——使用加密软件PGP第6步:图3.16

安装PGP中文语言包图3.17

PGP使用界面3.1实例——使用加密软件PGP2.创建和设置初始用户图3.18

PGP密钥生成助手

图3.19

分配名称和邮箱地址图3.20

创建口令

图3.21

密钥生成进度3.1实例——使用加密软件PGP图3.22

PGP全球名录助手

图3.23

完成密钥的生成3.1实例——使用加密软件PGP图3.24

创建虚拟机Windows10_1709_x86-23.导出并分发公钥根据虚拟机Windows10_1709_x86的vdi文件Windows10_1709_x86.vdi创建虚拟机Windows10_1709_x86-2,具体的创建过程可以参考第一章的1.7.4节和网络资料,虚拟机Windows10_1709_x86-2的主要参数设置如图3.24所示。注意:VirtualBox导入vdi时报错“CannotregistertheharddiskbecauseaharddiskwithUUIDalreadyexists.”,解决方法是打开带管理员权限的PowerShell,切换到VirtualBox安装目录(比如C:\ProgramFiles\Oracle\VirtualBox),执行如下命令:.\VBoxManage.exeinternalcommandssethduuidC:\ztg\VirtualBox-OS-vdi\Windows10_1709_x86.vdi3.1实例——使用加密软件PGP图3.25

导出公钥启动虚拟机Windows10_1709_x86-2,按照上面方法创建一个test用户,从这个“密钥对”内导出包含的公钥,如图3.25所示,右键单击刚才创建的用户(test,即密钥对),右键菜单中选择“导出”,选择要保存的位置(比如桌面),再单击“保存”按钮,即可导出test的公钥,扩展名为.asc(test.asc)。3.1实例——使用加密软件PGP4.导入并设置其他人的公钥启动虚拟机Windows10_1709_x86,如图3.26所示,将虚拟机的“共享粘贴板”和“拖放”参数设置为“双向”。对虚拟机Windows10_1709_x86-2也进行相同的设置。图3.26

设置虚拟机参数,拖动文件3.1实例——使用加密软件PGP第1步:导入公钥。图3.27

导入公钥3.1实例——使用加密软件PGP第2步:设置公钥属性。图3.28

公钥属性3.1实例——使用加密软件PGP第2步:设置公钥属性。图3.29校验公钥3.1实例——使用加密软件PGP第2步:设置公钥属性。图3.30设置信任度3.1实例——使用加密软件PGP5.使用公钥加密文件第1步:在虚拟机Windows10_1709_x86的桌面上,新建文件pgp_encrypt.txt,输入的内容是“使用公钥test加密文件”。第2步:如图3.31所示,右键单击文件pgp_encrypt.txt,在右键菜单依次选择“PGPDesktop”→“使用密钥保护”,将出现“添加用户密钥”对话框,如图3.32所示,使用test公钥进行加密,文件pgp_encrypt.txt的加密文件为pgp_encrypt.txt.pgp。这个pgp_encrypt.txt.pgp文件就可以用来发送了。图3.31

右键单击文件pgp_encrypt.txt

图3.32

“添加用户密钥”对话框3.1实例——使用加密软件PGP第3步:将文件pgp_encrypt.txt.pgp从虚拟机Windows10_1709_x86桌面拖到宿主机桌面,然后将宿主机桌面上的文件pgp_encrypt.txt.pgp拖到虚拟机Windows10_1709_x86-2桌面,该过程模拟向对方发送加密的文件。第4步:在虚拟机Windows10_1709_x86-2中解密pgp_encrypt.txt.pgp文件。如图3.33所示,如果使用记事本直接打开pgp_encrypt.txt.pgp文件,内容显示为乱码。右键单击桌面上的文件pgp_encrypt.txt.pgp,在右键菜单依次选择“PGP

Desktop”→“解密&效验”,将在桌面上生成解密文件pgp_encrypt.txt,已经可以看到文件内容了。图3.33

解密pgp_encrypt.txt.pgp文件3.1实例——使用加密软件PGP6.创建PGP磁盘PGP磁盘(PGPdisk)可以划分出一部分的磁盘空间来存储敏感数据。这部分磁盘空间用于创建一个称为PGP磁盘的卷。虽然PGP磁盘卷是一个单独的文件,但是PGP磁盘卷却非常像一个硬盘分区,来提供存储文件和应用程序。第1步:在虚拟机Windows10_1709_x86-2中,打开PGPdesktop,如图3.17所示第2步:将文件diskguest.asc从虚拟机Windows10_1709_x86-2桌面拖到宿主机桌面,然后将宿主机桌面上的文件diskguest.asc拖到虚拟机Windows10_1709_x86桌面。第3步:在虚拟机Windows10_1709_x86中,双击diskguest.asc,将会出现选择公钥的窗口,选好一个公钥(diskguest)后,单击“导入”按钮,即可导入公钥。第4步:在虚拟机Windows10_1709_x86中运行PGP,如图3.34所示,依次单击“PGP磁盘”→“新建虚拟磁盘”。出现“输入磁盘属性”对话框,如图3.35所示。3.1实例——使用加密软件PGP图3.34

“PGP磁盘”对话框3.1实例——使用加密软件PGP图3.35

“输入磁盘属性”对话框3.1实例——使用加密软件PGP7.使用PGP磁盘第1步:将文件PGPdisk_ztg1.pgd从虚拟机Windows10_1709_x86桌面拖到宿主机桌面,然后将宿主机桌面上的文件PGPdisk_ztg1.pgd拖到虚拟机Windows10_1709_x86-2桌面,该过程模拟向对方发送PGP磁盘文件。第2步:装配PGP磁盘卷。在虚拟机Windows10_1709_x86-2中,右键单击桌面上PGPdisk_ztg1.pgd文件,在右键菜单依次选择“PGP

Desktop”→“装载磁盘”,然后单击“确定”按钮,完成PGP磁盘的装载。8.PGP选项单击桌面右下角PGP运行图标,选择PGP选项菜单,弹出“PGP选项”对话框,如图3.36所示。(1)常规选项卡,如图3.36所示。(2)密钥选项卡,如图3.37所示。图3.36

常规选项卡

图3.37

密钥选项卡3.1实例——使用加密软件PGP(3)主密钥选项卡,如图3.38所示。

(4)网络共享选项卡,如图3.39所示。图3.38

主密钥选项卡

图3.39

网络共享选项卡3.1实例——使用加密软件PGP(5)消息选项卡,如图3.40所示。

(6)磁盘选项卡,如图3.41所示。图3.40

消息选项卡

图3.41

磁盘选项卡3.1实例——使用加密软件PGP(7)通告器选项卡,如图3.42所示。(8)高级选项卡,如图3.43所示。图3.42

通告器选项卡

图3.43

高级选项卡3.2密码技术一般来说,信息安全主要包括系统安全和数据安全两个方面。数据安全主要采用现代密码技术对数据进行安全保护,如数据保密、数据完整性和身份认证等技术。密码技术包括密码算法设计、密码分析、安全协议、身份认证、消息确认、数字签名、密钥管理和密钥托管等技术,是保护大型网络安全传输信息的唯一有效手段,是保障信息安全的核心技术。密码技术以很小的代价,对信息提供一种强有力的安全保护。3.2.1明文、密文、算法和密钥明文(Plaintext):能够被人们直接阅读的、需要被隐蔽的文字。密文(Cipertext):不能够被人们直接阅读的文字。加密(Encryption):用某种方法将文字转换成不能直接阅读的形式的过程。加密一般分为3类,对称加密、非对称加密及单向散列函数。解密(Decryption):把密文转变为明文的过程。明文用M表示,密文用C表示,加密函数E作用于M而得到密文C,用数学式表示如下:E(M)=C相反,解密函数D作用于C,产生M,有D(C)=M密钥:用来对数据进行编码和解码的一串字符。加密算法:在加密密钥的控制下对明文进行加密的一组数学变换。解密算法:在解密密钥的控制下对密文进行解密的一组数学变换。现代加密算法的安全性基于密钥的安全性,算法是公开的,可以被所有人分析,只要保证密钥不被人知道,就可保证信息的安全。3.2.2密码体制密码学包括密码设计与密码分析两个方面:密码设计主要研究加密方法;密码分析主要针对密码破译,即如何从密文推演出明文、密钥或解密算法。从密码学的发展历程来看,共经历了古典密码、对称密钥密码(单钥密码体制)、公开密钥密码(双钥密码体制)3个发展阶段。古典密码是基于字符替换的密码,现在已经很少使用,但它代表了密码的起源。基于密钥的算法按密钥管理方式的不同,可以分为对称算法与非对称算法两大类,即通常所说的对称密钥密码体制和非对称密钥密码体制。相应地,对数据加密技术分为对称加密(私人密钥加密)和非对称加密(公开密钥加密)。密码体制从原理上可分为两大类,即单钥密码体制(对称性加密)和双钥密码体制(非对称性加密)。单钥密码体制的加密密钥和解密密钥相同。采用单钥密码体制的系统保密性主要取决于密钥的保密性,与算法的保密性无关,即由密文和加/解密算法不可能得到明文。换句话说,算法无须保密,需保密的仅是密钥。根据单钥密码体制的这种特性,单钥加/解密算法可通过低费用的芯片来实现。双钥密码体制要求密钥成对使用。每个用户都有一对选定的密钥,一个可以公开,即公共密钥,一个由用户安全拥有,即秘密密钥。公共密钥和秘密密钥之间有着密切的关系。3.2.3古典密码学古典密码学有着悠久的历史,从古代一直到计算机出现,古典密码学主要有两大基本方法。1.代替密码举例——恺撒密码2.易位密码举例——矩阵转置图3.44a旋转外盘

图3.44b矩阵转置3.3用户密码的破解3.3.1实例——使用工具盘破解Windows用户密码图3.45使用金狐系统维护盘3.3.1实例——使用工具盘破解Windows用户密码图3.46进入Windows10PE系统修改Windows登录密码3.3.2实例——使用john破解Windows用户密码图3.47进入Windows8PE系统修改Windows登录密码3.3.2实例——使用john破解Windows用户密码图3.48为KaliLinux安装增强功能如图3.48所示,将拖放参数设置为“双向”。将本书配套资源的winxpsp3-sam-system文件夹中的2个文件(SAM和system)拖放或复制到KaliLinux桌面上。然后右键单击桌面空白处,在右键菜单中选择“在此打开终端”打开终端窗口,在终端窗口依次执行如下6条命令:samdump2systemSAM>passwd_hashes.txtvimpasswd_hashes.txtjohn--format=NTpasswd_hashes.txtjohn--format=NTpasswd_hashes.txtrm/root/.john/john.potjohn--format=NTpasswd_hashes.txt3.3.2实例——使用john破解Windows用户密码图3.49使用john破解Windows用户密码使用john破解Windows用户密码的具体过程如图3.49所示。3.3.3实例——使用john破解Linux用户密码图3.50获取并保存root和ztg密码的hash值在虚拟机KaliLinux中,右键单击桌面空白处,在右键菜单中选择“在此打开终端”打开终端窗口,执行命令passwdztg修改ztg的密码为“xxuedu”。在终端窗口依次执行如下7条命令:egrep"root|ztg"/etc/shadowegrep"root|ztg"/etc/shadow>shadowjohn--format=sha512cryptshadowvim/usr/share/john/password.lstjohn--format=sha512cryptshadowrm/root/.john/john.potjohn--format=sha512cryptshadow3.3.3实例——使用john破解Linux用户密码图3.51john字典+暴力破解密码第3条命令:john字典+暴力破解密码,如图3.51所示3.3.3实例——使用john破解Linux用户密码图3.52使用john字典破解用户密码第4条命令:ztg的密码“xxuedu”放到字典文件/usr/share/john/password.lst的最后。第5条命令:再次使用john破解密码,具体过程如图3.52所示。3.3.3实例——使用john破解Linux用户密码图3.53使用john字典破解用户密码第6条命令:删除john.pot文件。第7条命令:再次使用john破解用户密码。具体过程如图3.53所示。3.3.4密码破解工具JohntheRipper图3.45使用金狐系统维护盘1.JohntheRipper简介JohntheRipper(简称John)是一款著名的密码破解工具,主要针对各种Hash加密的密文。John采用实时运算方式和密文进行比较,提供各种辅助功能提高运行效率。针对不同的场景需求,John提供了三种模式:(1)Singlecrack(单一破解)模式用于弱密码场景;(2)Wordlist(字典)模式适用于拥有针对性信息收集场景;(3)Incremental模式适用于高难度场景。John预置各种优化设置,也可以通过修改配置文件进行深度定制优化,以满足特定需求。3.4文件加密图3.45使用金狐系统维护盘3.4.1实例——用对称加密算法加密文件图3.54用openssl加密、解密文件本实例对文件的加密和解密在同一台计算机上进行。在虚拟机KaliLinux中,右键单击桌面空白处,在右键菜单中选择“在此打开终端”打开终端窗口,如图3.54所示。3.4.3实例——用非对称加密算法加密文件图3.55创建虚拟机KaliLinux-2根据虚拟机KaliLinux的vdi文件KaliLinux.vdi创建虚拟机KaliLinux-2,具体的创建过程可以参考第一章的1.7.4节和网络资料,虚拟机KaliLinux-2的主要参数设置如图3.55所示,网络连接方式选择“网络地址转换(NAT)”。用GnuPG加密文件图3.56创建密钥1.在虚拟机KaliLinux中,创建密钥对用GnuPG加密文件图3.57.gnupg目录内容现在已经在.gnupg目录中生成了一对密钥且存在于文件中,进入.gnupg目录进行查看,如图3.57所示。用GnuPG加密文件图3.58保存别人的公共密钥2.在虚拟机KaliLinux中,提取公共密钥为了使对方(虚拟机KaliLinux-2)使用刚才生成的公共密钥(1FCB3E8FEA808287),需要用命令将公共密钥提取出来,发送给对方。执行命令gpg--export1FCB3E8FEA808287>pub.key,将公共密钥提取到文件pub.key中。3.KaliLinux-2收到KaliLinux的公共密钥在虚拟机KaliLinux-2中,收到对方(虚拟机KaliLinux)的公共密钥后(在虚拟机和宿主机之间通过拖放的方法),执行命令gpg--importpub.key把这个公共密钥放到自己的pubring.kbx文件(钥匙环文件)里,执行命令gpg--delete-secret-and-public-key1FCB3E8FEA808287可以将公共密钥从钥匙环文件中删除。命令的执行如图3.58所示。用GnuPG加密文件图3.59查看公共密钥执行gpg–kv命令查看目前存放的别人的公共密钥,如图3.59所示。用GnuPG加密文件图3.60用公共密钥加密文件4.KaliLinux-2使用KaliLinux的公共密钥加密文件在虚拟机KaliLinux-2中,执行gpg-ea-r1FCB3E8FEA808287gpg_temp.txt对gpg_temp.txt文件进行加密。-e:代表加密。-a:代表ASCII格式。-r:后面是公共密钥标识。1FCB3E8FEA808287:为密钥标识。该命令执行后,在当前目录下生成了一个同名的gpg_temp.txt.asc的文件,即加密后的文件。具体执行过程如图3.60所示。用GnuPG加密文件图3.61对加密文件进行解密5.KaliLinux对KaliLinux-2发来的加密文件进行解密KaliLinux收到KaliLinux-2发来的加密文件gpg_temp.txt.asc后,执行gpg-ogpg_temp2.txt-dgpg_temp.txt.asc命令,用私有密钥对加密文件进行解密。-o:输出文件。-d:表示解密。在当前目录下生成了解密后的文件gpg_temp2.txt。具体执行过程如图3.61所示。用OpenSSL加密解密文件在安全性要求比较高的环境下,可以借助OpenSSL工具对数据进行加密,这样能进一步的保障数据的安全性,几乎所有的Linux发行版里都会预装OpenSSL。OpenSSL可以实现消息摘要、文件的加密和解密、数字证书、数字签名和随机数字。SSL是SecureSocketsLayer的缩写,是支持在Internet上进行安全通信的标准,并且将数据密码技术集成到协议中。数据在离开计算机之前被加密,然后只有到达它预定的目标后才被解密。下面介绍2种使用OpenSSL加密解密方法:(1)使用密码加密解密;(2)使用密钥加密解密。1.使用密码加密解密1)对文件加密或解密第1步:在虚拟机KaliLinux中,执行如下命令加密一个文件,test1.txt为原始文件,test1.txt.aes为加密之后的文件。echoopensslenctest>test1.txtopensslenc-e-aes256-intest1.txt-outtest1.txt.aes第2步:在虚拟机KaliLinux-2中,执行如下命令解密一个文件,test1.txt.aes为加密的文件,test1.txt为解密之后的文件。opensslenc-d-aes256-intest1.txt.aes-outtest1.txt2)配合tar对文件夹加密或解密第1步:在虚拟机KaliLinux中,执行如下命令打包并加密文件夹。mkdir-ptestdir/{a,b,c}echoopenssldes3testdir>testdir/a/testdir.txttarczvf-testdir|openssldes3-salt-kpassword-outtestdir.tar.gz第2步:在虚拟机KaliLinux-2中,执行如下命令解密并解包文件夹。openssldes3-d-kpassword-salt-intestdir.tar.gz|tarxzvf-上述操作的具体过程如图3.62所示。用OpenSSL加密解密文件图3.62使用密码加密解密用OpenSSL加密解密文件图3.63使用密钥加密解密2.使用密钥加密解密有时会出现忘记密码的情况,另外如果密码设置的太简单,很容易被破解,这时可以能过密钥的方式进行加密和解密。第1步:在虚拟机KaliLinux中,执行如下命令生成一个2048位的密钥文件test.key。opensslgenrsa-outtest.key2048第2步:在虚拟机KaliLinux中,执行如下命令从test.key密钥文件中提取出公钥。opensslrsa-intest.key-pubout-outtest_pub.key第3步:在虚拟机KaliLinux-2中,执行如下命令利用公钥test_pub.key加密文件。echoopensslrsautltest>test2.txtopensslrsautl-encrypt-intest2.txt-inkeytest_pub.key-pubin-outtest2.txt.en第4步:在虚拟机KaliLinux中,执行如下命令利用密钥文件test.key中的私钥解密一个文件。opensslrsautl-decrypt-intest2.txt.en-inkeytest.key-outtest2.txt上述操作的具体过程如图3.63所示。3.4.4非对称加密算法若加密密钥和解密密钥不相同,从其中一个难以推出另一个,则称为非对称密钥或双钥密码体制。1976年,美国学者Diffie和Hellman为解决信息公开传送和密钥管理问题,在《密码学的新方向》一文中提出了公开密钥密码体制的思想,开创了现代密码学的新领域。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(PublicKey)和私有密钥(PrivateKey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只能用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只能用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法称为非对称加密算法。对于单钥体制存在的问题,采用双钥密码体制则可以完全克服,特别是对于多用户通信网,双钥密码体制可以明显减少多用户之间所需的密钥量,从而便于密钥管理。采用双钥密码体制的主要特点是将加密和解密功能分开,因而可以实现多个用户加密的消息只能由一个用户解读,或只能由一个用户加密消息而使多个用户可以解读。非对称加密算法的出现可以有效地解决使用对称加密算法时密钥分发与管理的安全隐患。双钥密码体制的优点是可以公开加密密钥,适应网络的开放性要求,且仅需要保密解密密钥,所以密钥管理问题比较简单。此外,双钥密码体制可以用于数字签名等新功能。主要的非对称加密算法有RSA、DSA、DH和ECC。3.4.5混合加密体制算法双钥密码的缺点是密码算法一般比较复杂,加密和解密速度较慢。因此,实际网络中的加密多采用双钥密码和单钥密码相结合的混合加密体制,即加密和解密时采用单钥密码,密钥传送时则采用双钥密码。这样既解决了密钥管理的困难,又解决了加密和解密速度的问题。3.5数字签名数字签名技术是实现交易安全的核心技术之一,它的实现基础就是加密技术。数字签名能够实现电子文档的辨认和验证。数字签名是传统文件手写签名的模拟,能够实现用户对电子形式存放消息的认证。3.5.1数字签名概述基本原理:使用一对不可互相推导的密钥,一个用于签名(加密),一个用于验证(解密),签名者用加密密钥(保密)签名文件(加密),验证者用解密密钥(公开的)解密文件,确定文件的真伪。数字签名与加密和解密过程相反。散列函数是数字签名的一个重要辅助工具。基本要求如下。(1)可验证。签名是可以被确认的,对于签名的文件,一旦发生纠纷,任何第三方都可以准确、有效地进行验证。(2)防抵赖。这是对签名者的约束,签名者的认同、证明、标记是不可否认的,发送者事后不能不承认发送文件并签名。(3)防假冒。攻击者冒充发送者向收方发送文件。(4)防篡改。文件签名后是不可改变的,这保证了签名的真实性、可靠性。(5)防伪造。签名是签名者对文件内容合法性的认同、证明和标记,其他人签名无效。(6)防重复。签名需要时间标记,这样可以保证签名不可重复使用。3.5.2实例——数字签名数字签名允许数据的接收者用以确认数据的来源和数据的完整性,并且保护数据,防止被人(包括接收者)进行伪造。签名的一般过程:先对数据进行摘要计算,然后对摘要值用私钥进行签名。1.RSA密钥签名验签第1步:在虚拟机KaliLinux中,执行如下命令创建文本文件。echoopensslsigntest>signtest.txt第2步:在虚拟机KaliLinux中,执行如下命令生成RSA密钥对,并且提取出公钥。opensslgenrsa-outrsa_private.keyopensslrsa-inrsa_private.key-pubout-outrsa_public.key第3步:在虚拟机KaliLinux中,执行如下命令用RSA私钥对SHA1计算得到的摘要值签名。即文件signtest.txt的签发人对文件进数字签名。openssldgst-signrsa_private.key-sha1-outsha1_rsa_file.signsigntest.txt第4步:在虚拟机KaliLinux中验证收到文件的数字签名,执行如下命令用相同的私钥和摘要算法进行验签。openssldgst-prverifyrsa_private.key-sha1-signaturesha1_rsa_file.signsigntest.txt第5步:在虚拟机KaliLinux-2中验证收到文件的数字签名,执行如下命令用相应的公钥和相同的摘要算法进行验签,否则会失败。openssldgst-verifyrsa_public.key-sha1-signaturesha1_rsa_file.signsigntest.txt上述操作的具体过程如图3.64所示。3.5.2实例——数字签名图3.64使用RSA密钥签名验签3.5.2实例——数字签名1.DSA密钥签名验签第1步:在虚拟机KaliLinux中,执行如下命令生成DSA参数。openssldsaparam-outdsa.param1024第2步:在虚拟机KaliLinux中,执行如下命令由DSA参数生成DSA密钥对,并且提取出公钥。opensslgendsa-outdsa_private.keydsa.paramopenssldsa-indsa_private.key-outdsa_public.key-pubout第3步:在虚拟机KaliLinux中,执行如下命令用DSA私钥对SHA384计算的摘要值进行签名。即文件signtest.txt的签发人对文件进数字签名。openssldgst-signdsa_private.key-sha384-outsha384_dsa.signsigntest.txt第4步:在虚拟机KaliLinux中验证收到文件的数字签名,执行如下命令用相同的私钥和摘要算法进行验签。openssldgst-prverifydsa_private.key-sha384-signaturesha384_dsa.signsigntest.txt第5步:在虚拟机KaliLinux-2中验证收到文件的数字签名,执行如下命令用相应的公钥和摘要算法进行验签。openssldgst-verifydsa_public.key-sha384-signaturesha384_dsa.signsigntest.txt上述操作的具体过程如图3.65所示。3.5.2实例——数字签名图3.65使用RSA密钥签名验签3.5.2实例——数字签名图3.66数字签名过程3.6PKI技术随着互联网技术的迅速推广和普及,各种网络应用,如电子商务、电子政务、网上银行及网上证券等金融业网上交易业务也在迅速发展。但是,互联网在安全上的弱势又成为人们担心的焦点,比如网络上非法入侵、诈骗等,因此,如何解决网络信息的安全问题,已经成为发展网络通信的重要任务。目前对网络安全服务能够提供强有力保证的技术是公钥基础设施PKI(PublicKeyInfrastructure)。PKI是在公开密钥加密技术的基础上形成和发展起来的。RA结构的组成如图3.67(b)所示,RA中心负责证书申请注册的汇总;LRA为远程本地受理点,负责用户证书的申请受理。图3.67中国金融CA结构和RA结构3.7实例——构建基于Windows的CA系统PKI原理回顾:PKI是一个用公钥密码学技术来实施和提供安全服务的安全基础设施,它是创建、管理、存储、分布和作废证书的一系列软件、硬件、人员、策略和过程的集合。PKI以数字证书为基础,使用户在虚拟的网络环境中能够验证相互之间的身份,并保证敏感信息传输的机密性、完整性和不可否认性,为电子商务交易的安全提供了基本保障。CA系统是PKI的核心,因为它管理公钥的整个生命周期。Windows2003Server对PKI做了全面支持,在提供高强度安全性的同时,还与操作系统进行了紧密集成,并作为操作系统的一项基本服务而存在,避免了购买第三方PKI所带来的额外开销。SSL(SecureSocketLayer,安全套接字层)是由Netscape公司开发的,被广泛应用于Internet上的身份认证及Web服务器和用户端浏览器之间的安全数据通信。3.7实例——构建基于Windows的CA系统图3.68实验环境3.7实例——构建基于Windows的CA系统图3.69设置虚拟机IP地址3.7实例——构建基于Windows的CA系统图3.70测试三个虚拟机之间的网络连通性3.7实例——构建基于Windows的CA系统图3.71将WindowsServer2003的安装镜像文件载入光驱实验过程如下:1.在虚拟机Win2003SP1中安装IIS和证书服务器3.7实例——构建基于Windows的CA系统图3.72Windows组件向导 图3.73详细信息实验过程如下:1.在虚拟机Win2003SP1中安装IIS和证书服务器3.7实例——构建基于Windows的CA系统图3.75证书服务组件图3.76CA类型1.在虚拟机Win2003SP1中安装IIS和证书服务器图3.74

中国金融CA结构3.7实例——构建基于Windows的CA系统图3.77CA识别信息图3.78证书数据库设置第2步:在图3.76中,选择证书颁发类型“独立根CA”。第3步:在图3.76中,单击“下一步”按钮,如图3.77所示,填写CA识别信息,单击“下一步”按钮,如图3.78所示,出现“证书数据库设置”对话框,选择证书数据库及日志的位置。第4步:在图3.78中,单击“下一步”按钮,出现如图3.79所示对话框,询问是否停止IIS,单击“是”按钮,如图3.80所示。配置组件过程中,出现如图3.81所示对话框,单击“是”按钮。出现如图3.82所示对话框,单击“完成”按钮,安装完成。3.7实例——构建基于Windows的CA系统图3.81中国金融CA结构 图3.82安装完成第2步:在图3.76中,选择证书颁发类型“独立根CA”。第3步:在图3.76中,单击“下一步”按钮,如图3.77所示,填写CA识别信息,单击“下一步”按钮,如图3.78所示,出现“证书数据库设置”对话框,选择证书数据库及日志的位置。第4步:在图3.78中,单击“下一步”按钮,出现如图3.79所示对话框,询问是否停止IIS,单击“是”按钮,如图3.80所示。配置组件过程中,出现如图3.81所示对话框,单击“是”按钮。出现如图3.82所示对话框,单击“完成”按钮,安装完成。图3.79是否停止IIS图3.80配置组件3.7实例——构建基于Windows的CA系统图3.85请求处理第5步:设置证书服务管理。依次选择“开始”→“所有程序”→“管理工具”→“证书颁发机构”,如图3.83所示。右键单击“jsjCA”,选择“属性”→“策略模块”,如图3.84所示。单击“属性”按钮,如图3.85所示,选择“将证书请求状态设置为挂起,管理员必须明确地颁发证书”,单击“确定”按钮,接着单击“确定”按钮,完成证书服务管理的设置。图3.84jsjCA属性图3.83证书颁发机构3.7实例——构建基于Windows的CA系统图3.86Internet信息服务(IIS)管理器2.在虚拟机Win2003SP2中设置Web服务器(SSL网站)第1步:安装IIS,过程和在在虚拟机Win2003SP1(IP:)中一样。第2步:依次选择“开始”→“所有程序”→“管理工具”→“Internet信息服务(IIS)管理器”,如图3.86所示,右键单击“ztg网站”,选择“属性”→“主目录”,如图3.87所示;选择“文档”,如图3.88所示;选择“目录安全性”,如图3.89所示。在c:\inetpub\wwwroot下面创建index.htm主页文件,内容是“您正在访问ssl网站!”。图3.87主目录3.7实例——构建基于Windows的CA系统图3.88文档2.在虚拟机Win2003SP2中设置Web服务器(SSL网站)第1步:安装IIS,过程和在在虚拟机Win2003SP1(IP:)中一样。第2步:依次选择“开始”→“所有程序”→“管理工具”→“Internet信息服务(IIS)管理器”,如图3.86所示,右键单击“ztg网站”,选择“属性”→“主目录”,如图3.87所示;选择“文档”,如图3.88所示;选择“目录安全性”,如图3.89所示。在c:\inetpub\wwwroot下面创建index.htm主页文件,内容是“您正在访问ssl网站!”。图3.89目录安全性3.7实例——构建基于Windows的CA系统图3.91服务器证书 图3.92延迟或立即请求第3步:在图3.89中,单击“服务器证书”按钮,如图3.90所示,单击“下一步”按钮,如图3.91所示,选择“新建证书”。后续过程如图3.92—图3.99所示。在图3.97中,要记住文件名的路径,后面申请证书时,要用到该文件的内容。图3.90Web服务器证书向导3.7实例——构建基于Windows的CA系统图3.95站点公用名称 图3.96地理信息图3.93名称和安全性设置 图3.94单位信息3.7实例——构建基于Windows的CA系统图3.99完成证书向导 图3.100安全通信图3.97证书请求文件名图3.98请求文件摘要3.7实例——构建基于Windows的CA系统图3.101选择任务图3.102证书类型第4步:在图3.89中,单击“安全通信”部分中的“编辑”按钮,如图3.100所示,选择“要求安全通道”和“要求客户端证书”,单击“确定”按钮,接着单击“确定”按钮。第5步:打开IE浏览器,在地址栏输入/certsrv/按回车键,在弹出的对话框中单击“添加”按钮添加信任网站,然后浏览器中的内容如图3.101所示,单击“申请一个证书”,如图3.102所示,单击“高级证书申请”,如图3.103所示,单击“使用base64编码的CMC或PKCS#10文件提交一个证书申请,或使用base64编码的PKCS#7文件续订证书申请”,如图3.105所示,

将图3.104所示的C:\certreq.txt文本文件内的内容,粘贴到“保存的申请”。3.7实例——构建基于Windows的CA系统图3.105粘贴到“保存的申请”图3.106证书状态图3.103高级证书申请图3.104C:\certreq.txt文件内容3.7实例——构建基于Windows的CA系统图3.107颁发证书第6步:在虚拟机Win2003SP1(IP:,证书服务器)中,依次选择“开始”→“程序”→“管理工具”→“证书颁发机构”,如图3.107所示。单击左侧栏的“挂起的申请”,在右侧栏右键单击一个挂起的申请,依次选择“所有任务”→“颁发”。第7步:在虚拟机Win2003SP2(IP:)中,打开IE浏览器,在地址栏输入/certsrv/按回车键,单击“查看挂起的证书申请的状态”,如图3.108所示,单击“保存的申请证书”,如图3.109所示,单击“下载证书链”,如图3.110所示,单击“保存”按钮,将文件certnew.p7b保存在桌面。3.7实例——构建基于Windows的CA系统图3.110保存证书 图3.111Web服务器证书向导图3.108查看证书申请状态 图3.109下载证书链3.7实例——构建基于Windows的CA系统图3.114SSL端口图3.115证书摘要第8步:在虚拟机Win2003SP2(IP:)中,依次选择“开始”→“所有程序”→“管理工具”→“Internet信息服务(IIS)管理器”,右键单击“ztg网站”,选择“属性”→“目录安全性”,单击“服务器证书”按钮,如图3.111所示,单击“下一步”按钮。后续过程如图3.112—图3.115所示,单击图3.115中“下一步”按钮后,在弹出的对话框中单击“完成”按钮,完成证书的安装。图3.112挂起的证书请求图3.113文件certnew.p7b路径3.7实例——构建基于Windows的CA系统图3.116证书内容 图3.117下载证书、证书链或CRL第9步:在虚拟机Win2003SP2(IP:)中,依次选择“开始”→“所有程序”→“管理工具”→“Internet信息服务(IIS)管理器”,右键单击“ztg网站”,选择“属性”→“目录安全性”,单击“查看证书”按钮,如图3.116所示,查看安装的证书。单击“确定”按钮,接着单击“确定”按钮,SSL网站创建完成。3.7实例——构建基于Windows的CA系统图3.118潜在的脚本冲突 图3.119申请一个证书3.配置客户端(虚拟机WinXPsp3,)第1步:在虚拟机WinXPsp3(IP:)中,打开IE浏览器,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论