数据库2013204681刘文涛
- 格式:doc
- 大小:359.50 KB
- 文档页数:8
一种外包数据库中查询结果完整性的校验方案
刘蓬涛
【期刊名称】《科技信息》
【年(卷),期】2013(000)007
【摘要】在现有的基于验证数据结构方法——签名链(CES)的基础上进行改进,提出了一种新的外包数据库查询验证方法.对元组前驱和后继进行了重新定义,使其能够处理具有重复属性值的情况,并利用动态累加器方法保证查询结果的新鲜性,分析方法的性能与安全性.
【总页数】2页(P232,267)
【作者】刘蓬涛
【作者单位】山东政法学院信息科学技术系,山东济南250014
【正文语种】中文
【相关文献】
1.外包数据库模型中的完整性检测方案
2.外包数据库模型中的完整性检测方案
3.浅谈外包数据库模型的完整性检测方案
4.探究具有隐私保护的外包数据库合计查询方案
5.基于认证树的外包数据库连接查询验证方案
因版权原因,仅展示原文概要,查看原文内容请购买。
JSqlParser系列之⼆代码结构(原)–刘⽂涛查问题JSqlParser系列之⼆代码结构(原)博客园百味⽊屋原创,转载请注明出处。
上⼀篇⽂章简单介绍如何建⽴JSqlParser⼯程,本章对JSqlParser⼯程的代码结构作⼤致地介绍。
⼀、⽬录结构JSqlParser的⽬录结构⽐较简单,主要有表达式,解析器,语句处理⼏个⽬录。
下⾯这张图给出了⼀个具体的SQL语句与表达式:接下来,简要介绍⼀下在JSqlParser中⼏个抽象概念。
⼆、SQL语句(statement)JSqlPaser将所有的SQL语句抽象为Statement,Statement表⽰对数据库的⼀个操作。
package net.sf.jsqlparser.statement;/*** An operation on the db (SELECT, UPDATE ecc.)*/public interface Statement {void accept(StatementVisitor statementVisitor);}常见的Statement有:Select,Create,Drop,Insert,Delete等,它们作为Statement实现类,均实现accept⽅法。
这是Visitor模式的典型应⽤,贯穿JSqlParser解析SQL语句的每个⾓落。
这⾥你只需要知道Statement对应StatementVisitor。
如果要针对SQL 语句进⾏定制化处理,你只需实现StatementVisitor接⼝即可。
以查询语句(Select)为例,下⾯是Select类的⽅法截图:可以看到,Select对象有两个重要的成员:SelectBody,List<WithItem>,其中WithItem对应SQL语句的with关键字,并不多见。
可见常⽤Select语句的重点在SelectBody。
SelectBody是⼀个接⼝,定义如下:package net.sf.jsqlparser.statement.select;public interface SelectBody {void accept(SelectVisitor selectVisitor);}⼜是⼀个Visitor,只不过这⾥换成了SelectVisitor。
AES算法在数据库加密中的应用舒涛【摘要】分析了数据库加密的层次和常用加密算法,然后提出采用AES对数据内容进行加密的方式来提高数据的安全性并给出AES的实现思路和算法描述,同时还对加密后对数据库管理产生的影响进行了分析并提出了解决方法.【期刊名称】《哈尔滨师范大学自然科学学报》【年(卷),期】2013(029)002【总页数】4页(P53-56)【关键词】数据库;加密;AES【作者】舒涛【作者单位】四川省民族学院【正文语种】中文0 引言对于数据库系统来说,数据存储的安全性是必须解决的问题,以防止数据的泄露、更改和破坏.当前主流的大型数据库系统如SQL Server、Oracle、DB2、Sybase、MySQL 等数据库都提供了如身份识别、存取控制、隔离控制、数据库审计等多种基于DBMS(Database Management System,数据库管理系统)的安全措施,但这些安全措施仍然难以有效阻止非法用户通过窃取数据库登录密码或利用操作系统和数据库系统漏洞来绕过这些安全措施直接读取或篡改数据库中的内容.为了防止用户非法访问数据库内容,必须对数据库中存储的重要数据进行加密保护.对于数据库的加密主要有以下几个层次[1]:(1)在操作系统层加密.由于DBMS是在操作系统之上,操作系统是将数据库文件作为普通文件进行处理的,操作系统无法识别数据库文件的数据结构,也就无法合理地利用自身的加密功能对数据库库文件进行加密.因此,目前在操作系统层对数据库文件进行加密还很难实现.(2)在DBMS内核中进行加密.该方法在对数据库文件进行物理存取之前来完成加密工作.这种加密方式的优点是功能强并且不会影响DBMS的功能,可以实现DBMS 和加密功能之间的整合.其缺点:一是加密和解密运算均在服务器端进行,加重了数据库服务器的负担,二是由于加密是在DBMS内核中实现,必须数据库厂商提供技术支持并取得DBMS内核的相关资料,但实际上要做到这些并不容易.(3)在DBMS外层实现加密.该方法是将在DBMS外层加上一个数据库加密系统,所有对数据库的访问先由这个系统进行处理.该方法的优点是不涉及DBMS内核,并且在数据传输时是以密文进行传输的.缺点是会影响数据库系统的功能和运行效率.针对以上在各个层次对数据库进行加密的优缺点,笔者采用不涉及数据库系统本身,而只对记录内容进行加密的方法.1 加密算法的选择在当前信息安全领域用于数据加密的实用算法,按加密和解密是否使用同一密钥或解密密钥可由加密密钥计算得出,可分为至对称密钥算法(Symmetric Algorithm)和非对称密钥算法(Asymmetric Algorithm)或称公钥算法(Public-Key Algorithm).1.1 对称密钥算法对称密钥算法的特点是加密和解密使用同一密钥或者解密密钥可由加密密钥经过计算得到.对称密钥算法根据加密方式不同分为序列算法和分组算法两类.序列算法单独加密每个位,它是通过将密钥序列中每个位与每个明文位相加实现的,而分组算法则是每次使用相同的密钥加密整个明文位分组来实现.现在典型的对称密钥算法均是采用分组算法,如IDEA、DES、3DES、AES、RC5、RC6 等.1.2 非对称密钥算法非对称密钥算法也称公钥算法,其特点是用作加密的密钥与用作解密的密钥不同,而且解密密钥也不能通过加密密钥计算得到.在典型的公开密钥算法RSA中,数据即可以用公钥加密用私钥进行解密,也可以用私钥加密用公钥进行解密.考虑到数据库中数据量较大,数据访问也很频繁,综合考虑各种加密方法的安全性、加解密效率等多种因素,数据库内容加密宜采用对称密钥算法进行加密,在本文中采用AES算法.2 AES算法及实现AES[2](Advanced Encryption Standard,高级加密标准)是由美国国家标准和技术研究院(NIST)从1997年1月开始向全世界公开征集的用于代替DES(Data Encryption Standard,数据加密标准)的数据加密标准,并在2002年5月正式成为新的数据加密标准.它选择了由比利时科学家Joan Daemen和Vincent Rijmen提出的Rijndael算法作为加密算法.该算法是一种数据块长度和密钥长度均可进行迭代分组的分组加密算法,密钥长度和数据分组长度可分别为128、192、256位,而标准的AES密钥长度为128位.AES相对于DES有很强的加密强度,采用128位密钥的AES是采用56位密钥的DES的1021倍,且当前尚未出现针对AES的有效破解方法.2.1 AES的加解密过程AES的加密流程主要由轮密钥加(Addroundkey)、字节置换 (ByteSub)、行移动(ShiftRow)、列混合(MixColumn)这四个基本的操作完成,其步骤是:首先将明文映射到一个4×4字节的状态矩阵(State),并进行初始密钥加运算;然后进行 Nr 次轮运算,各轮都将进行ByteSub、ShiftRow、MixColumn、Addroundkey 这4个基本操作,但在第Nr轮不做MixColumn;最后将State中的明文映射为密文 .解密过程与加密过程类似,主要区别有:使用密钥序列的顺序不同、置换盒不同、行移动方向不同、列混合系数不同,以及每轮变换中函数的使用顺序不同.加密与解密流程如图1所示.图1 AES加密与解密框图2.2 AES算法的基本操作AES算法主要由轮密钥加(Addroundkey)、字节置换(ByteSub)、行移动(ShiftRow)、列混合(MixColumn)四个基本的操作组成.(1)字节置换(ByteSub).字节置换是一种非线形变换,该置换包含一个作用在状态字节上的S-盒.S-盒置换是一个双向映射,即256个可能的输入元素都与一个输出元素一一对应.这个属性允许我们唯一地逆转S-盒,这也是解密操作所需要的.在软件实现中,S-盒通常使用一个拥有固定项的、256位乘8位的查找表来实现. (2)行移动(ShiftRow).行移变换循环往复地将状态矩阵的每一行的字节按如下方式循环移动:第二行向右移动三个字节,将第三行向右移动两个字节,将第四行向右移动一个字节.在行移变换中,状态矩阵的第一行保持不变.行移动和列混合相互影响,经过多轮变换后密码信息将非常的混乱,增加了AES的扩散性.(3)列混合(MixColumn).该操作是一个线性变换,它混淆了状态矩阵的第一列.由于每个输入字节都影响了四个输出字节,列混合操作是AES中的主要扩散元素,它与行移动操作组合使得三轮以后,状态矩阵的每个字节都依赖于所有16个明文字节成为可能.(4)轮密钥加(Addroundkey).该操作是通过输入16字节的当前状态矩阵和长度为128位的子密钥,生成一个密钥调度表.通过密钥调度表中的前4行对状态矩阵进行按字节的XOR(异或)操作.2.3 加解密实现算法根据上述的加解密流程,下面采用伪Object Pascal语言对算法进行描述.3 加密后对数据访问的影响数据库管理系统要完成对数据库文件的管理和使用,必须要能够正确识别部分数据,因此,在对数据库加密内容进行加密时,不能对所有数据进行加密.不能进行加密的字段主要是以下三类:(1)索引字段;(2)表与表之间用于进行关联的字段;(3)具有主键约束和外键约束的字段.数据库中的数据进行加密以后,数据库管理系统的一些功能会受到限制甚至根本无法使用.受影响的功能主要有:(1)不能实现数据约束.(2)Select语句中的排序、统计类语句将不起作用.(3)数据库管理系统中提供的系统函数无法对数据进行加密处理.(4)一些数据库管理工具中的开发功能将受到限制.为了尽量减小数据加密后对数据管理的影响,针对上述受影响的功能,可采用一些措施进行处理:(1)解决不能实现数据约束的方法.增加一张数据表将已加密的字段的数据类型存放在该表中,再将这些已经加密字段的类型都改成变长的字符类型,在给查询时再进行恢复.(2)解决SQL语句、系统函数、开发功能受限的方法.在数据操作前先建立一张局部临时表,然后将加密后的数据进行解密后存储到该临时表中.以后对数据的操作都在这张临时表中进行,操作完成后应将临时表及时删除,以免造成数据泄密.4 结束语数据库安全、操作系统安全、网络安全共同组成了当今信息安全的核心.数据库内容加密能够有效地保证数据的安全,即使非法用户窃取了数据,也难以得到所需的信息.另外,数据库内容加密后数据库管理员也无法看到明文,从而大大提高了数据的安全性.本文在分析数据库加密的层次、加密算法的基础上提出了采用AES对数据库内容进行加密的方法来提高数据库的安全,并对数据库内容加密后对数据库管理的影响进行了分析并给出了解决方法.参考文献[1]赵晓峰.几种数据库加密方法的研究与比较[J].计算机技术与发展,2007(2):219-222.[2] Christof Paar,Jan Pelzl.深入浅出密码学:常用加密技术原理与应用[M].北京:清华大学出版社,2012.[3]魏嘉银.多功能AES加密与解密软件的设计与实现[J].计算机与数字工程,2011(6):93-97.[4]陈铁英,陈华,刘瑜.基于三层次的数据库加密应用系统[J].华中科技大学学报(自然科学版),2005(7):41-43,46.[5]弟宇鸣,陈荣桦,左广霞.基于AES算法的加密模块设计[J]. 电子设计工程,2013(2):53-55.。
专利名称:复杂SQL语句的生成方法专利类型:发明专利
发明人:刘文洁,李战怀,周云涛,张晓申请号:CN201110163280.4
申请日:20110616
公开号:CN102222097A
公开日:
20111019
专利内容由知识产权出版社提供
摘要:本发明公开了一种复杂SQL语句的生成方法,用于解决现有的SQL语句的生成方法不能生成根据组合关键字的复杂SQL语句的技术问题。
技术方案是以Postgres数据库测试集为基础,通过对SQL关键字分类、组合、设计基础SQL语句和生成方法,来根据用户指定的关键字自动生成复杂的SQL语句,可以生成根据组合关键字的复杂SQL语句。
这些语句可以直接应用于数据库系统的测试过程,解决手工编写组合关键字的SQL语句出错率高,效率低的问题。
申请人:西北工业大学
地址:710072 陕西省西安市友谊西路127号
国籍:CN
代理机构:西北工业大学专利中心
代理人:王鲜凯
更多信息请下载全文后查看。
分形数据加密算法
刘文涛;孙文生
【期刊名称】《信息通信技术》
【年(卷),期】2008(000)005
【摘要】概括性介绍分形理论,对分形理论在密码学的应用进行了研究,提出了分形密码算法.由于分形图形的不规则性,该算法用于数据加密,使非法用户很难破解,大大增强了信息的安全性.
【总页数】5页(P44-48)
【作者】刘文涛;孙文生
【作者单位】北京邮电大学,北京,100876;北京邮电大学,北京,100876
【正文语种】中文
【相关文献】
1.分形与广义分形空间的统一框架及广义分形序列的极限 [J], 沈晨
2.基于分形几何的数据加密算法 [J], 戴振祥;徐园芬
3.大数据加密算法在数据安全保护中的应用研究 [J], 张晓敏
4.DES数据加密算法在计算机通信中的应用 [J], 童建林
5.分形理论及其在炭素材料研究中的应用(1)——分形理论及分形维数的测定 [J], 印友法
因版权原因,仅展示原文概要,查看原文内容请购买。
Internet多数据源数据库操作的探索
夏涛
【期刊名称】《软件导刊》
【年(卷),期】2006(000)006
【摘要】Internet是一个超大型的分布式系统,其中的各个节点正日益成为数据库系统。
从分布在Intertnet上的各数据源中找出数据成为一种迫切要求,这使得数据查询有别于传统方法。
主要介绍了一种新的查询概念——合并查询,并给出了查询方案和相应的优化算法。
这种查询方式使对于不同数据源之间查询数据有了新的变化,提高了数据查询执行效率。
【总页数】4页(P42-45)
【作者】夏涛
【作者单位】浙江工商大学浙江杭州310012
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.Internet 资源结合开放式教学环境在医学影像学 ESP 教学中的应用探索 [J], 邓宇;伍筱梅;曾庆思;梁长虹;刘再毅;关玉宝
2.基于Internet的电工电子网络实验系统探索 [J], 李桂梅
3.Internet上的利益再分配:探索Internet可能的经济模式 [J], 郑登理
4.基于课程思政的大学英语教学探索与实践——以 Is the Internet Killing off Language !为例 [J], 韩会敏
5.网站时光机:美国网页存档模式探索——以Internet Archive为例 [J], 吴倩;王运彬
因版权原因,仅展示原文概要,查看原文内容请购买。