针对索引字段加密难的问题,提出一种基于B+树的索引字段加密处理技术。该技术采用DBMS内部加密机制,选取在页/段映射到块时使用加密组件对索引字段进行加密,它能够使加密后的索引仍然保持有序,不会失去索引的快速查询功能。为了进一步保证索引字段本身的安全性,对索引按结点实施加密。实验中,模拟Postgresql中B+树的构造方法,研究基于B+树的加密索引字段的查询性能,并在页结点数和B+树深度参数变化时,对分结点加密的查询性能进行测试。研究结果表明:基于B+树的索引字段加密的查询速度虽然比明文查询速度下降20%左右,但采用分结点加密方式能够有效地减少解密代价,避免索引字段加密对查询性能产生较大影响。
In order to solve the problem of encrypting the index fields, a new way, i.e., encryption over the index fields based B^+ tree, was proposed. The encrypted mechanism inside DBMS was adopted, the index fields were encrypted by the encryption component during the process of mapping page or segment to block. The new method could preserve its order after the index fields was encrypted, and the function of fast querying was not lost. Furthermore, in order to ensure the security, the index itself was encrypted according to each node. In the experiments, the B^+ tree was constructed by simulating the Postgresql. Querying performance over the encrypted index fields was studied, and the querying performance over each encrypted node was tested by varying the numbers of the pages and B+ tree depths. The results show that the query velocity over the encrypted index fields can be accepted although it decreases by about 20% compared with the plaintext, and encryption over each node can efficiently reduce the decryption cost so as to avoid the influence of querying on the encrypted index fields.