数据库加密技术在电子商务系统中的应用

作者:高翔 更新时间:2010-09-06 09:31 点击:
【论文发表关健词】数据库;加密技术;电子商务
【职称论文摘要】
电子商务系统是基于互联网平台的,从技术角度来说,互联网是存在许多不安全因素的全球性网络。电子商务本身的特点包括—开放性、虚拟性、网络化,这就对电子商务系统的安全性提出了严格的要求,就是要合理地解决网络开放性与安全性之间的矛盾。数据库是电子商务系统的一个基

一、加密数据库模型的框架设计
  模型采用典型的Client/Server结构。在客户端,我们要实现一个加密字典管理程序和一个测试平台。加密字典管理程序的功能是:根据加密需要对加密字典中的数据进行管理,例如对加密字段描述信息进行维护、对授权用户信息进行维护、以及对数据密钥进行维护。客户平台则完成对加密数据库授权用户的身份验证、数据库用户私钥的解密,加密字段数据密钥的解密,以及提出查询需求。在服务器端,我们要实现一个加解密引擎,处理从客户端发来的对加密数据库的访问请求并将结果返回给客户端。模型的总体框架如下图:
  图1-1加密数据库模型的总体框架
  应用系统创建数据库应用表之后,用户通过运行图形化界面—加密字典管理程序,定义哪些应用表中的哪些字段的数据需要加密。加密字典管理程序将把这些用户定义信息存入加密字典中。应用表加密后,用户还可以使用加密字典管理程序修改加密定义,重新指定加密表或加密字段。数据库加/解密引擎是该系统的核心部件,负责在后台完成数据的加/解密处理。当应用程序向数据库插入或更新数据时,加解密引擎根据加密字典中的信息,确定当前数据是否需要加密,如果需要加密,则对数据加密后再写入数据库中。同样当应用从数据库中检索数据时,加密系统根据加密字典中的信息判定是否需要解密,如果需要解密,对数据进行解密以后再交给应用,存储在数据库中的数据仍然是密文。加密字典管理程序是一个特殊的数据库应用。加密字典管理程序需要对数据字典进行读操作,对加密字典进行写操作。数据字典和加密字典存储在数据库中并且是不加密的,为了加快执行速度,
  加密字典管理程序执行这些操作时不通过加/解密引擎直接与客户端平台通信。另一面,当用户提交数据加密的定义要求时,加密字典管理程序通过加/解密引擎,实现数据明文与密文之间转换的功能。
  当用户通过测试平台登录到加密数据库并成功后,测试平台会与加密字典进行交互,从加密字典中找到该用户的加密形式私钥,并解密得到用户私钥。当要访问到某个加密字段的时候,测试平台也会从加密字典中找到相关的数据加密拷贝,并解密得到数据密钥。当在客户端的测试平台上执行涉及到加密字段内容的SQL语句时,测试平台会与加解密引擎交互,将查询需求转由加解密引擎去处理。然后,加解密引擎与加密字典以及DBMS核心交互,完成对数据的加解密,并将正确的结果返回到客户端。
  当在测试平台上提出的数据库访问请求不涉及到加密字段时,客户端测试平台会跨过加解密引擎,直接与DBMS交互,完成对普通数据的访问。以下对各个设计模块分别进行描述。
  二、加密字典管理
  (一)结构设计
  加密字典管理是管理员定义加密字段的工具,它提供了用户管理、加密字典配置、信息检索、加密字典权限管理等功能,利用数据库加密解密引擎完成对数据的加解密处理。数据库加密系统对加密数据的所有操作均需要加密字典的支持,都需要以加密字典为基础。在加密字段的添加和删除过程中,需要调用加密字典配置、信息检索以及加解密引擎模块来实现。其流程如图2.1所示。
  (二)用户登录
  用户登录是数据库管理员启动加密字典管理程序后必须通过的身份验证模块,该模块防止未授权人员使用加密字典管理程序,确保加密字典的安全。它主要包括用户登录、身份验证、口令加密功能。用户身份认证的流程如图2.2所示,以提高系统用户访问的安全性和可靠性。
  (三)加密字典配置
  管理员首先通过加密字典配置划分应用程序的用户类、数据类以及每个用户类所拥有的数据类的权限信息,并给合法用户授权;然后按照配置调用密钥管理模块完成用户密钥、用户类密钥以及数据类密钥的生成分配以及存储。加密信息配置表存放由管理员根据用户需求定义的加密配置,实现向加密字典表中添加,更改或删除加密字段的功能。它调用表信息检索模块和加解密引擎,完成一个表的加密定义修改任务。该模块是加密字典管理程序的主要功能模块。
  (四)信息检索
  该模块从系统的数据字典中检索出与某个表有关的各种信息,放入结构变量,这些信息包括表名、表标识、主键定义、字段定义等,供其他模块使用。信息检索函数的输入是字段名称和表名称,输出是满足条件的表信息结构体,该模块被加密字典配置模块调用,共同完成加密字段定义的变更。
  三、数据加解密引擎客户端测试平台的设计
  在客户端设定一个测试程序,来完成访问加密数据库中数据的功能。在向服务器端发送真正的查询或其它操作的请求之前,客户端必须先完成用户登录等一系列工作。在我们的设计中,当一个用户输入登录信息(包括加密数据库的信息,用户名,口令)之后,程序会做以下工作:
  (1)输入的信息去与数据库建立连接,若建立连接成功,则说明用户的用户名与口令相符,用户输入的口令有效;如果建立连接失败,则用户名与口令不相符,终止并退出程序。
  (2)输入的口令进行加密,执行MD5加密算法,生成口令的MD5加密值。
(3)根据用户名生成一个SQL查询语句:
  “SELECT encrypted_private_key From master.dbo.Authorized_User WHERE authorized_login_name=‘”&username&”’”
  在应用程序中执行该SQL语句,就可以从加密字典中的Authorized_User表取出用户的密文形式私钥。当数据库用户还不是加密数据库合法用户时,就不具有公钥/私钥对。此时,客户端程序会给出提示。
  (4)针对上一步骤取到密文形式私钥,执行DES算法进行解密,解密密钥是步骤2得到的口令MD5加密值。得到用户的私钥,存入应用程序的全局变量private_key中。
  在客户端程序中要访问到某个加密字段时。首先客户端程序会先生成一个SQL语句,去查询加密字典中的Encrypted_Table表、Encrypted_Column表、Authorized_User表中的Encrypted_Key表。该SQL语句形式为:
  “SELECT k.encrypted_data_key From master.dbo.Encrypted_Table t,
  Master.dbo.Encrypted_Column c,master.dbo.Encrypted_Key k WHERE
  k.authorized_login_ID=l.authorized_login_ID and
  k.encrypted_column_ID=c.encrypted_column_ID and
  t.encrypted_table_ID=c.encrypted_table_ID and (责任编辑:nylw.net)转贴于八度论文发表网: http://www.8dulw.com(论文网__代写代发论文_论文发表_毕业论文_免费论文范文网_论文格式_广东论文网_广州论文网)

发表评论
本站模板均经测试成功,请放心下载,遇到任何问题或者需要购买付费论文请联系本站。
表情:
验证码:点击我更换图片