数据加密就是按照确定的
密码算法将敏感的明文数据变换成难以识别的密文数据,通过使用不同的
密钥,可用同一
加密算法将同一明文加密成不同的密文。当需要时,可使用密钥将密文数据还原成明文数据,称为
解密。这样就可以实现数据的保密性。数据加密被公认为是保护数据传输安全惟一实用的方法和保护存储
数据安全的有效方法,它是数据保护在技术上最重要的防线。
随着大型企业管理软件的发展,其应用越来越广泛,企业数据平台涉及
局域网、
广域网、Internet等,在各类系统中保存的企业关键数据量也越来越大,许多数据需要保存数十年以上,甚至是永久性保存。于是关键业务数据成了企业生存的命脉和宝贵的资源,数据安全性问题越来越突出。如何增强企业
软件系统的安全性、保密性、真实性、完整性,成为每一位软件开发人员关注的焦点。
为了解决关键业务的数据安全问题,首先对数据系统进行全面、可靠、安全和多层次的备份是必不可少的,除此以外,各种安全产品,无论
防火墙、
防病毒、防
黑客、防入侵等等,都或多或少地肩负着一些保护数据的责任。从保护数据的角度讲,对
数据安全这个广义概念,可以细分为三部分:
数据加密、数据传输安全和
身份认证管理。
身份认证的目的是确定系统和网络的访问者是否是合法用户。主要采用登录密码、代表用户身份的物品(如智能卡、
IC卡等)或反映用户生理特征的标识鉴别访问者的身份。
数据加密技术是最基本的安全技术,被誉为
信息安全的核心,最初主要用于保证数据在
存储和传输过程中的保密性。它通过变换和置换等各种方法将被保护信息置换成密文,然后再进行信息的
存储或传输,即使加密信息在存储或者传输过程为非授权人员所获得,也可以保证这些信息不为其认知,从而达到保护信息的目的。该方法的保密性直接取决于所采用的
密码算法和
密钥长度。
根据
密钥类型不同可以将现代密码技术分为两类:
对称加密算法(
私钥密码体系)和非
对称加密算法(公钥密码体系)。在
对称加密算法中,
数据加密和解密采用的都是同一个
密钥,因而其安全性依赖于所持有密钥的安全性。
对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开,但其最大的缺点是实现
密钥的秘密分发困难,在大量用户的情况下
密钥管理复杂,而且无法完成
身份认证等功能,不便于应用在网络开放的环境中。最著名的
对称加密算法有
数据加密标准DES和欧洲数据加密标准IDEA等,加密强度最高的
对称加密算法是
高级加密标准AES。
对称加密算法是应用较早的加密算法,技术成熟。在对称加密算法中,数据发信方将明文(
原始数据)和加密
密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的
密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在
对称加密算法中,使用的
密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
对称加密算法的特点是算法公开、计算量小、加密速度快、加密效率高。不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用
对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量成几何级数增长,
密钥管理成为用户的负担。
对称加密算法在分布式网络系统上使用较为困难,主要是因为
密钥管理困难,使用成本较高。在计算机专网系统中广泛使用的
对称加密算法有
DES、
IDEA和AES。
传统的DES由于只有56位的
密钥,因此已经不适应当今分布式开放网络对
数据加密安全性的要求。1997年RSA数据安全公司发起了一项“DES挑战赛”的活动,志愿者四次分别用四个月、41天、56个小时和22个小时破解了其用56位
密钥DES算法加密的密文。即
DES加密算法在计算机速度提升后的今天被认为是不安全的。
AES是
美国联邦政府采用的商业及政府
数据加密标准,预计将在未来几十年里代替DES在各个领域中得到广泛应用。AES提供128位密钥,因此,128位AES的加密强度是56位DES加密强度的1021倍还多。假设可以制造一部可以在1秒内破解DES密码的机器,那么使用这台机器破解一个128位AES密码需要大约149亿万年的时间。(更深一步比较而言,宇宙一般被认为存在了还不到200亿年)因此可以预计,
美国国家标准局倡导的AES即将作为新标准取代DES。
不对称加密算法使用两把完全不同但又是完全匹配的一对钥匙—
公钥和
私钥。在使用
不对称加密算法加密文件时,只有使用匹配的一对
公钥和
私钥,才能完成对明文的加密和解密过程。加密明文时采用
公钥加密,解密密文时使用
私钥才能完成,而且发信方(加密者)知道收信方的公钥,只有收信方(解密者)才是唯一知道自己私钥的人。
不对称加密算法的基本原理是,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的
公钥,然后利用收信方的公钥来加密原文;收信方收到加密密文后,使用自己的
私钥才能解密密文。显然,采用
不对称加密算法,收发信双方在通信之前,收信方必须将自己早已随机生成的
公钥送给发信方,而自己保留
私钥。由于不对称算法拥有两个
密钥,因而特别适用于分布式系统中的
数据加密。广泛应用的
不对称加密算法有
RSA算法和
美国国家标准局提出的DSA。以
不对称加密算法为基础的加密技术应用非常广泛。
非对称加密系统使用对方的
公开密钥进行加密,只有对应的私密密钥才能够破解加密后的密文。图1是
非对称加密系统的一个简单示意过程:非对称加密系统能够达到秘密性和完整性: