发明名称 |
一种无偏序关系的数据库密文索引方法 |
摘要 |
本发明提供了一种基于无偏序关系的轻量级的密文索引结构的索引建立、检索和维护方法,这种结构能够表示索引中的节点关系,便于维护,维护代价低。索引中存储的数据是密文的,由于不存在数据之间的偏序关系,也就无法进行分析了,保证了数据的安全。基于这种无偏序关系的密文索引的检索方法,能够对密文数据进行快速的检索和定位;维护方法能够有效的维护索引数据和节点关系,并保证索引数据在并发操作环境下的正确性。 |
申请公布号 |
CN102243630A |
申请公布日期 |
2011.11.16 |
申请号 |
CN201010169784.2 |
申请日期 |
2010.05.12 |
申请人 |
北京安华金和科技有限公司 |
发明人 |
赵飞 |
分类号 |
G06F17/30(2006.01)I;G06F21/00(2006.01)I |
主分类号 |
G06F17/30(2006.01)I |
代理机构 |
|
代理人 |
|
主权项 |
一种无偏序关系的数据库密文索引的建立方法,包括如下步骤:(1)对每个敏感字段创建一个密文索引节点表和一个密文索引叶子表,其中密文索引节点表包含字段LEVELID、字段NodeId、字段NextNodeId和字段MaxKey;密文索引叶子表包含字段Pid、字段TROWID、字段NodeId、字段KEYVALUE;(2)按照树状结构组织方式,在密文索引节点表中存储敏感字段的密文索引根节点和子节点数据,其中:LEVELID:代表条目所属的节点类型。1代表根节点条目,2代表子节点条目。NodeId:节点的ID值,用于区分不同节点的记录集合,所有相同节点下的记录具有相同的NodeId值。NextNodeId:记录当前条目的下层节点的NodeId,用于维护节点间的关系;对于根节点中的每条记录,该值等于子节点中的某个节点的NodeId。对于子节点中的每条记录,该值等于叶子表中的某个叶子节点的NodeId。MaxKey:记录当前条目的NextNodeId指向的下层节点中所有记录的最大值,以密文形式存储,节点中所有的MaxKey值之间没有任何的顺序关系,或用于描述顺序关系的辅助信息。(3)按照树状结构组织方式,在密文索引叶子表中存储密文索引的叶子结点数据,其中:Pid:表主键TROWID:索引条目对应的数据的行标识。以ORACLE数据库为例,是表记录的ROWID。NodeId:叶子节点ID,与节点表中子节点的某个条目的NextNodeId对应,所有相同叶子节点下的记录具有相同的值。KEYVALUE:密文字段的值,以密文形式存储,是被加密的数据记录;在叶子节点表中,KEYVAKUE字段的数据之间没有任何的顺序关系,或用于描述顺序关系的辅助信息。 |
地址 |
100081 北京市海淀区中关村南大街11号2号楼201室 |