本文介绍了网络安全中的数据加密和数字签名技术的基本原理,详细阐述了在企业内部局域网中实现数据加密和数字签名系统的方法以及系统的管理和实际应用,并利用Microsoft提供的加密应用程序接口Crypto API编制了客户端软件。
1 引言 在当今日新月异的信息社会,计算机网络得到了突飞猛进的发展,计算机网络日益成为工业、农业和国防等领域的重要信息交换手段,并逐渐渗透到社会的各个领域。企业实现无纸化办公,提高工作效率已是大势所趋,随着无纸化办公的发展,计算机网络的安全越来越受到重视,防止信息被未经授权泄漏、窜改和破坏等都是亟待解决的问题。在Internet上,数字签名作为一项重要的安全技术,在保证数据的完整性、私有性和不可抵赖性方面起着极为重要的作用。数字签名在Intemet上的应用需要专门的数字证书颁发认证机构,统一管理数字签名的应用和校验。但是,由于部分企业的信息的特殊性和重要性,不能在互联网上传送,企业内部局域网不能与Internet连接,所以,数字签名在局域网中的使用受到限制。本文利用密码学的知识,建立了企业内部局域网的文件加密和数字签名系统,成功地实现了企业内部局域网中的数据安全传送。
2 数据加密技术 数据加密技术就是对信息进行重新编码,从而隐藏信息内容,使非法用户无法获取信息的真实内容的一种技术手段。目前,数据加密主要使用的有对称密钥加密和非对称密钥(也称公开密钥)加密两种技术。 对称密钥加密技术中,加密和解密使用相同的密钥,最常用的是DEs(Digital Encryption standard)算法,DES算法是公开的。DES内部的复杂结构对信息安全起了重要作用,使其保密性仅取决于对密钥的保密程度。 非对称密钥加密技术中,加密和解密使用不同的密钥,每个用户有一对密钥:公开密钥PK和私人密钥sK,PK可以公开,SK由用户自己保存。非对称密钥加密技术常采用RsA算法。RSA算法的特点有以下四点: (1)由用户的公开密钥PK加密的信息只能通过他的私人密钥SK来解密,用私人密钥SK加密的信息只能用公开密钥PK解密。 (2)加密密钥不能用于解密。 (3)在计算机上很容易产生成对的PK和sK。 (4)已知PK.不可能推导出SK。
3 数字签名的原理 数字签名技术是在数据信息上附加一些数据或对数据信息作密码变换,这种附加数据或密码变换使接收方能确认信息的真正来源和完整性,并且发送方事后不能否认发送的信息,而接收方或非法者不能伪造或窜改发送方的信息。数字签名类似于手工签名,是手工签名的数字实现。 数字签名技术是公开密钥加密体制的一种实际应用,其具体实现过程如下: (1)生成信息摘要 发送方对要发送的信息进行哈希(Hash)运算,形成信息摘要。哈希算法是一类符合特殊要求的散列函数,这些特殊函数对输入的信息数据没有长度限制,对任何输入的数据都能生成固定长度的摘要输出,由输入信息能方便地算出摘要,而难以对指定的摘要生成原来的输入信息,并且输人两次不同的信息难以生成相同的摘要。 (2)加密摘要 发送方用自己的私人密钥对生成的信息摘要加密,形成原始信息的数字签名。 (3)发送信息 发送方将要发送的原始信息和数字签名一起发送给接收方。 (4)接收方验证签名 接收方收到信息和数字签名后,对接收到的信息作哈希运算,得到原文的摘要,用发送方的公开密钥解密接收的数字签名,然后用自己计算出的信息摘要与解密的结果进行比较,如果相同说明信息是真实的,如果不相同,说明信息是不可信的或被窜改的。发送方不可否认所发送的信息,因为其他人无法伪造他的数字签名(除非其私人密钥被窃取)。
4 局域网中文件加密和数字签名的实现方法 在局域网中实现文件加密和数字签名采用服务器/客户端模式,服务器端有一个数据库服务器,负责存取各个用户的公开密钥和用户信息以及用户的公开密钥的有效起止时间等信息。该数据库服务器由专门数据库管理员负责管理维护。 在客户端,我们利用Microsoft提供的加密接口函数cryptoAPI编写了客户端的程序。客户端程序主要由以下几个功能部分组成:
5 局域网中文件加密和数字签名系统的管理 在局域网中文件加密和数字签名系统的管理主要是对服务器端公开密钥数据库的管理。管理员应该是一个有官方人员参加的管理小组,他们主要的工作有以下几个方面: (1)公开密钥的申请登记 当新用户加入时,用户把他的公开密钥和用户信息传送给管理员,管理员确认后,把用户密钥和资料加入到数据库中。 (2)密钥的备份和恢复 为了系统的稳定和安全,管理员应定期对公开密钥数据库进行备份,在系统出错或崩溃时负责数据的恢复。 (3)公开密钥的更新 当用户的私人密钥发生灾难性毁坏不能恢复时,需要重新申请加入公开密钥,管理员负责更新公开密钥库,但其原来的公开密钥必须转移到相关数据库中。 (4)公开密钥的吊销 当用户需要离开单位或其他原因不再使用本系统时,管理员负责将其公开密钥转移到相关数据库中保存。
6 局域网中文件加密和数字签名系统的具体应用 用户使用文件加密和数字签名系统的步骤: (1)当用户第一次使用该系统时,首先要安装客户端软件,利用客户端软件生成用户的公开密钥和私人密钥,私人密钥存储在用户的计算机内部,把公开密钥导出到文件中,再把该文件和用户的相关信息一起发送给服务器管理员。管理员收到信息后,根据其他手段确认用户的资料正确后,把用户的公开密钥和资料加入到数据库中,并用用户的公开密钥把确认信息加密后发送给用户,用户得到确认信息后就可以使用文件加密和数字签名了。 (2)当用户之间传送带有数字签名的文件时,发送方利用客户端软件产生要发送的文件的数字签名,并把文件和数字签名一起发送给接收方。接收方收到文件和数字签名后,可以利用客户端软件对数字签名进行验证,验证时,客户端软件首先向服务器端索取发送方的公开密钥,利用发送方的公开密钥对数据签名进行验证,如果验证通过,接收方可以把文件和数字签名保存,事后发送方不能否认所发送的文件,如果所传送的文件在传送中出现错误或被窜改,则数字签名将不能通过验证。 (3)当用户之间传送加密文件时,发送方首先利用客户端软件对文件加密,加密时客户端软件随机产生一个密钥,以对称加密算法用该密钥对文件进行加密,然后向服务器索取接收方的公开密钥,用接收方的公开密钥对加密文件所用的随机密钥进行加密,并把加密后的随机密钥一起写入到文件中。发送方把加密后的文件发送给接收方,接收方收到文件后用自己的私人密钥可以对文件解密。根据公开密钥算法的原理,利用公开密钥加密的数据,只能用其对应的私人密钥进行加密,所以,发送方发送的加密文件只能由相应的合法接收方才能对文件进行解密。在发送加密文件时,也可以同时使用数字签名。
7 结束语 公开密码体制和数字签名作为信息安全的一项重要技术越来越得到广泛的应用。本文利用这项技术,建立了企业内部局域网使用的文件加密和数字签名系统,实现了企业内部信息的安全传输,保证了传输信息的完整性和不可否认性。
整理:我爱上QQ
来源:中国电子政务网