4.5 数据加密

随着电子商务的快速发展,企业许多重要的数据也随之存放在计算机或网络硬盘里,但企业一旦连上网络,一份未经加密处理的商业数据或文字资料在网络上进行传输时,任何“有心人士”都能够随手取得,并且一览无遗。因此,在网络上,对于有价值的数据,在传送前必须先将原始的数据内容以事先定义好的算法、表达式或编码方法转换成不具任何意义或者不能直接辨读的代码,这个处理过程就是“加密”(Encrypt)。数据在加密前称为“明文”(Plaintext),经过加密后则称为“密文”(Ciphertext)。

经过加密的数据在送抵目的端后,必须经过“解密”(Decrypt)的过程才能还原成原来的内容,而这个过程中用于加/解密的“密码”则称为“密钥”(Key)。数据加密和解密的流程如图4-16所示。

图4-16 数据加密和解密的流程

4.5.1 对称密钥加密系统

“对称密钥加密”(Symmetrical Key Encryption)又称为“单一密钥加密”(Single Key Encryption)。这种加密方法的工作方式是发送端与接收端都拥有共同的加密/解密钥匙,这个共同的钥匙就被称为密钥(Secret Key),它的工作方式是:发送端使用密钥将明文加密成密文,而接收端则使用同一密钥将密文还原成明文。因此使用对称加密法不但可以为文件加密,也能达到验证发送者身份的作用。如果用户B能用这一组密码解开文件,就能确定这份文件是由用户A加密后传送过来的,如图4-17所示。

图4-17 对称密钥加密系统进行加密和解密的过程

这种加密系统的工作方式较为直截了当,因此在加密和解密上的处理速度都相当快。常见的对称密钥加密系统算法有DES(Data Encryption Standard,数据加密标准)、Triple DES、IDEA(International Data Encryption Algorithm,国际数据加密算法)等。对称密钥加密的优点是加解密速度快,所以适用于长度较长的文件或大量数据的加解密应用,缺点则是不容易管理和控制密钥的使用。

4.5.2 非对称密钥加密系统

“非对称密钥加密”是目前较为普遍,也是金融界应用上最安全的加密方法,也被称为“双密钥加密”(Double Key Encryption),又称为公钥(Public Key)加密法,由Diffine与Hellman于1976年提出,可降低因为传送密钥给收件者而导致数据外泄的风险。这种加密系统主要的工作方式是使用两把不同的密钥——“公钥”(Public Key)与“私钥”(Private Key)来进行加解密。“公钥”可在网络上自由公开用于加密的过程,但只有使用“私钥”才能解密,“私钥”必须由私人妥善保管。例如用户A要传送一份新的文件给用户B,用户A会使用用户B的公钥来加密,并将密文发送给用户B。当用户B收到密文后,会使用自己的私钥来解密,例如电子钱包机制就是用“公钥加密系统”来实现的,过程如图4-18所示。

图4-18 非对称密钥加密系统进行加密和解密的过程

目前普遍使用的“非对称密钥加密”为RSA加密法,它是由Rivest、Shamir和Adleman所发明的。RSA加解密速度比“对称密钥加解密”速度要慢,它是使用两个质数作为加密与解密的一对密钥,密钥的长度一般在40比特到1024比特之间,当然为了提高加密的强度,现在有的系统使用的RSA密钥的长度高达4096比特,甚至更高。这对密钥里的公钥用来加密,私钥用来解密,而且只有私钥可以用来解密。要破解以RSA加密的数据,在一定时间内几乎是不可能的,因此这是一种十分安全的加解密算法。

4.5.3 认证

在数据传输过程中,为了避免用户A发送数据后却否认,或者有人冒用用户A的名义传送数据而用户A本人不自知,面对这类情况,我们需要对数据进行认证的工作。后来又衍生出了第三种加密方式,它结合了上述两种加密方式。

首先以用户B的公开钥匙加密,接着使用用户A的私有钥匙进行第二次加密。用户B在收到密文后,先以A的公开钥匙进行解密,此举可确认信息是由A所发送的。接着以B的私有钥匙解密,若能解密成功,则可确保信息传送的私密性,这就是所谓的“认证”。认证的机制看似完美,但是使用公开密钥进行加解密操作时,计算过程却十分复杂,对于大数据量的传输工作而言是个沉重的负担。

4.5.4 数字签名

数字签名是借助密码编码算法协助验证数字信息建立者的身份,是认证中心所签发的身份识别检查器,类似于在非电子环境中使用标准身份识别文件的方式。数字签名的工作方式是:非对称密钥加密法和哈希函数互相配合使用,用户A先将明文M以哈希函数计算出哈希值H,接着用自己的私有钥匙对哈希值H加密,加密后的内容即为“数字签名”。想要使用数字签名,当然第一步必须先向认证中心(CA)申请数字证书(Digital Certificate),它可用来认证公钥为某人所有及信息发送者的不可否认性,而认证中心所签发的数字签名则包含在数字证书上。通常每一家认证中心的申请过程都不完全相同,只要用户按照网页上的指引步骤去做,即可顺利完成申请。

提示

数字信封(Digital Envelop)则是结合了对称密钥加密法和非对称密钥加密法的优点所设计的实现信息完整性的安全技术,就是用非对称密钥加密来解决对称密钥分发的问题。具体做法就是把用对称密钥加密的信件发送给收信方,但是用于加密信件的对称密钥则需要先使用收信方的公钥进行加密,再发送给收信方——其实就是用公私密钥来发送对称密钥,解决了对称密钥传递的安全性问题。收信方在收到密文之后再使用自己的私钥来解密得到这个对称密钥,再用这个对称密钥解出加密信件的内容。