在电子商务数据库中,往往存放着各种敏感的金融数据和资产数据,这些数据对参与电子商务的各方都非常的重要,因此保护电子商务数据库安全相当的重要。这就需要我们使用加密技术对其进行加密,但单纯采用一种加密技术很难保证电子商务系统的安全。为此,我们提出了一种基于对称加密和非对称加密技术二者结合的混合加密思想,用此方法对电子商务流程进行改进,可以提高电子商务数据库的安全性。

一、电子商务数据库中的安全问题

电子商务系统是一个建立在较为开放的网络环境上的交易平台,其交易过程大致分为:用户注册、用户登录、选购商品、网上支付等。用户信息在网上传输时,可能会被黑客或其他别有用心的人窃取,从而导致财物损失。因此,确保用户基本信息的安全性和完整性是电子商务顺利进行的基础。

下面以最常见的B2C电子商务模式为例,来分析电子商务数据库中可能存在的安全漏洞。

在用户填写完整信息提交数据库服务器的过程中,输入的密码经过加密,可能是安全的;但取回密码的提示问题及答案则是不加密的,其他人如果窃取了密码提示问题及答案,就可以按照流程获取用户密码信息,并可以对密码进行修改,可能给用户造成损失,也会给系统带来安全隐患。

通过分析,发现非法盗取用户信息主要发生在用户输入完整信息提交服务器的过程中,最主要的原因是,密码经过散列函数加密后无法还原,只能借助用户注册时填写的密码提示问题和答案来取回密码,而这个环节是没有加密的,他人极容易从网上窃听该信息,这会导致数据库系统的不安全。为解决这个问题,我们采用混合加密技术,用对称密钥对用户密码进行加密,再利用非对称加密机制传输对称密钥,从而使得非法用户无法获取用户密码信息,提高系统的安全性。

二、对称加密和非对称加密技术二者结合的混合加密技术

1、对称加密技术

发送信息时,通过一定的算法和密钥进行加密,将原信息变为密文;接收信息时,用相同的算法和密钥进行解密,将密文恢复成明文。

日前,应用最广泛的对称加密算法是由IBM公司提出的DES加密算法,其基本过程如下:

(1)初始置换:将64位密文的位置进行置换,得到一个乱序的64位明文组,分成左右各32位的两段,分别用Lo和R0来表示。

(2)对L0和R0进行如下迭代变换:

(3)第16轮变换输出的左右两部分,交换次序,并作逆初始置换,从而产生密文。

对称加密算法的好处是加密速度快,效率高,被广泛应用于大数据量加密。缺点是密钥在网络上传输时容易被截获对信息安全构成威胁,故采用对称加密时,须设法保证密钥传输的安全。

2、非对称加密技术

在非对称加密技术中,密钥被分解为一对(私钥和公钥),其中私钥属于密钥对的拥有者,其他人不知道;公钥则是公开的,所有人都可以知道。由公钥加密的信息只有对应的私钥才能解密;由私钥加密的信息也只有对应的公钥才能解密。

典型的非对称加密算法是RSA加密算法。该算法建立在大数分解和素数检测的理论基础上,以下是其算法描述:

(1)选取保密的大素数p和q;

(2)计算ri=p*q,由(n)=(p一1)*(q一1),其中φ(n)为n的欧拉函数值;

(3)选择整数e,满足1<e<φ(n),且e与φ(n)互质;

(4)解方程d*e=1 mod φ(n),计算d;

(5)对每个明文分组m,要求m小于n,进行加密解密运算如下:

加密:C=me mod n

解密:m=cd mod n

非对称加密技术的优点足便于密钥管理;缺点是加密算法复杂、加密速度慢,不适用于大数据量加密环境。故在传输数据时,可以考虑先用对称加密技术对数据加密,再考虑用非对称加密技术传输对称加密的密钥,则可以发挥二者的互补优势。

3、对称加密和非对称加密技术二者结合的混合加密技术

充分考虑对称加密和非对称加密的优缺点,可以将二者结合起来实现混合加密。

A方:采用对称加密算法对明文加密,为了保证“对称密钥”传输的安全,采用B方的公钥对“对称密钥”加密,这样可保证只有B方才能正确知道“对称密钥”,他人即使得到密钥密文,也无法解密;

B方;首先用自己的私有密钥对“密钥密文”解密,得到对文档加密的“对称密钥”、,用该“对称密钥”就可以解开密文,得到原始的明文信息。

可见,采用混合加密技术,既克服了对称加密传输密钥的困难,也克服了非对称加密不适用于大数据量的缺点,可以把二者的优势充分结合起来。

三、电子商务数据库安全中混合加密技术的应用

采用混合加密技术进行改进,改进后的用户注册流程、用户取回密码的流程。

改进后的用户注册流程中,不填写密码提示问题及答案,而是向服务器提交一个用对称密钥K1加密的密码,而对称密钥K1又被接收方的公钥K2加密,这样,即使他人窃取了加密的对称密钥(密钥密文),也无法解密(因为私有密钥只有接收方知道),这使得用户密码的传输过程变得安全。

注册流程改进后,用户登录步骤变为:

(1)用户磴录网站,填写用户名、密码、对称密钥K1;

(2)客户端用K1对密码进行加密;

(3)用K1加密后的密码提交给服务器;

(4)服务器端根据用户名查询用户注册时用K1加密的密码。

(5)判断两个加密的密码是否相同,如相同,则成功登录,否则退出。

改进后用户找回密码的判断规则为:判断客户提交的公钥K2、用K1加密后的密码是否与数据库中保存的相同,如相同,则将加密后的密码发回客户端,用户用对称密钥K1进行解密,就得到初始的注册密码。

小知识之对称加密

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。