文档的数字签名实验
- 格式:docx
- 大小:219.32 KB
- 文档页数:6
如何使用文档加密和数字签名确保文档安全性和完整性使用文档加密和数字签名来确保文档的安全性和完整性是当今信息时代中的重要任务。
随着数字化和网络化的进一步发展,我们在日常工作和生活中处理的各种文档类型也越来越多,因此,保护文档的安全以及验证其完整性的需求日益增加。
本文将介绍如何使用文档加密和数字签名来实现这一目标,包括其基本原理、应用场景和具体操作步骤等。
一、文档加密的基本原理和应用场景1.1 基本原理文档加密是指将原始文档使用密码算法转化为加密文档,以保护其内容不被未授权的人员访问或篡改。
其基本原理是通过对文档进行密码学上的转换,使得只有持有正确密钥的人才能解密和访问文档内容。
1.2 应用场景文档加密广泛应用于信息安全领域的各个方面,例如:- 企业内部文件的保密:保护商业机密、合同文件、研发资料等敏感信息,防止信息泄露。
- 个人隐私保护:例如个人身份证明、银行账户信息等敏感数据。
- 电子邮件的安全传输:通过对附件进行加密,确保邮件内容在传输过程中不被窃取或篡改。
二、文档加密的具体操作步骤2.1 文档加密过程文档加密的具体操作步骤如下:步骤一:选择合适的加密软件或工具,根据自己的需求选择适当的加密算法和加密方式。
步骤二:打开加密软件,并导入需要加密的文档。
步骤三:设置加密参数,包括密钥选择、加密算法设置等。
步骤四:执行加密操作,等待加密软件完成加密过程。
步骤五:保存加密后的文档,并确保在合适的场合和受限的权限下进行访问和传输。
2.2 密钥管理和保护在文档加密过程中,密钥的管理和保护是至关重要的,包括以下方面:- 密钥生成:选择合适的密钥生成算法,生成足够随机和复杂的密钥。
- 密钥分发:确保密钥只能被合法授权的人员获得,并进行安全的传输和存储。
- 密钥保护:对密钥进行适当的保护,包括设定访问权限、加密存储等。
三、数字签名的基本原理和应用场景3.1 基本原理数字签名是一种用于验证文档完整性和真实性的技术手段,通过将文档的哈希值用私钥进行加密,生成唯一的签名值。
竭诚为您提供优质文档/双击可除数字签名算法实验报告篇一:数字签名实验报告附件2:北京理工大学珠海学院实验报告ZhuhAIcAmpAusoFbeIJIngInsTITuTeoFTechnoLogY实验题目数字签名实验实验时间20XX.4.8一、实验目的:(1)掌握数字签名技术的原理;(2)熟悉密钥的生成及其应用。
二、实验内容以及步骤:RsA-pKcs签名算法(一)签名及验证计算(1)进入实验实施,默认选择即为“RsA-pKcs”标签,显示RsA-pKcs签名实验界面。
(2)选择明文格式,输入明文信息。
点击“计算shA1值”按钮,生成明文信息的散列值。
(3)选择密钥长度,此处以512bit为例,点击“生成密钥对”按钮,生成密钥对和参数。
选择“标准方法”标签,在标签下查看生成的密钥对和参数。
(4)标准方法签名及验证点击“标准方法”标签下的“获得签名值”按钮,获取明文摘要的签名值,签名结果以十六进制显示于相应的文本框内;点击“验证签名”按钮,对签名结果进行验证,并显示验证结果;上述过程如图1.1.8-3所示。
(5)选择“中国剩余定理方法”标签,在标签下查看生成的密钥对和参数。
(6)中国剩余定理方法签名及验证点击“中国剩余定理方法”标签下的“获得签名值”按钮,获取明文摘要的签名值,签名结果以十六进制显示于相应的文本框内;点击“验证签名”按钮,对签名结果进行验证,并显示验证结果。
eLgAmAL签名算法(1)在“RsA-pKcs”标签下的扩展实验中,点击“eLgAmAL 扩展实验”按钮,进入eLgAmAL签名算法扩展实验窗体。
(2)设置签名系统参数。
在文本框“大素数p”内输入一个大的十进制素数(不要超过8位);然后在文本框“本原元a”内输入一个小于p的十进制正整数,点击“测试”。
(3)注册用户,在“用户名”文本框中输入一个“注册用户列表”中未出现的用户名,如“alice”,点击“注册”按钮。
(4)在“用户注册”窗口中的文本框“私钥x”中输入一个小于素数p的十进制非负整数,点击“确定”按钮;然后,点击“计算公钥”按钮,系统会为该用户生成一对公私钥。
在Office 文件中添加或删除数字签名方法
对文档进行数字签名与签署纸质文档的原因大致相同。
数字签名通过使用计算机加密来验证数字信息,如文档、电子邮件和宏。
数字签名有助于确保:
∙真实性数字签名有助于确保签署人的身份与声明的相符。
∙完整性数字签名有助于确保内容在经过数字签名之后未经更改或篡改。
∙不可否认数字签名有助于向所有方证明签署内容的有效性。
“否认”指签名人否认任何与签署内容有关系的行为。
今天来给大家演示下如何对office中的word、excel、PPT 文档进行有效的数字签名。
1.单击“文件”选项卡。
2.单击“信息”。
3.在“权限”下,单击“添加数字签名”。
4.弹出如下图:点击”确定”
5.在“签名”对话框中的“签署此文档的目的”框中,键入目的。
6.点击更改可选择您其他数字证书进行签名文档。
7.最终点击”签名”则提示
8.最终确定后,如下图显示该文档已签名
9.返回到文本内容页,如下图则表示您的文档已经签名成功。
在对文件进行数字签名后,将出现“签名”按钮,并且文件会变为只读以防止修改。
数字签名是一种通过加密算法将电子文档进行数字签名的技术,它能够确保文档的真实性和完整性。
数字签名原理与验证如下:1. 数字签名原理数字签名是一种基于公钥密码学和哈希函数的签名技术。
数字签名的主要目的是确保电子文档的完整性和认证文档的来源。
数字签名通常由两个部分组成:签名和验证。
签名过程:(1)发送者使用自己的私钥对文档进行加密,生成数字签名。
(2)将数字签名和原始文档一起发送给接收者。
验证过程:(1)接收者使用发送者的公钥对数字签名进行解密,得到原始文档的哈希值。
(2)接收者使用相同的哈希函数对原始文档进行哈希计算,得到一个新的哈希值。
(3)接收者将两个哈希值进行比较,如果两个哈希值相同,则说明文档未被篡改,签名有效。
数字签名的原理基于以下三个要素:(1)发送者的私钥:发送者使用自己的私钥对文档进行加密,生成数字签名。
私钥是发送者独有的,其他人无法获取。
(2)哈希函数:哈希函数是一种将任意长度的消息压缩成固定长度的消息摘要的函数。
数字签名使用SHA-256等哈希函数来生成文档的哈希值。
(3)公钥密码学:公钥密码学是一种加密和解密的方法,使用公钥和私钥对数据进行加密和解密。
数字签名使用RSA等公钥密码学算法来生成数字签名。
2. 数字签名验证数字签名验证的目的是确保电子文档的完整性和认证文档的来源。
数字签名验证通常由以下三个步骤组成:(1)接收者获取发送者的公钥:接收者通过与发送者协商或公开途径获取发送者的公钥。
(2)接收者解密数字签名:接收者使用发送者的公钥对数字签名进行解密,得到原始文档的哈希值。
(3)接收者验证哈希值:接收者使用相同的哈希函数对原始文档进行哈希计算,得到一个新的哈希值。
接收者将两个哈希值进行比较,如果两个哈希值相同,则说明文档未被篡改,签名有效。
如果两个哈希值不同,则说明文档被篡改,签名无效。
数字签名验证的原理基于以下三个要素:(1)发送者的公钥:发送者公开自己的公钥,接收者使用该公钥对数字签名进行解密,得到原始文档的哈希值。
一、实验目的本次实验旨在通过实际操作,了解数字认证的基本原理和应用,掌握数字认证技术的实现过程,并熟悉相关工具的使用方法。
通过实验,培养学生的动手能力和创新能力,提高学生在信息安全领域的实际操作能力。
二、实验环境1. 操作系统:Windows 102. 开发环境:Python3.73. 工具:PyCharm、数字证书生成工具、数字签名工具三、实验内容1. 数字证书的生成与导入(1)使用数字证书生成工具,生成一个自签名的数字证书。
(2)将生成的数字证书导入到本地密钥库中。
2. 数字签名的生成与验证(1)使用数字签名工具,对一份文档进行数字签名。
(2)验证数字签名的正确性。
3. 数字信封的加密与解密(1)使用数字信封加密工具,对一份文档进行加密。
(2)使用数字信封解密工具,对加密文档进行解密。
4. 数字证书的吊销与更新(1)使用数字证书吊销工具,吊销一个数字证书。
(2)使用数字证书更新工具,更新一个数字证书。
四、实验步骤1. 数字证书的生成与导入(1)打开数字证书生成工具,设置证书的属性,如有效期、密钥长度等。
(2)生成自签名数字证书,并保存到本地。
(3)打开Python,导入PyOpenSSL库,使用以下代码导入数字证书:```pythonfrom OpenSSL import cryptodef load_certificate(cert_path):with open(cert_path, 'rb') as f:cert = crypto.load_certificate(crypto.FILETYPE_PEM, f.read()) return cert# 导入数字证书cert_path = 'path/to/cert.pem'cert = load_certificate(cert_path)```2. 数字签名的生成与验证(1)使用数字签名工具,对一份文档进行数字签名。
实验三、数字摘要、数字签名实验
(一)实验目的
通过实验理解数字摘要、数字签名原理与应用
(二)实验步骤
1、选取一个word文档,利用HASH计算器计算其数字摘要MD5的值。
2、利用RSA TOOL工具对其数字摘要进行加密进行数字签名。
3、利用QQ将word文件和数字签名传给另一位同学,另一位同学解密数字签名并计算数字摘要的MD5的值和传输过来的文段的MD5值。
并验证传输过程中文档是否被修改。
4、发送方将word文档修改后,再次,发给另一位同学,接收后再次重复第3步,验证文档是否被篡改。
(三)实验过程
1、选取一个word文档,利用HASH计算器计算其数字摘要MD5的值。
2、利用RSA TOOL工具对其数字摘要进行加密进行数字签名。
3、利用QQ将word文件和数字签名传给另一位同学,另一位同学解密数字签名并计算数字摘要的MD5的值和传输过来的文段的MD5值。
并验证传输过程中文档是否被修改。
对方接收后进行解密:
MD5值相同说明文件未被改动
4、发送方将word文档修改后,再次,发给另一位同学,接收后再次重复第3步,验证文档是否被篡改。
将原文修改后:
得到的MD5值与原来不同,说明文件已经被修改。
(四)实验结果分析
本次实验通过DES加密解密工具、hasher、RSATOOL对word文档进行加密解密。
在实际生活中,这个实验可以保证文档在传输中不被修改。
根据实验可知,如果文档未被修改。
西北师范大学计算机科学与工程学院学生实验报告学号201671010139 专业网络与信息安全班级网络班姓名徐楠课程名称密码学课程设计课程类型必修课实验名称数字签名实验实验内容:实验原理:一、RSA-PKCS签名算法公钥密码标准(PKCS)最初是为推进公钥密码系统的互操作性,由RSA实验室与工业界、学术界和政府代表合作开发的。
在RSA带领下,PKCS的研究随着时间不断发展,它涉及了不断发展的PKI格式标准、算法和应用程序接口。
PKCS标准提供了基本的数据格式定义和算法定义,它们实际是今天所有PKI实现的基础。
其中PKCS#1定义了RSA公钥函数的基本格式标准,特别是数字签名;它定义了数字签名如何计算,包括待签名数据和签名本身的格式;也定义了RSA公/私钥的语法。
RSA-PKCS签名算法基于RSA算法,被用于签署X.509/PEM证书、CRL、PKCS #6扩展证书以及其它使用数字签名的对象,例如X.401消息环。
RSA-PKCS签名算法的签名过程包括4个步骤:消息散列,数据编码,RSA加密和8位字节串到位串的转换;签名过程的输入是一个8位字节串M(即消息)和签名者的私人密钥;其输出是一个位串S(即签名);验证过程包括四个步骤:位串到字节串的转换,RSA解密,数据解码,消息散列和比较;验证过程的输入是字节串M(即消息)、签名者的公钥、位串S(即签名);其输出是验证成功或失败的标记号。
RSA-PKCS签名算法的具体算法描述可参见RFC-2313:PKCS#1 RSAv1.5加密标准。
二、ELGAMAL签名算法选p是一个大素数,p-1有大素数因子,a是一个模p的本原元,将p和a公开。
用户随机地选择一个整数x作为自己的秘密的解密钥,,计算,取y为自己的公开的加密钥。
公开参数p和a。
(1)产生签名设用户A要对明文消息m加签名,,其签名过程如下:①用户A随机地选择一个整数k,,且(k,p-1)=1;②计算③计算④取(r,s)作为m的签名,并以<m,r,s>的形式发送给用户B。
数字签名标准DSS 实验日志实验题目:数字签名标准实验目的:DSS 的核心是DSA 算法,在DSA 算法中,公钥k 1=(p ,q ,g ,y );私钥k 2=(x )。
签名者选取一个随机数k ,满足0<k <q ;拥有私钥x ;使用SHA-1算法计算出消息摘要h (m )。
DSA 签名算法为r ≡(g k mod p ) mod qs ≡(h (m )+xr )k -1 mod q生成的签名为(r ,s )。
验证者拥有公钥k 1=(p , g , y ),收到的明文m 和签名(r , s ),验证算法r q p y g u u mod )mod (21其中u 1≡h (m )s -1 mod q , u 2≡rs -1 mod q如果等式成立,则签名有效。
否则,签名无效。
实验要求:(1) Windows 系列操作系统;(2) Java 编程环境。
(3) 掌握DSS 的基本原理,阅读和分析已提供的DSA 算法中生成密钥对的源代码DSAGenerateKeyPair.java ,导出私钥文件prikey.dat 和公钥文件pubkey.dat 。
(4) 添加实现DSA 签名代码DSASigner.java 和DSA 签名验证代码DSAChecker.java 。
(5) 完成对消息的签名运算和验证运算。
实验主要步骤:(1) 使用DSAGenerateKeyPair.java 生成一对密钥,导出私钥文件prikey.dat 和公钥文件pubkey.dat 。
(2) 运行DSASigner.java ,导入私钥文件prikey.dat ,对消息签名,将签名后的数据写入文件info.dat ;(3) 运行DSAChecker.java 文件,导入公钥文件pubkey.dat ,导入已签名的文件info.dat ,验证签名的有效性。
实验结果:心得体会:通过本次实验,我知道了数字签名标准DSS这一概念。
网络安全实验word签名
网络安全实验报告 Word 签名
一、实验目的
通过本次实验,了解并掌握 Word 文档签名的方法与技巧,加强网络安全意识,确保文档的原始性和可信性。
二、实验工具
- 电脑
- Word 文档编辑软件
三、实验原理
Word 文档签名是一种数字签名技术,通过对文档进行数字哈希计算并采用私钥加密,确保文档的完整性和不可篡改性。
签名后的文档,任何人无法篡改其中的内容,同时也可以方便地证实文档是由签名者生成的。
四、实验步骤
1. 准备签名所需的公钥和私钥,可以使用一些数字证书生成工具来生成。
2. 打开需要签名的 Word 文档,并在菜单栏中选择“文件”>“信息”>“保护文档”。
3. 在弹出的选项中点击“添加数字签名”。
4. 在“数字签名”对话框中,点击“选择”并选择自己的数字证书。
5. 确认证书信息无误后,点击“签名”按钮。
6. 输入 PIN 码以确认身份。
输入正确的 PIN 码后,即可成功
生成数字签名。
7. 保存文档并关闭。
五、实验结果与分析
实验结果显示,生成的数字签名成功绑定到了 Word 文档上。
其他人无法修改文档内容,并能够验证文档的原始性。
六、实验总结
通过本次实验,我们了解到了数字签名的功能和作用,掌握了 Word 文档签名的方法与技巧。
数字签名可以有效确保文档
的完整性和可信性,在今天网络攻击日益增多的环境下,对于保护文档的安全至关重要。
我们应该养成签名文档的好习惯,提高自身的网络安全意识,保护自己和他人的利益。
数字签名的技术实现对一个电子文件进行数字签名并在网上传输,其技术实现过程大致如下:首先要在网上进行身份认证,然后再进行签名,最后是对签名的验证。
1、认证。
PKI提供的服务首先是认证,即身份识别与鉴别,确认实体即为自己所声明的实体。
认证的前提是甲乙双方都具有第三方CA所签发的证书,认证分单向认证和双向认证。
(1)单向认证是甲乙双方在网上通信时,甲只需要认证乙的身份即可。
这时甲需要获取乙的证书,获取的方式有两种,一种是在通信时乙直接将证书传送给甲,另一种是甲向CA的目录服务器查询索取。
甲获得乙的证书后,首先用CA的根证书公钥验证该证书的签名,验证通过说明该证书是第三方CA签发的有效证书。
然后检查证书的有效期及检查该证书是否已被作废(LRC检查)而进入黑名单。
(2)双向认证。
双向认证是甲乙双方在网上通信时,甲不但要认证乙的身份,乙也要认证甲的身份。
其认证过程与单向认证过程相同。
甲乙双方在网上查询对方证书的有效性及黑名单时,是采用的LDAP协议(Light Directory Access Protocol)它是一种轻型目录访问协议。
2、数字签名与验证过程网上通信的双方,在互相认证身份之后,即可发送签名的数据电文。
数字签名的全过程分两大部分,即签名与验证。
数字签名与验证的过程和技术实现的原理如图五所示。
签名过程I 验证过程数字签名过程分两部分:左侧为签名,右侧为验证过程。
即发方将原文用哈希算法求得数字摘要,用签名私钥对数字摘要加密得数字签名,发方将原文与数字签名一起发送给接受方;收方验证签名,即用发方公钥解密数字签名,得出数字摘要;收方将原文采用同样哈希算法又得一新的数字摘要,将两个数字摘要进行比较,如果二者匹配,说明经数字签名的电子文件传输成功。
3、数字签名的操作过程数字签名的操作过程如图六所示。
需要有发方的签名证书的私钥及其验证公钥。
数字签名操作具体过程如下:首先是生成被签名的电子文件(《电子签名法》中称数据电文),然后对电子文件用哈希算法做数字摘要,再对数字摘要用签名私钥做非对称加密,即作数字签名;之后是将以上的签名和电子文件原文以及签名证书的公钥加在一起进行封装,形成签名结果发送给收方,待收方验证。
第1篇一、实验背景与目的随着信息技术的飞速发展,数字签名技术在保障数据安全、验证信息真实性等方面发挥着越来越重要的作用。
为了提高数字签名的效率,本研究旨在对快速签名算法进行实验研究,验证算法的有效性和可行性。
二、实验环境与工具1. 操作系统:Windows 102. 编程语言:Python3.83. 库:pyscrypt(加密库)4. 椭圆曲线:secp256k1(比特币使用的椭圆曲线)三、实验内容与步骤1. 快速签名算法选择本实验选择了基于椭圆曲线的签名算法(ECDSA)作为研究对象,因其具有较高的安全性、效率和灵活性。
2. 算法实现(1)生成密钥对:使用椭圆曲线生成器生成私钥和公钥。
```pythonfrom ecdsa import SigningKey, NIST256pprivate_key = SigningKey.generate(curve=NIST256p)public_key = private_key.get_verifying_key()```(2)签名过程:对数据进行签名。
```pythonmessage = b"Hello, World!"signature = private_key.sign(message)```(3)验证过程:使用公钥验证签名。
```pythonpublic_key.verify(signature, message)```3. 性能测试(1)测试不同数据长度对签名时间的影响。
(2)测试不同密钥长度对签名时间的影响。
(3)测试不同签名次数对签名时间的影响。
4. 安全性分析(1)分析快速签名算法的安全性,包括密钥泄露、中间人攻击等。
(2)与其他签名算法(如RSA、ECC)进行比较,分析其优缺点。
四、实验结果与分析1. 性能测试结果(1)数据长度对签名时间的影响:随着数据长度的增加,签名时间逐渐增加,但总体上保持较低的时间消耗。
数字签名实验报告比较散列算法MD5和SHA所得到的结果从三方面进行分析:一、安全性:SHA优于MD5,由于160>128二、速度:SHA慢了约25%,因为160>128且80>60三、简易性:SHA对每一步骤的操作描述比MD5简单对实验记录2这个源文件进行各类实验:SHA-1的信息摘要比MD5的要长,无论对源文件做出空格、修改、删除、增加等任何操作,两种散列函数的信息摘要都会发生改变。
1 查找资料,掌握不同散列算法的原理和特点,掌握MD5和SHA散列算法的特点和应用条件。
散列函数有三个主要特点:(1)它能处理任意大小的信息,并将其按信息摘要(Message Digest)方法生成固定大小的数据块,对同一个源数据反复执行Hash函数将总是得到同样的结果。
(2)它是不可预见的。
产生的数据块的大小与原始信息看起来没有任何明显关系,原始信息的一个微小变化都会对小数据块产生很大的影响。
(3)它是完全不可逆的,没有办法通过生成的数据块直接恢复源数据。
常见散列函数有MD5、SHA、MAC、CRC。
MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,MD5被广泛使用,可以用来把不同长度的数据块进行暗码运算成一个128位的数值。
有两个特点:1、输入两个不同的明文(一段原始的数字信息)不会得到相同的输出值2、根据输出值,不能得到原始的明文,即过程不可逆所以要解密MD5没有现成的算法,只能用穷举法,把可能出现的明文,用MD5算法散列之后,把得到的散列值和原始的数据形成一个一对一的映射表,然后在所谓的解密的时候,都是通过这个映射表来查找其所对应的原始明文。
而绝对没有一种算法,可以通过输出加密后的散列值算出原始明文。
·SHA(Secure Hash Algorithm)这是一种较新的散列算法,可以对任意长度的数据运算生成一个160位的数值;·MAC(Message Authentication Code):消息认证代码,是一种使用密钥的单向函数,可以用它们在系统上或用户之间认证文件或消息。
实验2 数据加密与与数字签名一、实验目的与要求体验各种密码体制的数据安全操作与数据安全软件以及了解我国的电子商务法律,并思考应如何做好电子商务的安全防范。
二、实验内容1.运行C语言编程的加密程序。
2.PGP软件的下载与使用(对邮件以及文件加密)或Openssl软件。
3.非密码的安全技术。
4.各国发展电子商务的政策和制定的电子商务法律。
5.我国第一部电子签名法的内容与实施三、实验软件Windows XP ,IE 7 ,PGP软件,Openssl软件四、实验步骤(一)数据安全软件的使用1.下载PGP与安装PGP(见附录)2.利用PGP对邮件或磁盘文件进行加密3.或者利用Openssl做如下操作:(用对称加密法对文件进行加密与解密)(1)生成源文件。
用记事本创建一个文本文件,文件名为学号(026h231f.txt),内容为学生的名字与学号,保存在c:\openssl\out32dll 的文件夹下。
(2)对源文件进行对称加密。
输入命令:“openssl enc-des3-in026h231f.txt-out out026h231f.des”回车后,在加密过程中系统会提示输入保护密码,输入密码后,再次确认(输入密码时屏幕无任何显示),系统在c:\openssl\out32dll目录下自动生成一个des3算法加密后的out026h231f.des文件。
(3)查看加密的文件。
输入命令:“type out026h23lf.des”,查看加密后的out026h231f.des文件的内容。
(4)对加密文件进行解密。
输入命令“openssl enc-des3-d-inout026h231f.des -out new026h231f.txt”,并根据提示输入解密密码,对“outmane.txt”文件内容进行解码。
(5)比较解密后文件和源文件,输入命令“type new026h23lf.txt”,查看解密后的文件内容,判断是否与源文件026h23lf.txt的内容一致。
实验报告实验名称:____________PKI实验___________ 学生姓名:____________ _____________专业:_______ ________班级:__________ ___________学号:_____________________指导教师:_________________________实验成绩:________________________________ 实验地点:__________ ___________实验时间:_____一、实验目的与实验要求1、实验目的证书服务的安装Web服务器的配置:单向认证和双向认证证书服务的管理独立从属CA的配置2、实验要求认真完成实验内容实验报告若发现抄袭,实验不合格二、实验设备及网络拓扑红亚安全教学系统三、实验内容与步骤一、CA 安装证书服务独立根CA:独立根CA 是证书层次结构中的最高级CA。
独立根CA 既可以是域的成员也可以不是,因此它不需要AD,但是,如果存在AD 用于发布证书和证书吊销列表,则会使用AD,由于独立根CA 不需要AD,因此可以很容易地将它众网络上断开并置于安全的区域,这在创建安全的离线根CA 时非常有用。
环境准备:虚拟机PC1 安装好Windows Server 20031. 添加IIS 组件:点击“开始”——“控制面板”——“添加/删除程序”——“添加/删除windows 组件”――“Internet 信息服务(IIS)”(如果没有这一项就安装“应用程序服务器”)。
Web服务器Server 2003证书服务器Server 2003客户端Windows XP2. 点击‘确定’‘下一步’安装完成后,点击“开始”——“管理工具”——“IIS 管理器”,查看IIS 管理器,如下图:3. 添加‘证书服务’组件:点击“开始”——“控制面板”——“添加/删除程序”——“添加/删除windows 组件”――“证书服务”,勾选上。
实验三 数字签名实验【实验目的】1、 了解公开密钥算法、摘要算法的概念和原理。
2、 掌握数字签名的原理。
3、 编写程序,利用数字签名实现对本机文件的完整性保护。
【实验内容】1、 对文件进行签名保护和完整性验证过程如下图所示:其中,签名所使用的摘要函数可使用md5、SHA1等函数,公开密钥算法可使用RSA 算法。
密钥长度1024位。
数字签名所需的私钥存放在PKCS12文件中,公钥信息以X509v3格式存放在数字证书中,该证书以DER 编码文件形式存放。
2、按照上图所示的文件完整性保护过程编写程序,该程序应能实现以下内容:(1)提供一个主运行界面,能在该界面里选择公钥证书存放路径和私钥文件存放路径。
(2)能提供对目录的可视浏览,能够选择一个或多个需要进行完整性保护的文件或目录。
(3)能对所选的文件进行数字签名。
(4)提供一个已签名文件的列表,能够在列表中选择一个或多个文件进行完整性验证,并能在文件被改动后提示用户。
【实验环境】(1) 生成好的数字证书和私钥,以PKCS12文件形式存放。
签名数据库签名数据库摘要算法摘要算法生成签名过程验证过程(2)测试用客户机一台,安装windows2000 professional系统。
【实验参考步骤】1、选定进行数字签名和验证所需的PKCS12文件。
2、在文件选择对话框中选择需要进行数字签名的文件,分别对所选中的文件的内容进行摘要,从PKCS12文件中提取私钥,对摘要值用私钥进行加密,形成数字签名。
3、将每个文件的数字签名保存在数据库中,也可保存在目录中,但须考虑签名的安全性。
4、对所选文件进行修改后再运行程序,在已签名文件中选择部分或全部文件,按照前述过程进行完整性检查,程序以特殊标记显示所有完整性被破坏的文件。
【实验报告】1、阐述本实验中的数字签名原理。
2、提交实验数据结论,并进行结果分析。
【实验预备知识】1、数字签名原理在日常生活中,经常需要人们签署各种信件和文书,随着信息时代的来临,人们希望对越来越多的电子文件进行迅速的、远距离的签名,这就是数字签名。
实验:数字签名
⑴目的要求
⎽目的:加深理解数字证书的概念、用途;了解数字证书的工作过程和使用方法。
⎽要求:上实验课前要求学生把实验提纲写好,下实验课前交实验报告。
⑵重点难点
⎽重点:了解数字证书的工作过程和使用方法。
⎽难点:数字证书的工作原理。
⑶实践内容
●获取签名文件;
●获取数字证书;
●利用数字证书打开签名文件。
(4)实践工具
Office(Word、Excel、Powerpoint)、Adobe Acrobat Pro
1.1 创建数字证书
1.开始——程序——Microsoft Office——Microsoft Office 工具——VBA工程的数字证书
2.创建数字证书(输入证书名称)——确定。
1.2 管理数字证书
Internet Explorer ——工具——Internet 选项——内容——证书
1.3 在Word中使用和验证数字证书
1.文件——信息——保护文档——添加数字签名——?
2.工具——选项-安全性-数字签名
1.4 在Adobe Acrobat Pro中使用和验证数字证书
高级——安全性设置——数字身份证——添加身份证(如果没有就创建)。
高级——签名和验证。
加密与数字签名的技术实训报告2010-2011第二学期《网络安全技术》项目报告题目:加密与数字签名的技术应用__学院:____信息科学与工程学院_专业:____计算机网络________班级:_____09网二__________组别:_____二组___________学号:____ 200915030214______姓名:_____李栋__________教师:_____郑加利__________日期:2011年6月20日到文件加密或许有人马上联想起Word或Excel等文档文件的密码保护措施,然而我们本章所介绍的“文件加密”绝不是这种密码保护,而是一种新型的数字化加密技术,所利用的是加密密钥。
Word或Excel的密码保护仅是保证文件在没有密码时不能打开或修改,这个保护级别相对来说较低,一般这种保护密码很容易通过一些专用程序解密。
而现在要讲的文件加密和数字签名,加密后的文件在解密之前会面目全非,没有对应的密码是无法进行阅读的,更别谈修改了。
这种密码比起前者所使用的密码长许多倍,而且是配对使用的,据专家分析用程序解密的可能性几乎为零,即使能解密,也起码要10000年。
数字签名就是基于加密技术之上的,其实本身也是一种加密技术。
它的作用就是用来确定发送文件或发送邮件的人是否是真实的。
一文件加密和数字签名的由来和意义加密作为保障数据安全的一种方式,不是现在才有的,它产生的历史相当久远,它的起源要追溯到公元前2000年(几十个世纪了),虽然当时并小是现在我们所讲的加密技术(甚至不叫加密1,但作为一种加密的概念,确实早在几十个世纪前就诞生了。
当时埃及人是最先使用特别的象形文字作为信息编码的,随着时间推移,巴比伦、美索不达米弧和希腊文明都开始使用一些方法来保护他们的书面信息。
加密作为保障数据安全的一种方式,早就在历史上发挥了重要的作用,从远古时代开始,人们就已经在采用一种如今称为“编码”(Code)的方法用于保护文字信息。
文档的数字签名实验2
数字签名能够用来证实文档创建者以及邮件发送者的可靠性,确保信息未受入侵而感染,内容没有在发送之后遭到秘密修改。
但对一个文档签名并不代表对其加密。
数字签名如何工作
数字签名使用的名叫证书授权(CA)的受信第三方签发的数字证书。
CA是一个运行着证书服务软件的服务器,例如包含在Windows 2000 Server和Widows Server 2003中的证书服务。
CA可以是在内部的,运行在公司本地局域网中的一台计算机上,或者它也可以是外部或者公共的CA,例如VeriSign、Thawte和其它公司所运行的。
无论是哪种方式,CA都是用来验证和证明那些它所签发的数字证书的用户或计算机身份的。
数字证书是基于非对称式或公共密钥加密技术的。
证书中班汉了用户的名称以及一个关联到用户用来签名文档的私钥的公共密钥,以及一串的数字、失效日期,还有CA的数字签名。
与早先版本的Office的兼容性
虽然早期版本的Office也支持数字签名,但它们使用的数字签名是不同格式的。
Office 2007使用的是XMLDSig格式,这与之前的版本是无法兼容的。
也就是说,如果一个用户使用的是Word 2003,他想打开一个在Office 2007中签名了的文档,那么这时就会出现一个对话框,提示这个用户,数字签名已经丢失了。
如何对Office 2007的文档添加数字签名
你可以对Word、Excel和PowerPoint 2007的文档以及Outlook 2007的电子邮件信息添加数字签名。
在Outlook中,你可以对个别的邮件信息使用数字签名,也可以让Outlook对所有发送出去的邮件使用数字签名。
要个别地对邮件使用签名,先创建一封邮件信息,接着点击Office按钮后选择“属性”,点击选择“安全性”选项卡。
在对话框中,钩选中“为此邮件添加数字签名”。
图9 你可以发送一封纯文本的签名邮件或是要求此邮件的S/MIME回执如果你还没有与你要用来发送邮件的电子邮件地址相关联的数字证书,你就会在发送邮件是看到一个“无效证书”提示,它会告诉你要如何获取一个数字标识来使用这个帐户,如图10所示。
图10 如果你使用的电子邮件账户没有数字ID,你会得到无效证书的提示小贴士:你可以从Thawte为个人电子邮件获得一个免费的数字标识。
要自动地对所有发送出去的邮件都添加数字签名,你可以使用受信中心,这方面我们将在下篇文章中阐述。
你有两种方式对Word、Excel或PowerPoint的文件添加数字签名:
全透明方式
使用签名行
全透明的签名对文档的有效性和完整性所提供的保证就是,让其在文档中是不可见的。
签名按钮会在应用程序窗口底部的状态栏中显示。
当你添加了签名之后,文档就会变成只读属性而无法更改。
要添加一个全透明的签名,你可以点击左上角的Office按钮,并选择“准备>添加数字签名”,如图11所示。
图11 通过Office按钮菜单就能够对Word、Excel和PowerPoint的文件添加数字签名如果你还没有对这个文档进行过保存,你会被提示说你必须在签名之前对其进行保存,接着“另存为”对话框就会弹出让你进行操作。
此时,“签名”对话框也会出现,显示出要签名在文档中的用户名,并且提供给你一个空间,让你输入对文档签名的理由,如图12所示。
图12 点击“签名”按钮即可对文档添加签名
你可以点击“更改”按钮来更改用户名,但仅能够更改为具备证书的用户。
要对文件进行签名,则点击“签名”按钮。
此时,一个“签名确认”的对话框会弹出,提示你签名已经与文档一起被
保存。
如果该文档发生了更改,签名也会随之失效,并且当任何人打开这个文档时都会得到提示。
如果签名中存在任何问题,“签名”的任务窗格就会显示出来,指出其中存在的问题。
状态栏中一个红色的按钮就表明文档已经被签名。
你也可以对一个文档添加数字签名行,因此,签名者能够添加他们自己的数字签名。
要完成此操作,点击Ribbon上的“插入”选项卡,点击“签名行”,接着选择“Microsoft Office签名行”。
这样就会打开一个“签名设置”对话框,如图13所示。
图13 你可以插入任何人能够在其中对文档签名的签名行在此,你可以插入签名者的名字、职务、电子邮件地址以及对签名人的特别说明。
你也可以在一个文档中插入多个签名行。
如果你愿意的话,你也可以允许签名人在“签署”对话框中添加注释,你也可以让Office应用程序在签名行中自动插入日期。
签名行被插入文档中后如图14所示。
图14 签名行会被插入到文档中等待用户签名
当你双击签名行的时候,“签名”对话框会出现,如图15所示。
图15 “签名”对话框允许签名人在签名行中签名
文档签名人可以通过以下的一种方式对文档进行签名:
在签名区域中输入他/她的名字
在Tablet PC中用笔手写他/她的名字
插入一个包含有他/她手写签名的图像文件
在文档被签名之后,一个对话框会弹出提示你签名已经与此文档一起保存,如果你之前有选择插入日期的话,还会提示你日期已经插入到之前输入或者是手写入文档的签名,如图16所示。
图16 输入或手写的签名会出现在文档中并与文档一同保存当这个文档在office 2007中打开时,“签名”任务窗格则会出现在窗口的右边,提示你这个文档已经受到签名保护。
任何更改都将使数字签名失效,而签名的红色图标则会出现在状态栏中,如图17所示。
图17 “签名”任务窗格指示了签名的有效性。