system: [SYSTEM]

user: 3. 基于层次属性加密访问控制 云计算作为一种通过互联网为用户提供所需资源的新型计算模式，能给用户提供低成本、高质量的云计算服务。而智能电网系统由于拥有海量的传感数据和电网信息正好需要云服务提供的计算资源和存储资源，因此将云计算和智能电网系统结合形成新型的电力云模型将势在必行。 本文提出一种基于层次属性加密访问控制(HABEAC)的方法应用于电力云环境下多层次用户共享电力数据和信息的场景。 3.1. 方案简介 考虑以下场景：电网系统拥有敏感的电网传感数据如某地电压信息、某节点有安全隐患信息等，和隐私信息如用户身份、用户账户余额等，都需要先对其进行加密再上传到云平台上，但上传者对加密进行处理，以便授权让其他员工访问该数据。这些敏感隐私信息的访问控制列表如表1所示。 该访问结构特点如下： (1) 同一加密数据的接收者为多个，例如对于用户身份，可以同时被项目总监和市场部用户科访问； (2) 访问结构中不仅有精确的身份描述，还有用户属性的集合。例如对于账户余额，可以同时被项目总监、财务部员工和市场部用户科员工访问，其中项目总监为精确的身份描述，而财务部员工和市场部用户科员工为属性集合。 (3) 如同企业内部等级一样，用户的密钥也有等级关系。例如，电网企业为不同等级的部门生成密钥，同样的，部门为内部员工生成不同的密钥。 由上面的描述可知，要能够实现这些需求，该访问控制方法需要满足一下特点： (1) 一个密文可以同时被多个，密钥解密； (2) 访问控制结构能够同时支持精确的身份和属性集合； (3) 密钥的生成具有和电网企业内部一样的层次性。 为了实现上述要求，本文结合了G-HIBE [ 7 ] 方案中的层次密钥生成思想和DNF形式[ 8 ] 的访问结构，提出了应用于智能电网的基于层次属性加密访问控制方法。 3.2. 方案概述 本文提出的基于层次属性加密访问控制方案整体结构如图1所示。 该方案总体上由电网企业内部、可信第三方和云服务器三大部分构成。其中云服务器由云服务提供商提供，主要作用为存储或计算来自电网企业的数据；可信第三方主要负责产生、发布系统参数和电网企业密钥；电网企业由第一层内部实体和下层内部可信实体，其中第一层内部可信实体用于管理用户，为用户生成用户私钥，相当于电网企业的人事部，下层内部可信实体负责管理用户属性并为用户生成用户身份密钥和用户属性密钥(用于解密)；图中每个用户拥有唯一的ID和系列属性集合，每个内部可信实体(包括第一层和下层)和用户属性也拥有唯一的ID。ID是描述系统中实体特征的字符串。如果一个用户的ID位于访问结构中的精确用户身份ID集合内，或者用户的用户属性在访问结构中属性集合内，则可以对加密数据进行解密。 3.3. 方案密钥 本HABE方案中涉及了非对称加密技术，因此该方案拥有若干密钥，表2总结了该方案中使用的主要密钥。 根密钥 为可信第三方所拥有，作用是为第一层的内部可信实体产生主密钥。 每一个下层内部可信实体都拥有一个拥有公钥 和主密钥 ，其中公钥 由下层可信实体的ID组成，其形式为 ，其中， 是该内部可信实体的父亲节点的公钥， 是该实体的ID。特别地，第一层内部可信实体的公钥 由其ID组成，形式为 。第一层内部可信实体的作用是管理 Table 1 The list of the access control method based on HAB 信息类型 访问结构 电压信息 项目总监，负责电压监控的技术人员 安全隐患 项目总监，安全部负责安全技术人员 用户身份 项目总监，市场部用户科员工 账户余额 项目总监，财务部员工，市场部用户科员工 表1. HABE方案访问控制列表 Table 2 The list of major keys in HAB 密钥名称 密钥含义 根密钥 第一层内部可信实体的主密钥 第一层内部可信实体的公钥 下层可信实体的公钥 下层可信实体的主密钥 用户u的公钥 用户u的私钥 用户u的身份密钥 用户u的关于属性a的密钥 属性a的公钥 表2. HABE方案主要密钥列表 图1. HABE整体结构 用户，为用户生成用户私钥，其他下层内部可信实体管理一系列属性集合，并为用户生成用户身份密钥和用户属性密钥。 用户u由精确的身份ID以及系列属性集合组成。其中用户的ID表示为 ，其属性集合表示为 。 每个用户u都拥有一个用户公钥 ，一个用户私钥 ，一系列用户身份密钥 和一系列用户属性密钥 。其中用户公钥 的形式为 ，这里 为第一层内部可信实体的公钥。 用户属性a由一个精确的ID描述，表示为 。属性a拥有一个公钥，其形式为 ，其中 为管理该属性的下层内部可信实体的公钥。 3.4. 方案模块 本方案的具体算法由如下各模块组成： (1) 初始化模块：输入一个足够大的安全参数K，由可信第三方输出系统参数params和根密钥 ； (2) 主密钥生成模块：可信第三方或者内部可信实体利用系统参数params和自己的主密钥为下层可信实体生成主密钥。 (3) 私钥生成模块：第一层内部可信实体首先确定用户u的公钥是否为 。如果是，则利用其主密钥 和系统参数params为用户生成私钥 ；否则输出为“空”。 (4) 用户身份属性生成模块：下层内部可信实体首先确定用户u是否满足属于自己管理的属性a。如果是，则为该用户生成用户身份密钥 ，和用户属性密钥 ；否则，输出为“空”。 (5) 加密模块：为了加密电网数据D，数据加密用户u首先确定拥有该电网数据访问权限的接收者的精确ID集合R，和DNF形式的基于属性访问结构A。该用户以位于R中所有用户的公钥，以及位于A中的所有属性公钥作为输入，输出则为加密后的密文CT。 (6) 身份解密模块：为了解密密文CT，如果某用户u的ID属于集合R，则能够利用系统参数params和该用户私钥 恢复电网数据F。 (7) 属性解密模块：为了解密密文CT，如果用户u的属性满足访问结构A，则能够利用系统参数params，用户身份密钥 ，以及该用户的属性密钥 恢复电网数据F。 3.5. 性能分析 本方案涉及了一些加密算法，其中计算开销从大到小依次为双线性对操作、乘幂操作、点乘操作。而由于点乘操作的时间开销相对于前两者可以忽略。因此，本节性能分析中只考虑双线性对操作和乘幂操作带来的时间开销。 初始化算法中计算一次乘幂操作为系统生成固定长度的系统参数。主密钥生成算法中计算两次乘幂操作为下层内部可信实体生成长度为 的主密钥，其中 为下层内部可信实体所处层次。密钥生成算法中计算一次乘幂操作为用户生成固定长度的用户私钥。用户身份属性生成算法中计算一次乘幂操作为用户生成长度为 的用户身份密钥和用户属性密钥，其中 为管理用户属性的内部可信实体所处层次， 是用户拥有的属性数目。 为了加密电网数据D，用户 运行加密算法。给定精确的 集合 和基于属性的 形式访问结构 ，该算法计算一次双线性对 ，以及 次乘幂操作输出长度为 的密文，其中m是R中电网数据用户的数目，N是A中精确属性的数目， 是管理 中属性的内部可信实体中的最深层次。其中，双线性对 的计算只需要一次，因为该双线性对与电网数据内容无关的。 在解密模块中， 属于R中的用户为了恢复电网数据D而计算一次双线性对的时间开销为 ，属性满足访问结构 的用户。 表3比较了本方案与CP-ABE方案和G-HIBE方案的性能。在该表中表， 是与电网数据用户相关的属性数目， 是管理用户属性内部可信实体所处的最深层次，S是访问结构中的属性数目，N是访问结构中的精确属性的数目，T是管理访问结构中属性内部可信实体所在的最深层次， 是精确 集合中用户的数目，P是访问结构中与用户属性匹配的属性数目。 由于 方案支持层次结构的密钥生成方式的优点以及支持精确身份加密的优点，那么变量 均可设置为常数。此时， 方案的性能为最优。