发明名称 一种实现支持细粒度访问控制的加密方法
摘要 一种实现支持细粒度访问控制的加密方法,基于属性的加密体制中访问控制结构为一棵访问控制树,使用k<0的范围表示扩展属性节点,k表示运算标识符,对应于特定的运算(或函数);k<0的叶子节点称为扩展属性的叶子节点,这类节点的子节点为一个或多个属性与属性值对。子节点中数据为与运算标识符k对应的运算函数所需的输入参数。函数的输出对应于扩展属性节点的属性值,扩展的运算包括匹配函数和逻辑运算符。本发明使基于属性加密算法支持丰富的运算,使改进后基于属性的加密算法具有灵活的、细粒度的访问控制能力。
申请公布号 CN102244660A 申请公布日期 2011.11.16
申请号 CN201110193448.6 申请日期 2011.07.12
申请人 北京航空航天大学 发明人 郎波;高昊;张然;牛虹婷;李未
分类号 H04L29/06(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 李新华
主权项 一种实现支持细粒度访问控制的加密方法,其特征如下:(1)通过添加虚拟叶子节点来实现运算符扩展原密文策略的基于属性的加密体制中访问控制结构的设计基于门限秘密共享体制,其访问控制结构为一棵访问控制树,访问控制树中节点包括阈值k和子节点数num两个属性,其中0<k≤num,使用k<0的范围表示扩展属性节点,k表示运算标识符,对应于特定的运算或函数;扩展属性的叶子节点为一个或多个属性与属性值对,扩展属性节点相当于密文策略的基于属性的加密体制中的叶子节点,而<属性名,属性值>相当于k指代的函数所需的输入参数,函数的输出对应于扩展属性节点的属性值;(2)密钥生成中心PKG负责用户扩展属性的验证PKG具有公开参数分发、私钥生成和用户扩展属性提取的功能,同时,PKG还负责根据扩展的运算标识符,使用对应的运算函数对用户提供的扩展属性进行动态验证;(3)扩展运算函数的格式及已扩展的访问控制运算扩展运算对应的函数具有以下原型:f:(attribute_name,attribute_value...)→Requred Attribute|Empty String,其中函数参数为一个或多个<属性名,属性值>对,函数的返回值为确定的字符串;扩展的运算包括匹配函数和逻辑运算符,具体如下:a.匹配函数:<,>,≤,≥,in_range,regex_match;b.逻辑运算符:Not;其中,<、>、≤和≥为算术比较运算符;in_range为验证参数是否在一定范围内的函数;regex_match为正则表达式匹配函数,正则表达式使用Java正则表达式的标准格式;(4)密文解密及私钥获取过程执行解密算法须取得针对密文中已扩展的访问控制树的私钥,其过程如下:从访问控制树中提取运算函数标志符k,和存储于虚拟叶子节点中的<属性名,属性值>对,将它们和用户身份信息发送到密钥生成中心,密钥生成中心生成对应的私钥并返回给用户;密钥生成中心生成私钥的过程如下:密钥生成中心首先验证用户身份,如果身份验证没有通过则拒绝该请求;通过身份验证后,密钥生成中心根据用户提交的运算标识符确定对应的访问控制运算函数,然后密钥生成中心从用户属性信息用户具有的属性集S,运行该函数获取对应的输出,如果输出不为空则将该扩展属性添加到属性集S中;当用户提交的所有扩展属性验证都被执行后,以属性集S为输入运行密文策略的基于属性的加密算法中密钥生成算法生成私钥。
地址 100191 北京市海淀区学院路37号