在企业局域网中实现数据加密和数字签名
- 格式:pdf
- 大小:227.21 KB
- 文档页数:4
2024年软件资格考试电子商务技术员(基础知识、应用技术)合卷(初级)自测试题(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)1、计算机网络的基本功能是什么?A. 数据通信B. 资源共享C. 提高系统可靠性D. 分布处理2、电子商务安全需求主要包括哪三个方面?A. 交易的保密性B. 交易的完整性C. 交易的不可否认性D. 交易的便捷性3、电子商务中,B2B(Business-to-Business)和C2C(Consumer-to-Consumer)的主要区别是什么?4、以下哪项不属于电子商务系统的基本功能?A. 商品展示功能B. 交易支付功能C. 客户服务功能D. 系统管理功能5、关于电子商务网站的基本功能,下列说法正确的是:A. 商品展示功能仅限于静态图文信息。
B. 安全的结算功能是为了确保网站的数据安全。
C. 物流配送服务是电子商务网站的核心功能。
D. 客户服务功能包括订单查询、退换货政策介绍等。
6、在电子商务的安全机制中,SSL指的是:A. 安全套接层协议,用于保护数据传输的安全。
B. 一种加密算法,用于数据存储。
C. 网络防火墙的一种类型,防止未经授权的访问。
D. 用户身份认证系统,验证用户身份信息的真实性。
7、以下哪个技术不属于电子商务中常用的支付技术?A. 磁条卡支付B. 短信支付C. 数字货币支付D. 云计算技术8、在电子商务中,以下哪个术语描述的是消费者在浏览产品信息后进行购买的行为?A. 购物车B. 在线询价C. 网上浏览D. 电子支付9、电子商务系统中,以下哪种技术主要用于实现商品信息的快速检索?A. XMLB. XML-RPCC. XPathD.全文检索技术 10、在电子商务交易过程中,以下哪个环节不属于交易安全保障措施?A. 数字证书的使用B. 交易数据的加密C. 交易平台的认证D. 物流跟踪11、题干:电子商务中的电子支付是指通过电子方式进行的货币支付活动,以下关于电子支付的说法正确的是()。
IP地址的验证和认证方法在互联网时代,IP地址起着至关重要的作用。
它是标识一台设备在网络上的唯一地址,通过IP地址我们可以实现设备之间的通信和信息传递。
然而,由于网络的开放性和匿名性,IP地址的验证和认证成为一个关键问题。
本文将探讨IP地址的验证和认证方法,以保障网络安全和数据的传输可靠性。
一、IP地址的验证方法1. IP地址格式验证IP地址由4组数字组成,每组数字范围在0-255之间,格式为X.X.X.X。
为了验证IP地址的有效性,我们可以采用正则表达式进行验证。
例如,正则表达式"^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$"可以用于验证IP地址的格式是否正确。
2. IP地址合法性验证除了验证IP地址的格式,还需要验证其合法性。
合法的IP地址需要满足以下条件:首先,不能是保留地址,如127.0.0.1是保留地址用于本地回环测试;其次,不能是特殊地址,如0.0.0.0表示非法地址;最后,不能是私有地址,如10.0.0.0/8,172.16.0.0/12,192.168.0.0/16等用于内部网络的地址段。
3. IP地址可用性验证IP地址的可用性验证是指验证该IP地址是否可以达到目标主机。
常用的方法是通过PING命令来测试IP地址的连通性。
如果PING命令能够收到目标主机的响应,说明IP地址可用;反之,则不可用。
二、IP地址的认证方法1. 基于物理地址(MAC地址)认证MAC地址是网卡或网络适配器的唯一标识符,通过获取设备的MAC地址并与预先存储的MAC地址进行比对,可以实现对IP地址的认证。
这种方法适用于局域网内的设备认证,但不适用于互联网环境下的IP地址认证。
2. 基于数字签名认证数字签名是一种通过公钥和私钥对数据进行加密和验证的方法。
IP 地址的认证可以通过数字签名来实现,即将IP地址和相应的认证信息使用私钥加密生成数字签名,然后将数字签名与公钥一同传输给目标主机,目标主机使用公钥来验证数字签名的有效性。
非对称加密、公钥、密钥、证书、签名的区别和联系以及(2009-12-02 13:27:46)转载▼分类:安全性标签:杂谈【1】非对称加密算法:非对称加密算法又称为公钥加密算法,按照密码学的Kerckhoff原则:“所有算法都是公开的,只有密钥是保密的”。
即安全系统的设计者不能指望使用某种秘密的无人知道的算法来保密,而应当使用一种公开的被验证过的算法——只要密钥是安全的,已知算法的攻击者实际上无法破解秘文的算法才是好的算法。
RSA算法是目前最流行的公钥密码算法,它使用长度可以变化的密钥。
RSA是第一个既能用于数据加密也能用于数字签名的算法。
RSA算法的原理如下:1.随机选择两个大质数p和q,p不等于q,计算N=pq;2.选择一个大于1小于N的自然数e,e必须与(p-1)×(q-1)互素。
3.用公式计算出d:d×e = 1 (mod (p-1)×(q-1)) 。
4.销毁p和q。
最终得到的N和e就是“公钥”,d就是“私钥”,发送方使用N去加密数据,接收方只有使用d才能解开数据内容。
RSA的安全性依赖于大数分解,小于1024位的N已经被证明是不安全的,而且由于RSA 算法进行的都是大数计算,使得RSA最快的情况也比DES慢上好几倍,这也是RSA最大的缺陷,因此它通常只能用于加密少量数据或者加密密钥。
需要注意的是,RSA算法的安全性只是一种计算安全性,绝不是无条件的安全性,这是由它的理论基础决定的。
因此,在实现RSA算法的过程中,每一步都应尽量从安全性方面考虑。
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。
甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。
非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
16计算机网络安全指的是网络系统中的硬件和软件及其数据受到保护,不会出现数据和信息的泄露、破坏或者是更改,因此从某种意义上说,计算机网络安全也可以说是信息安全。
计算机网络安全的涵义应该包括信息的真实性、完整性、可靠性以及可用性。
计算机网络技术的飞速发展,促使网络信息的数量越来越庞大,而随着信息量的增长,信息安全问题也开始频繁出现。
由信息安全问题所引起的信息丢失和破坏等,会对个人的生命和财产安全造成危害,甚至会影响到整个企业甚至国家的安危,因此,保证信息安全至关重要。
1 企业计算机网络安全机制如今,计算机网络技术的应用范围日渐广泛,其在企业中发挥的作用也越来越重要,因此,企业信息的安全性也受到了更多的关注。
企业网络安全指的是保证企业资源的安全,其中包括计算机硬件、软件以及数据,确保这些资源不会由于受到外部恶意侵入或者是物理原因而造成破坏、泄漏或者是更改,以此来保证企业网络资源的可靠性,保证信息数据的完整性。
为了保证企业信息的安全性和完整性,通常需要通过计算机网络安全机制来实现,其中包括以下几个方面的要求:访问机制,保证进入到计算机网络系统中的用户是被授权的用户,而未授权的使用者则无法进入到信息传递系统和处理系统,无法对信息进行修改,通过对实体身份的访问限制,保证信息的安全性;数据加密,对信息存储和传输的过程进行加密,确保非法用户无法进入和理解信息的内容,更无法对信息进行篡改和破坏;效益验证码,当对方受到数据后,需要对数据进行验证,对数据是否修改过进行验证;实体身份认证,保证实体的身份是真实的;可确认性,保证计算机的所有操作都有操作实体可依,具有审计性和可确定性,这样便能够有效地防止参与通信的实体否认自己发送或者是接收的信息,进而保证信息的安全性。
2 企业计算机网络安全方案的设计与实现2.1 采用交换机和虚拟局域网(VLAN)技术实现访问控制交换机和虚拟局域网技术的运用,能够有效地提升企业网络的运行性能,同时在增强网络安全性方面也有着重要的作用。
SM1和SM4算法介绍适用范围和应用场景商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。
比如:商用密码可用于企业门禁管理、企业内部的各类敏感信息的传输加密、存储加密,防止非法第三方获取信息内容;也可用于各种安全认证、网上银行、数字签名等。
SM1分组密码算法和SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。
SM1算法和SM4算法均可以用于网络数据的加密保护,以及存储数据或文件的加密保护。
其中,SM4分组密码算法是用于无线局域网和可信计算系统的专用分组密码算法,该算法的分组长度为128比特,密钥长度为128比特。
SM4算法是我国制定WAPI标准的组成部分,同时也可以用于其它环境下的数据加密保护。
SM1分组密码算法是我国自主设计的通用的分组对称加解密算法,分组长度为128位,密钥长度都为128比特,算法安全保密强度及相关软硬件实现性能与AES 相当,算法不公开,仅以IP核的形式存在于芯片中。
采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务、VPN加密、文件加密、通信加密、数字电视、电子认证及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。
例如:在门禁应用中,采用SM1算法进行身份鉴别和数据加密通讯,实现卡片合法性的验证,保证身份识别的真实性。
安全是关系国家、城市信息、行业用户、百姓利益的关键问题。
国家密码管理局针对现有重要门禁系统建设和升级改造应用也提出指导意见,加强芯片、卡片、系统的标准化建设。
与国外算法的安全性比较我国制定的SM1算法、SMS4算法,能够抵抗针对分组密码算法的各种攻击方法,包括穷举搜索攻击、差分攻击、线性攻击等,在实际应用中能够抵抗这些攻击手段。
国际上常见的分组密码算法,包括国际上的DES算法、AES算法、IDEA算法等。
数据传输加密规程保护数据在传输过程中的机密性随着信息技术的不断发展和广泛应用,数据在传输过程中的安全性变得愈发重要。
随之而来的安全威胁也变得更加隐蔽和复杂。
数据传输加密规程的出现满足了保护数据传输过程中机密性的需求,为信息安全提供了有效的保障。
本文将探讨数据传输加密规程的重要性,并介绍一些常见的加密算法。
一、数据传输加密的重要性数据传输加密指的是通过密码算法或密码协议对数据进行加密,使得数据在传输过程中不易被窃取和篡改。
在当今信息泛滥的时代,数据传输加密不仅是企业内部数据传输的重要环节,也不可或缺地应用在各种数据通信协议中,如互联网、局域网、无线通信等。
1.1 保护数据的机密性数据传输过程中,我们有时需要保护数据的机密性,避免数据被未授权的人窃取。
例如,在进行网上银行交易时,我们希望第三方无法获取到我们的账号、密码等敏感信息。
通过数据传输加密,可以有效保护数据的机密性,确保敏感数据只能被合法用户所看到。
1.2 防止数据的篡改在数据传输过程中,还需要防止数据被篡改,保证数据的完整性。
如果数据被未经授权的人篡改,可能会导致不可预测的后果,例如在网络购物中恶意修改订单金额,或者篡改医疗数据,导致病情误诊等。
通过数据传输加密,可以有效防止数据的篡改,保证数据的完整性和可靠性。
二、常见的数据传输加密算法为了保护数据在传输过程中的机密性,数据传输加密使用了许多加密算法。
下面介绍几种常见的加密算法。
2.1 对称加密算法对称加密算法又称为共享密钥加密算法,指的是发送和接收方使用相同的密钥进行加密和解密。
常见的对称加密算法有DES、AES等。
对称加密算法具有加密速度快、适用于大规模数据加密等优点,但由于密钥需要在发送和接收方之间共享,密钥分发和管理相对困难。
2.2 非对称加密算法非对称加密算法又称为公钥加密算法,使用了一对密钥,即公钥和私钥。
公钥用于加密数据,私钥用于解密数据。
常见的非对称加密算法有RSA、DSA等。
151.信息收集与分析的防范措施包括(). A、部署网络安全B、减少攻击面C、修改默认配置D、设置安全设备应对信息收集152.对于信息安全的特征,下列说法正确的有()。
A、信息安全是一个系统的安全B、信息安全是一个动态的安全C、信息安全是一个无边界的安全D、信息安全是一个非传统的安全153。
应用层安全服务系统包括()等。
A、系统安全B、应用软件安全C、数据存储安全D、大数据处理安154.主动防护根据采用的技术可以分为两种,分别为()。
B、信息拦截过滤C、数字加密155.计算机病毒可能造成的危害有哪些(). abcd156。
身份认证一般依据以下几种基本情况的组合来鉴别用户身份,包括()。
A、用户所知道的东西,如口令,密钥等。
B、用户所拥有的东西,如印章,U盾等C、用户所具有的生物特征,如指纹,声音,虹膜,人脸等157.下列选项中,属于社会工程学在安全意识培训方面进行防御的措施是(?)。
B、知道什么是社会工程学攻击C、知道社会工程学攻击利用什么158。
计算机后门的作用包括()。
abcd159。
数据安全有以下哪几种()潜在的安全问题. abcd160.DIC体系主要由哪三个基础平台构成()。
A、数字版权登记平台B、数字版权费用结算平台D、数字版权检测取证平台161.无线网络协议存在许多安全漏洞,给攻击者()等机会。
abcd162.数据内容面临的常见安全威胁有以下三个方面()。
A、数字内容盗版B、隐私保护D、网络舆情监控163.电脑病毒特点有哪些(). A、寄生性B、传染性C、潜伏性164.管理风险的方法,具体包括()。
abcd165.防火墙的主要功能包括()等。
A、审计和报警B、网络地址转换,代理,流量控制与统计分C、包过滤166.《网络安全法》第二次审议时提出的制度有()C、明确重要数据境内存储D、建立数据跨境安全评估制度167.大数据技术包括数据()分析和可视化,是挖掘并展示数据中信息的系列技术和手段。
计算机网络信息安全中数据加密技术应用摘要:近年来,网络信息技术水平不断提高,这为数据加密技术升级提供了可靠的技术支持,有利于深入挖掘网络信息价值,充分发挥计算机技术应用优势。
希望该论题能为技术研究者提供借鉴,为先进技术应用起到基础铺垫作用。
关键词:计算机;网络安全;数据加密引言科技在蓬勃发展,各种科技手段在便利了我们的生活的同时,潜在的网络信息安全问题层出不穷,对普通的互联网使用者带来了很大的威胁。
所以,计算机网络信息安全中的数据加密技术对数据信息的保护不容忽视。
不仅是网络管理人员需要使用合理的数据加密技术来保障用户上网环境的安全,建设良好的网络环境,而且我们每一个互联网的使用者都要加强安全意识。
除此之外,使用的数据加密技术也要不断更新,以保护用户隐私和财产安全,为计算机网络信息安全提供保障。
为此,在接下来的文章中,将围绕计算机网络信息安全中数据加密技术应用方面展开分析,希望能够给相关人士提供重要的参考价值。
1、数据加密技术内容分析计算机系统为程序运行提供可靠支持,如果计算机系统存在安全风险,那么用户信息丢失的几率相应提高,导致服务器瘫痪。
此外,网络链接存在恶意攻击形象,进而计算机系统存在网络风险,为使用者带来工作不便,严重者会产生经济损失。
从中能够看出,采取有效措施维护计算机网络信息安全是极为必要的,因此,应及时运用数据加密技术,确保计算机网络稳定、安全运行。
数据加密技术是对计算机网络信息加以保护的一种简便且可靠的技术。
将明文数据或者文件按照某种算法转换后,成为了一段不可读的代码,称之为“密文”,这一基本过程称之为加密;其逆过程称之为解密:只有在输入相应的密钥以后才能将密文转换为明文。
加密技术在网络传输中是为了防止有用信息被他人非法获取,导致自己的隐私泄露。
所以,优秀的加密算法不仅有利于数据的有效传输,而且还有利于系统的运行。
2、数据加密技术原理及类型2.1原理数据加密技术指的是,借助计算机系统完成网络信息重组任务,以信息保护为目标。
试卷总分:100 得分:981.以下不属于网络安全控制技术的是()。
A.防火墙技术B.入侵检测技术C.访问控制技术D.差错控制技术【答案】:D2.NAT是一种网络地址翻译的技术,它能使得多台没有公网地址的计算机可以共享1个公网IP 地址访问Internet。
【答案】:正确3.基于用户名和密码的身份鉴别的不正确说法是()A.将容易记忆的字符串作密码,使得这个方法经不起攻击的考验B.更为安全的身份鉴别需要建立在安全的密码系统之上C.一种最常用和最方便的方法,但存在诸多不足D.口令以明码的方式在网络上传播并不会带来很大的风险【答案】:D4.一般的数据加密可以在通信的三个层次来实现:链路加密、节点加密和端到端加密。
在节点处信息以明文出现的是()A.端到端加密B.链路加密C.三种明文在节点处信息都以明文出现D.节点加密【答案】:B5.计算机病毒查杀不属于防火墙技术。
【答案】:正确6.即使在企业环境中,个人防火墙作为企业的一部分也是十分必要的。
【答案】:正确7.目前在企业内部网与外部网之间,检查网络传送的数据是否会对网络安全构成威胁的主要设备是()A.路由器B.防火墙C.交换机D.网关【答案】:B8.DES加密算法采用的密钥长度是()位?A.32B.64C.128D.56【答案】:D9.复合型防火墙是内部网与外部网的隔离点,起着监视和隔绝应用层通信流的作用,同时也常结合过滤器的功能。
【答案】:正确10.以下关于非对称密钥加密说法正确的是()A.加密密钥和解密密钥是不同的B.加密密钥和解密密钥匙相同的C.加密密钥和解密密钥没有任何关系D.加密方和解密方使用的是不同的算法【答案】:A11.基于用户名和密码的身份鉴别的正确说法是()A.口令以明码的方式在网络上传播也会带来很大的风险B.一种最常用和最方便的方法,但存在诸多不足C.将容易记忆的字符串作密码,使得这个方法经不起攻击的考验D.更为安全的身份鉴别需要建立在安全的密码系统之上【答案】:ABCD12.数字证书是数字签名中经常使用的一种技术。
专业技术人员创新与创业能力建设答案下面是小编为大家带来的专业技术人员创新与创业能力建设答案,希望能够帮到大家!更多专业技术人员创新与创业能力建设答案请关注实用资料栏目!【专业技术人员创新与创业能力建设答案】第一次作业 6/26/2014, 6时39分分数6分1、政府信息化基本经历了办公自动化(OA)、政府管理信息系统(MIS)和电子政务(EG)三个基本过程。
(填空 )P1332、所谓教育信息化,是指在教育领域全面深入地运用计算机多媒体技术和网络信息技术,以现代信息技术来促进教育的全面改革,使之适应信息化社会对教育发展的新要求,最终实现教育现代化的过程。
(填空 )P2073、微博最早源于Twitter,这是一个成立于2006年的美国微博网站。
(填空 )P2544、计算机病毒是一个小小程序,但它和普通的计算机程序不同,它的特点是什么? (简答 )116答:计算机病毒虽是一个小小程序,但它和普通的计算机程序不同,具有以下特点。
(1)自我复制的能力。
它可以隐藏在合法程序内部,随着人们的操作不断地进行自我复制。
(2)它具有潜在的破坏力。
系统被病毒感染后,病毒一般不即时发作,而是潜藏在系统中,等条件成熟后,便会发作,给系统带来严重的破坏。
(3)它只能由人为编制而成。
计算机病毒不可能随机自然产生,也不可能由编程失误造成。
(4)它只能破坏系统程序,不可能损坏硬件设备。
(5)它具有可传染性,并借助非法拷贝进行这种传染。
计算机病毒通常都附着在其他程序上,在病毒发作时,有一部分是自己复制自己,并在一定条件下传染给其他程序;另一部分则是在特定条件下执行某种行为。
5、网络、数字电视是现代信息传递方式中的( C)方式。
(单选 )A、有线通讯传输B、无线通讯传输C、数字通讯传输D、纸张通讯传输6、(B )之间的电子商务是指企业通过Internet为消费者提供一种新型的购物环境——网上商店,进行电子商务交易。
(单选 )P159A、企业与政府B、企业与消费者C、企业与企业D、消费者与消费者7、由于网上通信双方互不见面,所以在交易前必须首先确认对方的真实身份,支付时还要确认对方账号等信息是否真实有效。
902006.10 引言在当今信息社会,计算机网络得到了突飞猛进的发展。
计算机网络日益成为工业、农业和国防等领域的重要信息交换手段,并逐渐渗透到社会的各个领域。
企业实现无纸化办公,提高工作效率已是大势所趋。
随着无纸化办公的发展,计算机网络的安全越来越受到重视,防止信息被未经授权泄露、篡改和破坏等都是亟待解决的问题。
在Internet上,数字签名作为一项重要的安全技术,在保证数据的完整性、私有性和不可抵赖性方面起着极为重要的作用。
数字签名在Internet上的应用需要专门的数字证书颁发认证机构(CA),统一管理数字签名的应用和校验。
但是,由于部分企业的信息的特殊性和重要性不能在互联网上传送,因此企业内部局域网不能与Internet连接。
基于此数字签名在局域网中的使用受到限制。
本文利用密码学的知识,建立了企业内部局域网的文件加密和数字签名系统,成功地实现了企业内部局域网中的数据安全传送。
柳州铁路机车车辆工业贸易总公司下属车桥公司于2005年组建企业局域网,并且与总公司内部局域网连接。
通过网络的连接基本无虚再通过人工传递书面文件或纸张资料,解决了总公司与车桥公司两个上下级公司虽处于两个不同地域而又需要频繁交换文件资料或其他信息的问题。
同时,增强了企业信息传递、发布的实时性。
为保证例如公司财务报表、销售与生产计划、员工考评信息等内部消息传送的真实性与安全性。
本文以此为背景尝试了基于以下技术以及主要过程的解决方案。
1 公钥加密技术原理数据加密技术就是对信息进行重新编码,从而隐藏信息内容,使非法用户无法获取信息的真实内容的一种技术手段。
目前,数据加密主要使用的有对称密钥加密和公钥加密(也称非对称密钥加密)两种技术。
对称密钥加密技术中,加密和解密使用相同的密钥,最常用的是 DES(Data EncryptionStandard)算法,DES算法是公开的。
DES内部的复杂结构对信息安全起了重要作用,使其保密性仅取决于对密钥的保密程度。
公钥加密技术中,加密和解密使用不同的密钥,每个用户有一对密钥:公钥KU和私钥KR,KU可以公开,KR由用户自已保存。
非对称密钥加密技术常采用RSA算法。
RSA算法的特点有以下四点:(1)由用户A的公钥KUa加密的信息只能通过A的私钥KRa来解密,并且用A的私钥KRa加密的信息只能用公钥KUa解密;(2)加密秘钥不能同时用于解密;(3)在计算机上很容易产生成对的公钥和私钥;(4)若攻击者仅仅已知KU(或KR),则在计算上推导出相应的KR(或KU)是不可行的。
2 数字签名技术原理数字签名技术是在传输的数据信息里附加一些特定的数据或对数据信息作密码变换,这种附加数据或密码变换使接收方能确认信息的真正来源和完整性,并且发送方事后不能在企业局域网中实现 数据加密和数字签名摘要:本文介绍了网络安全中的公钥加密和数字签名技术的基本原理。
详细阐述了在企业内部局域网中实现数据加密和数字签名系统的方法以及系统的管理和实际应用,并利用 Microsoft公司提供的加密应用程序接口CryPto API编制了客户端软件。
关键词:公钥加密;数字签名;局域网邓珂桂林电子工业学院计算机系 广西 541004作者简介:邓珂(1980-),男,研究方向:计算机网络技术及应用。
912006.1否认发送的信息,而接收方或非法者不能伪造或篡改发送方的信息。
数字签名类似于手工签名,是手工签名的数字实现。
下面是本系统利用公钥加密体制进行数字签名的具体实现过程(图1为过程表示框图)。
(1)生成信息摘要发送方对要发送的信息迸行Hash运算,形成信息摘要。
Hash算法是一类符合特殊要求的散列函数,这些特殊函数对输入的信息数据没有长度限制,对任何输入的数据都能生成固定长度的摘要输出,由输入信息能方便地算出摘要,而难以对指定的摘要生成原来的输人信息,并且输入两次不同的信息难以生成相同的摘要。
(2)加密摘要发送方用自己的私钥对生成的信息摘要加密,形成原始信息的数字签名。
(3)发送信息发送方将要发送的原始信息和数字签名一起加密后形成最终传输形式的密文发送给接收方。
(4)接收方验证签名接收方收到密文后先对其解密分离出信息和数字签名后,对接收到的信息作Hash运算,得到原文的摘要,再用发送方的公钥解密接收的数字签名,然后用自己计算出的信息摘要与解密得到的信息摘要进行比较,如果相同说明信息是真实的,如果不相同,说明信息是不可信的或被篡改的。
发送方不可否认所发送的信息,因为其他人无法伪造他的数字签名(除非其私钥被窃取)。
图1 数字签名的具体实现过程3 局域网中系统的管理在局域网中文件加密和数字签名系统的管理主要是对服务器端公钥环的管理。
管理员应该是一个有最终仲裁权限的管理小组,他们主要的工作有以下几个方面:(1)公钥的申请登记当新用户加入时,用户把他的公钥和用户信息以除本系统以外的其他安全方式递交给管理员。
管理员确认后,把用户密钥和资料加入到公钥环中。
(2)密钥的备份和恢复为了系统的稳定和安全,管理员应定期对公钥环进行备份,在系统出错或崩溃时负责数据的恢复。
(3)公钥环的更新当用户的私钥发生泄密或丢失不能继续使用时,需要以其他方式通知管理员并可重新向管理员申请加入新的的公钥。
管理员负责更新公钥环,这主要包括将原来的公钥移出并转移到相关数据库中以及向公钥环添加新的用户公钥。
(4)公钥的吊销当用户要离开单位或其他原因不再使用本系统时,管理员负责将其公钥从公钥环中清除并转移到相关数据库中保存。
4 用户在局域网中使用系统的具体步骤(1)当用户第一次使用该系统时,首先要安装客户端软件,利用客户端软件生成用户的公钥和私钥,私钥存储在用户计算机内部。
然后用户把他的公钥和用户信息以除本系统以外的其他安全方式递交给管理员。
管理员收到信息后,根据其他手段确认用户的资料正确后,把用户的公钥和资料加入到公钥环中,并用用户公钥把确认信息加密后发送给用户,用户得到确认信息后就可以使用文件加密和数字签名了。
(2)当用户之间传送带有数字签名的文件时,发送方利用客户端软件产生要发送的文件的数字签名,并把文件和数字签名一起发送给接收方。
接收方收到文件和数字签名后,利用客户端软件对数字签名进行验证。
验证时客户端软件首先向服务器端索取发送方的公钥,利用发送方的公钥对数据签名进行验证。
如果验证通过,接收方可以把文件和数字签名保存,事后发送方不能否认所发送的文件;如果所传送的文件在传送中出现错误或被篡改,则数字签名将不能通过验证。
(3)当用户之间传送加密文件时,发送方首先利用客户端软件对文件加密,加密时客户端软件随机产生一个密钥,以对称加密算法用该密钥对文件进行加密,然后向服务器索取接收方的公钥,用接收方的公钥对加密文件所用的随机密钥进行加密,并把加密后的随机密钥一起写入到文件中。
922006.1发送方把加密后的文件发送给接收方,接收方收到文件后用自己的私钥可以对文件解密。
根据公钥算法的原理,利用公钥加密的数据,只能用其对应的私钥进行加密。
所以,发送方发送的加密文件只能由相应的合法接收方才能对文件进行解密。
在发送加密文件时,也可以同时使用数字签名。
5 局域网中文件加密和数字签名的具体实现在局域网中实现文件加密和数字签名采用C/S(服务器与客户端)模式,服务器端有一个数据库服务器,负责存取包括各个用户的用户信息以及用户的公钥的有效起止时间等信息的公钥环。
该数据库服务器由专门数据库管理员负责管理维护。
在客户端,我们利用Microsoft公司提供的加密接口函数CryPto API编写了客户端的程序。
客户端程序主要由以下几个功能部分组成:5.1 生成用户的密钥对(公钥和私钥)//获取缺省的密钥库的句柄if(!CryPtAcqureContext(&hProv,NULL,MS_DEF_PROV,PROV_RSA _FULL,0))//如果没有缺省的密钥库,则建立缺省的密钥库CryptAcquireContext(&hProv,NULL,MS_DEF_PROV,PROV_RSA_FULL,CRYPT_NEWKEYSET));//获取数字签名密钥的句柄if(!CryptGetUserKey(hProv,AT_SIGNATURE,&hKey))if(GetlastError()==NTE_NO_KEY)//如果没有数字签名密钥,则产生数字签名密钥对CryptGenKey(hProv,AT_SIGNATURE,CRYPT_EXPORTABLE,&hKey);5.2 对文件进行数字签名CryptCreateHash(hProv,CALG_MD5,0,0,&hHash));//建立Hash句柄,对源文件作Hash运算do{//在源文件中读取dwBufferLen字节 dwcount=fread(pbBuffer,1,dwBufferLen,hSourceFile); //把数据加入到Hash中 CryptHashData(hHash,pbBuffer,dwcount,0)}while(!feof(hSourceFile));//对Hash签名,确定签名的长度CryptSignHash(hHash, AT_SIGNATURE, NULL,0,NULL,&dwSignatureLen);pbSignature=malloc(dwSignatureLen);//利用签名秘钥对Hash签名CryptSignHash(hHash, AT_SIGNATURE,szDescription,0, pbSignature, dwSignatureLen);//把数字签名写入(附加到)文件中hSignatureFile=fopen(szSignatureFile,”wb”);fwrite(pbSignature,1, dwSignatureLen, hSignatureFile);5.3 对接收到的文件和数字签名进行验证CryptCreateHash(hProv,CALG_MD5,0,0,&hHash));//建立Hash句柄,对源文件作Hash运算do{//在源文件中读取dwBufferLen字节 dwcount=fread(pbBuffer,1,dwBufferLen,hSourceFile); //把数据加入到Hash中 CryptHashData(hHash,pbBuffer,dwcount,0)}while(!feof(hSourceFile));//从数字签名文件中读取源文件的数字签名dwcount=fread(pbSignature,1,dwSignatureLen,hSignatureFile);//导入发送方的公钥CryptImPortKey(hProv,pbKeyBlobl,dwKeyBlobLenl,0,0,&hSigPublicKey);//验证签名if(!CryptVerifysignature(hHash, pbSignature,dwSignatureLen, hSigPublicKey, szDescription,0)) {if(GetLastError()==NTE_BAD_SIGNATURE)//输出数字签名验证结果 printf(“数字签名无效!”/n); }elseprintf(“数字签名有效!”/n);5.4 把公开密钥输出到文件CryptGetUserKey(hProv,AT_SIGNATURE,&hKey);//获得密钥对句柄,确定密钥要占有的空间大小CryptExportKey(hKey,hExchKey,PUBLICKEYBLOB,0,NULL,&dwKeyBlobLen);932006.1pbKeyBlob=new BYTE[dwKeyBlobLen+1];//输出公开密钥到key blob中CryptExportKey(hKey,hExchKey,PUBLICKEYBLOB,0,pbKeyBlob,&dwKeyBlobLen);//把key Mob的长度写入到文件中fwrite(&dwKeyBlobLen,sizeof (DWORD),1,hDestination);//把key blob写入到文件中Fwrite(pbKeyBlob,l,dwKeyBlobLen,hDestination);5.5 对文件进行加密//导人接收方的公开密钥CryptImportKey(hProv,pbKeyBlob,dwKeyBlobLen,0,0,&hSignPubKey);//产生一个随机密钥,并把随机密钥用接收方的公钥加密后输出到加密后的文件中CryptGenKey(hProv,ENCRYPT_ALGORITHM,CRYPT_EXPORTABLE,&hKey);CryptExportKey(hKey,hSignPubKey,SIMPLEBLOB,0,pbKeyBlob,&dwKeyBlobLen);fwrite(&dwKeyBlobLen,sizeof(DWORD),1,hDestination);fwrite(pbKeyBlob,1,dwKeyBlobLen,hDestination);//用产生的随机密钥以对称加密算法加密源文件do {dwCount=fread(pbBuffer,1,dwBlockLen,hSource); CryptEncrypt(hKey,0,eof,0,pbBuffer,&dwCount,dwBufferLen); fwrite(pbBuffer,l,dwCount,hDestination);}while(!feof(hSource));5.6对文件进行解密//读取用来加密文件的随机密钥数据,并用接收方的私钥把随机密钥解密后导入fread(phKeyBlob,1,dwKeyBlobLen,hSource);//Import key blob inlo CSPCryptImportKey(hProv,pbKeyBlob,dwKeyBlobLen,hSignKey,0,&hKey);do {//用导入的随机密钥对文件解密 dwCount=fread(pbBuffer,1,dwBlockLen,hSource); CryptDecrypt(hKey,0,eof,0,pbBuffer,dwCount); fwrite(pbBuffer,1,dwCount,hDestination); }while(!feof(hSource));6 结论公钥密码体制和数字签名作为信息安全的一项重要技术越来越得到广泛的应用。