随着因特网技术的发展和成熟,已经渗透到社会的各个领域,网络电子事务日益频繁,大大提高了传统工作的效率,增强了工作的灵活性和准确性。然而目前网络本身的一些固有技术缺陷,产生了不可避免的安全性问题。其中比较典型的如冒名操作、截取他人的敏感数据、抵赖发布过的信息等,给网络应用造成 了机打的危害。
由于网络电子食物活动中缺少实际的物理接触,所以数据的可信性、用户身份的电子方式合法性验证变得至关重要。如何通过网络信息置乱编码,实现数据的机密性、完整性和不可否认向,是必须从技术上解决的问题。目前,国际上主要是运用以加密理论为核心的PKI技术,借助公众信任的第三方机构自动管理密钥和证书,为用户建立一个安全的网络运行环境,使用户在多种应用环境下通过加密和数字签名认证,保证网上数据的机密性、完整性和不可否认性。PKI是公钥基础设施(Public Key Infrastructure)的简称,是保障大型开放式网络环境下网络和信息系统安全的最可行措施。
1 PKI系统组成
PKI(Public Key Infrastructure)是利用公钥理论和技术建立起来的提供加密和签名认证等安全服务并管理所需密钥的基础设施。它采用证书的方式管理密钥,通过可信任的第三方机构(认证中心,即CA),把用户的公钥和其他标识信息(如用户名和电子邮件地址等信息)捆绑在一起生成证书,实现Internet网上用户身份的合法性验证。
从广义上讲, 所有提供公钥加密和数字签名服务的系统, 都可以叫做PKI 系统。PKI 系统由公开密钥密码技术、数字证书、证书发放机构( CA) , 注册权威机构( RA) 和关于公开密钥的安全策略等基本成分共同组成。
具体来讲, 在任何一个PKI中, 一个认证权威机构CA 是一个可信实体, 它根据CA 颁发策略负责发布、更新和取消证书。CA可以自己创建, 也可以是一个第三方机构。在复杂的认证体系中, CA 分为不同的层次, 各层CA 按照目录结构形成一棵树。独立CA 是这种结构一个特例。PKI 系统中的证书指的是公钥证书, 它把公钥和拥有对应私钥的主体的标识信息( 如名称、email 地址、身份证号等) 捆绑在一起, 证书用于Internet、Intranet 和Extr anet 上用户的身份验证。证书的主体可以是一个人, 一台路由器, web 服务器或者其他的实体。证书的格式遵循ITUT X.509 国际标准。在X. 509 方案中, 默认的加密体制是公钥密码体制。X. 509 提供了证书和CRL 的标准格式。
在实际应用中, PKI 是一套软硬件系统和安全策略的集合, 由PKI 安全策略、软硬件系统、证书机构CA、注册机构RA、证书发布系统和PKI 应用等模块组成, 在一整套的安全机制作用下, PKI使用户间通过证书建立起信任关系进行通讯和电子事务处理。
从大的方面来说, 所有提供公钥加密和数字签名服务的系统, 都可归结为PKI 系统的一部分, 所以PKI 的应用非常广泛, 如在web 服务器和浏览器之间的通讯、电子邮件、电子数据交换( EDI) 、在Internet 上的信用卡交易和虚拟专用网(VPN) 等。在实际使用中, 对于需要使用安全基础设施( PKI)实现安全服务的应用来说, 所有过程都是由使用PKI 的应用程序( 如Microsoft Outlook) 来完成, 对用户来说是透明的。
2 加密算法
加密技术是保护信息安全的关键技术, 已经从军事、外交领域走向公开, 是集数学、通信技术和计算机科学等学科于一身的交叉学科。作为将明文变成密文的一种置乱编码的计算方法, 加密算法可以分为对称加密算法、公钥加密算法和Hash 函数加密算法等。
2.1 公钥加密算法
如果一个加密算法的加密密钥和解密密钥不同, 或者由其中的一个推导不出另一个, 则该算法就是公开密钥加密算法。使用公钥密码的每一个用户都拥有基于特定公钥算法的一个密钥对( e,d) , 当加密公钥e 公布于用户所在系统认证中心(CA) 的目录服务器上, 任何人都可进行加密操作,但只有拥有解密密钥d 的一方才能够破解数据, 保证数据的机密性; 当将解密公钥d 公布于用户所在系统认证中心( CA) 的目录服务器上, 任何获取数据方均可进行解密操作, 用于验证数据的完整性。
公钥加密算法系统可实现数据加密、密钥分发、数字签名、身份认证、信息的完整性认证、信息的非否认性认证等功能。典型的公钥加密算法有:RSA, ECC, DSA, ElGamal, Diffie2Hellman ( DH )等。其中可用于加密的算法有: RSA, ECC, ElGa2mal 等; 可用于密钥分发的算法有: RSA, ECC, DH等; 可用于数字鉴名、身份认证、信息的完整性认证、信息的非否认性认证的有RSA, ECC, DSA, El2Gamal 等。
2.2 对称加密算法
如果一个加密算法的加密密钥和解密密钥相同, 或由其中一个很容易推导出另一个, 该算法就是对称加密算法。该算法的特点是速度快、安全强度高, 主要用于大批量数据直接加密保护。典型算法有: DES, 3DES, IDEA, AES, SKIPJACK, Karn,RC2, RC5, RC4, SEAL, A5 等。
2.3 Hash 函数加密算法
该算法是通过单向散列( Hash) 函数将任意长度信息M, 返回唯一的、长度固定的散列值( 也称信息摘要) h= H ( M) 。它是明文到密文的不可逆运算, 只能加密不能还原, 而且不同信息的信息摘
要不能相同, 所以具有数据完整性的验证、口令表加密、数字签名、身份认证等功能。典型的散列函数有:MD5, SHA- 1, HMAC, GOST 等。
曾有数学家进行统计计算表明, 当信息摘要h(m) 的长度为128 位时, 则任意两个信息M1, M2 具有完全相同h( m) 的概率为10- 24 , 即近于零的重复概率。当h(m) 长度取384 位乃至1024 位时, 重复的可能性就更小了。如果数据M1 与M2 完全相等,则h(m1) 与h(m2) 也完全相同。当将M2 或M1 中的某个任意一位改变, 其结果将导致h (m1) 与h(m2) 中有一半左右对应的位值不相同。这种发散特性很容易查明数据的关键位值是否被人篡改。
3 加密算法在PKI 系统中的应用过程
PKI 的数据加密实质是利用公钥加密算法交换机密密钥的优势, 并利用对称加密算法速度快效率高、适合大量数据安全加密的特点, 产生的一种既快速又灵活的加密解决方案。通信双方通过运
用密钥对( e, d) 为对称加密算法中的机密密钥进行加解密操作, 实现明文数据的安全传送。
PKI 的签名认证是防止信息被非法篡改或被冒名发送的一种被动的检测措施, 实质是将公钥加密算法与H ash 函数加密算法相结合, 利用Hash函数的发散特性, 将任意长度的信息原文用特定散列算法编码转换为一个足够长的、不可逆转的、唯一的数字摘要, 达到验证的目的。此时密钥对( e,d) 中的公钥d 在证书申请过程中交给CA 中心并结合其他信息产生证书, 私钥e 由用户保留以待加密发送明文的数字摘要生成签名。接收方对接收的数据获取数字摘要, 与经过解密的发送方的数字摘要相对比, 一致时说明数据可信没有被改动。
当然为了防止发送方可能的恶意欺骗行为, 如发送方发送数据后宣布加密密钥被盗, 不承认自己曾经的行为, 可以结合时间戳技术即CA 中心在接收到申请的数字摘要生成证书时, 与日期和时间绑定在一起生成标明时间的时间戳, 可用于比较重要的安全网络事务和应用场合。根据应用的不同, 密钥有不同的产生方式。普通证书和测试证书, 一般由浏览器或固定的终端应用来产生, 这样产生的密钥强度较小。对于比较重要的证书, 如商务证书和服务器证书等, 密钥对一般由专用应用程序或CA中心直接产生, 这样产生的密钥强度大, 适合应用于比较重要的安全网络交易。比如: 签名密钥可能在客户端或RA 中心产生, 而加密密钥则需要在CA 中心直接产生。
3.1 密钥管理
公钥基础设施( PKI) 一般采用双证书体系, 公钥算法支持RSA 和ECC 两种公钥算法, 对称密码算法支持国密办指定的加密算法。密钥对分为加密密钥对和签名密钥对。签名密钥对在用户端的PKI 实体鉴别密码器中生成, 密钥不离开PKI 实体鉴别密码器; 加密密钥对在密钥管理中心KM中生成和托管, 并由KM 经CA 中心发给用户, 并自动导入PKI 实体鉴别密码器中。
由于加密密钥对非常重要, 而且必须通过网络在KM 密钥管理中心、CA 中心和用户终端间传送, 所以, 必须采取有效的措施确保加密密钥对的安全传送( 包括机密性、完整性和不可否认性) 。密钥管理包括密钥的生成和托管、密钥的恢复、密钥的查询和密钥的销毁等过程。
3.2 证书管理
PKI 系统中的数字证书采用标准的X. 509 v4格式, 证书管理主要包括证书申请、证书签发、证书更新和证书注销等过程。
4 结语
综上所述, 应用了加密算法的PKI 系统, 能为所有网络应用透明地提供加密和数字签名等密码服务所必需的密钥和证书管理, 从而达到保证网上传递信息的安全、真实、完整和不可抵赖的目的。利用PKI 系统可以方便地建立和维护一个可信的网络计算环境, 从而使得人们在这个无法直接相互面对的环境里, 能够确认彼此的身份和所交换信息的准确性, 能够安全地从事商务活动。
可以说, 没有安全就没有可信赖的网络, 就没有电子事务发展的基础和保障。因此从技术的角度讲, 基于公钥体制的PKI 技术及体系解决了通信双方的身份认证和信息的安全保密, 保障了电子事务的可信任度, 可以被广泛应用于众多领域, 是网络信息安全领域研究和应用的重点。