



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于PKI的密文检索系统李新中国 北京 中国科学院计算机网络信息中心 OA室,100864摘要:本文在PKI和全文检索技术的基础上,实现了在不解密的条件下的数据检索。本文所论述的密文检索是对全文检索技术的改造,在这里几乎保留了全文检索的全部技术,只对索引文件的索引词进行了加密处理,便于系统实现。密文检索系统的加密、解密发生在客户端,有效的降低了数据安全对服务器和网络环境安全的依赖。文章最后简要讨论了密文检索中的密钥共享问题。关键词:密文检索、全文检索、加密Ciphertext Query System Based on PKILI XinOffice Automation Laboratory
2、, Computer Network Information Center, Chinese Academy of Sciences, Beijing, 100080Abstract:Without decrypted, a kind of full search index is set up on the base on PKI and full search index technology. Because the only change between new and old full search index technology is the encryption of inde
3、x words in the index file and the other all is almost same, this system will be easy to set up. Because the encrytion and decryption are do on the client side, the dependence of data security upon the server and network security is decreased greatly. The problem of share of encrypt key is briefly di
4、scussed in the last of this paper.Keyword:Query on Ciphertext, Full Search Index, Encrypt1引言电子文档的存储方式为数据的检索和利用提供了极大的方便,因此,越来越多的业务数据成为电子文档,其中也包括一些敏感数据。为了保护敏感数据,有时需要进行加密存储。加密技术在提高数据安全性的同时,也为数据的检索设置了障碍。源本可以很方便检索到数据,经过加密处理后成为不可检索的内容。如果密文数据的数量非常庞大,而又缺乏有效的检索手段,将会严重影响密文数据的利用1-2。作者简介:李新(1966),男,山东淄博人,博士后,副研
5、究员,主要研究领域为信息安全、办公自动化关键技术、软件工程工业化。一般的明文数据检索系统都有一套权限管理手段,数据的存储与权限的管理设计在系统两个不同的层次上,这两个层次的偶合程度非常低,系统逻辑相对简单。与此不同的是,在密文数据检索系统中,密文数据是由明文数据与密钥计算而来,由于密钥在一定程度上反应了权限逻辑,因此,权限逻辑通过密钥传递到数据存储层,这大大增加了数据存储与权限管理两个层次的偶合程度,系统的设计相对复杂。2全文检索引擎技术路线的选择只所以能够从海量数据中较快取得相关信息,全文检索依赖事先建立的基于索引项的索引库。其原理是索引程序扫描数据中的索引项,在索引文件中对每一个索引项建立
6、一个索引,指明该索引项在数据中出现的次数和位置;当用户查询时,检索程序将用户查询条件分解为索引项,在事先建立的索引库中进行查找(而不是从原始数据中查找),并将查找的结果反馈给用户。英文句子的单词之间有固定的空格,英文全文检索系统可以简单的以单词为索引项。中文句子中词与词之间没有间隔,因此,在中文全文检索系统中,索引项的选择是一个基本的,也是非常重要的问题。据此,可以将中文全文检索引擎分成两大类:基于字的全文检索引擎和基于词的全文检索引擎。基于字的全文检索引擎使用单字为索引项,将文章中的每一个字都录入索引库中,对用户的检索提问根据单字匹配的原则去进行检索。按照GB2312的规定共有6763个汉字
7、。这样索引集合就非常小,最大不会超过6763,在这一点上基于字的全文检索引擎具有十分明显的优势。基于词的全文检索引擎以中文句子中的词为索引项,更符合人的自然思维习惯。以词为索引项,就要进行分词,由于在中文句子中词与词之间不存在分隔符,因此,将由汉字组成的字符串进行正确的分词不是一件十分容易的事。分词一般都要借助词典来进行,而中文的构词非常灵活,词的数目几乎是无限的,因此要构造完备的词典几乎是不可能的。为了克服以词为索引项所带来的困难,人们还提出了一些别的方法,如:二元,三元语法索引项等3-4。有两个指标可以评价检索引擎的检索质量:查全率和查准率。查全率和查准率是信息检索中的一对矛盾,人们在选择
8、检索引擎的时候往往不能两全。一般认为,提高查全率,返回更多的查询结果,会相应降低查准率;提高查准率,只返回精确的匹配结果,会相应降低查全率,即查全率和查准率成反比。如果被检索的数据量非常大,为防止返回太多的无用信息,可以选择查准率较高的搜索引擎;如果被检索的数据量有限,可以选择查准率较高的搜索引擎,避免信息遗漏。字是自然语言的最小颗粒,以字为索引单位的搜索引擎,如果查询条件选择得当,从理论上讲几乎不可能遗漏查询信息,因此,具有较高的查全率和较低的查准率。词包含了更准确的概念,以词为索引单位的搜索引擎,由于符合人们的思维习惯,更有可能返回正确查询结果,因此,具有较高的查准率和较低的查全率。基于词
9、的全文检索需要维护一个庞大的词库,对于明文全文检索可以将词库放在服务器端,分词和检索都在服务器端进行,客户端不需要考虑词库的维护问题,因此,词库的维护不会影响系统实现。而对于密文全文检索,由于密钥安全的要求,不能将密钥送到服务器端进行检索词的加密、解密,分词需要在客户端进行,选择基于字的全文检索,可以降低系统的复杂性,避免词库维护。3密文检索技术原理目前常用的加密方法分为“对称算法”和“非对称算法”两大类。对称算法以DES、IDEA为代表,加密、解密采用相同的密钥,其优点是加密、解密速度快;非对称算法以RSA为代表,加密、解密采用不同的密钥,其优点是密钥的分发、管理相对容易。“密钥对”是RSA
10、算法的核心,将其中的一个密钥公开,称为“公开密钥”;另外一个密钥由密钥持有人专用,称为“私有密钥”。公开密钥用于数据加密,私有密钥用于数据解密。为提高保密强度,RSA密钥至少为512位长,一般推荐使用1024位。这就使得加密、解密的计算量很大。为减少计算量,提高加密、解密速度,常采用非对称算法与对称算法相结合的方式,即:数据采用DES或IDEA等对称算法加密,然后使用RSA公开密钥加密对称算法“密钥”。解密时,首先用RSA私有密钥解密对称算法“密钥”,然后用对称算法“密钥”解密数据。非对称算法与对称算法的结合使得在保持非对称算法密钥的分发、管理优势的同时,大大提高了加密、解密速度。密文全文检索
11、的索引文件是加密之前建立的,索引文件描述了词条在原文中的位置,实际的检索是在索引文件而不是在原文中查找检索词,因此,对原文进行加密不会影响检索。对于索引文件,我们只对其中的索引词单独加密,而不是对整个索引文件进行加密,因此,密文索引文件中的索引词与检索时单独加密的检索词,如果明文、密钥一致则密文一致。因此,可以通过比对检索词密文和索引文件中的索引词密文,找到检索词在原文中的位置。加密、解密运算以二进制方式处理数据,为方便处理,可以采用Base64进行编码,将二进制数据转换成字符型数据。4密文检索技术实现密文检索技术包括加密、解密、检索及密钥共享四个部分。4.1加密加密前首先要生成对称密钥(以下
12、简称密钥),为了防止来自网络内部,尤其是系统管理员的安全威胁,密钥应该在客户端生成。按照全文索引的技术要求,扫描原文、分词并建立索引文件,用密钥对索引文件中的索引词进行加密及Base64编码处理,生成密文索引文件。用密钥对原文进行加密处理,生成密文。用自己的公开密钥对密钥进行加密处理生成密钥密文。图1 数据加密流程将密文索引文件、密文、密钥密文保存到密文库中,完成加密操作,见图1。4.2检索及解密检索密文前首先要从密文库中下载密钥密文,然后用自己的私有密钥解密,得到密钥。将查询提问分解成检索词,用密钥将检索词加密,经过Base64编码,得到检索词密文,将检索词密文送到密文库,从密文索引文件中查
13、找密文检索词,进行全文检索。下载符合检索条件到的密文,用密钥解密,得到原文,见图2。图2 密文检索流程4.3密钥共享与密文有关的系统必然带来密钥管理问题5-6。从理论上讲,对每个数据、每个用户都使用不同的密钥,系统安全性最高,但过多的密钥会给系统的性能带来很大负担,且管理不便,因此,密钥管理的关键是密钥共享。密钥共享包括两个方面的内容:“不同数据间的密钥共享”和“不同用户间的密钥共享”。不同数据间的密钥共享指的是不同数据采用相同的密钥加密、解密,因此,这些数据应该具有相同的秘密等级或秘密分组。将秘密数据分组,同一组数据使用相同的密钥,可以大大减少密钥数量,简化密钥管理和权限分配。密文全文检索系
14、统可以按照这些秘密分组进行设计,在同一组中检索数据时,因为密钥相同,相同的检索词具有相同的密文,因此,只需一次从密文库下载密钥密文,就可以在这个分组内查找匹配数据。不同的秘密分组由于密钥不同,需要下载不同的密钥密文,分别进行检索,最后将各个秘密分组的检索结果合并为一个,呈现给用户。不同用户间的密钥共享指的是不同的用户对同一数据可以使用相同的密钥加密、解密。因为密钥相同,因此密文在密文库可以只保留一份,这不仅大大减少了密文库的存储空间耗费,而且也为秘密数据的授权带来极大方便,可以在不对原文解密的情况下,为其它用户建立密钥密文。图3描述了这样一个秘密授权的流程,秘密授权必须由具有秘密读权限的用户进
15、行。首先,下载自己的密钥密文,解密得到密钥;然后,从证书库下载对方公开密钥;用对方公开密钥对密钥加密,得到对方密钥密文;最后,将密钥密文保存到密文库,完成秘密授权过程。此后,对方就可以下载和使用新产生的密钥密文进行密文检索及数据解密了。图3 秘密授权流程5结束语从某种意义上说加密与检索是一对矛盾,加密是为了防止信息非法扩散,检索是为信息获取提供方便。密文检索是在防止信息非法扩散的同时,为信息获取提供的方便,是解决这对矛盾的一种有效途径。本文所论述的密文检索方法利用了目前明文全文检索的技术路线,为了在不解密的条件下实现检索,对索引文件只加密了索引词,而索引文件中的其它信息没有进行加密处理,这或许在有些情况下会对秘密数据造成部分泄漏,使用时应当综合考虑。参考文献1 余祥宣,刘伟数据库的密文索引机制J华中科技大学学报(自然科学版)2002,30(3):17-182 宋俊洪,崔国华一种密文数据库的查询
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 户外广告牌承包合同
- 股份制改革文件与合同解析
- 年度销售统计对比表
- 房屋外墙保温施工合同
- 临时安全施工协议
- 不锈钢宣传栏安装工程合同
- 生物学人体生理机能测试卷
- 湖北省武汉市江岸区2024-2025学年上学期期中九年级物理试题(含答案)
- 平顶山仿古建筑施工方案
- 农业可持续发展模式创新研究
- 2025年湖南理工职业技术学院单招职业技能测试题库必考题
- 第十八届“地球小博士”全国地理知识科普竞赛题库(附答案)
- 2024年10月高等教育自学考试07454传感器技术应用试题及答案
- 普通高中地理课程标准(2023年版)
- 2023版北京协和医院重症医学科诊疗常规
- 《沉淀滴定法》PPT课件.ppt
- 波程差与光程差
- 常用测井曲线符号及单位(最规范版)
- 美国驾驶手册(中文版)
- 人工岛施工方案(附示意图)
- 碱性锌酸盐镀锌
评论
0/150
提交评论