给文件配一把会认人的锁:属性基加密

公司云盘里常有这样一类文件:项目预算、合同草稿、技术方案、客户资料。不是不能共享,但也不能谁点开都能看。
预算表只给财务和项目负责人,合同初稿给法务和业务同事,技术方案主要给研发团队。听起来只是普通权限管理,可一旦人多、项目多,麻烦就来了。
最常见的做法是按人授权。张三能看,就把张三加进名单;李四也要看,再把李四加进去。新同事入组、老同事离职、项目成员调整,管理员就要反复改名单。小团队还好,到了几百人、十几个项目交叉协作时,光是维护权限就很容易出错。
还有一种做法,是把文件加密后再上传。这样就算服务器被攻击,别人拿到的也只是密文。
但问题马上来了:加密之后,谁能打开?
如果给每个人单独加密一份,管理成本会很高。今天新增一个项目成员,就要重新处理一遍;明天有人离职,又要考虑旧密钥还能不能继续用。文件越多,权限越细,系统就越难管。
我们真正想要的,可能不是逐个点名“谁能看”,而是直接写清楚“什么条件的人能看”。
比如:
财务部,并且参与项目A的人,可以看预算表。
法务部,或者项目负责人,可以看合同初稿。
医生,并且属于心内科,可以查看某类病历。
这就是属性基加密要处理的问题。
属性基加密,英文是Attribute-Based Encryption,简称ABE。它的早期思路可以追溯到Sahai和Waters提出的Fuzzy Identity-Based Encryption,后来又被发展成面向加密数据细粒度访问控制的ABE方案[1][2]。它的思路并不难理解:加密文件时,不一定绑定某个具体的人,而是绑定一组属性或访问规则。用户能不能解密,不只看他叫什么名字,更看他拥有哪些属性。
这里的“属性”,可以理解成一个人的数字标签。比如部门、角色、地区、资格、项目身份、在职状态。
一个人可能带着这些标签:

如果一份文件的规则写着“财务部+A项目成员”,那就只有同时满足这两个条件的人,才能打开它。只有“财务部”不够,只有“A项目成员”也不够。两个标签都对上,锁才会开。

图1 从“谁能看”到“什么条件的人能看”
可以把ABE想成给文件配了一把会认人的锁。普通锁只认某一把钥匙,ABE这把锁会先看钥匙上带了哪些标签。标签对上,文件解开;对不上,服务器把密文发给你也没用。
这和普通访问控制不太一样。
传统权限更像是服务器站在门口查名单。你点开文件时,服务器看看账号有没有权限,有就放行,没有就拦住。服务器在这里是守门人。
ABE则把一部分规则写进了密文里。文件自己带着访问条件,用户的密钥里带着属性。解密时,规则和属性相互匹配。匹配成功,才能恢复明文;匹配失败,文件仍然是一团打不开的密文。
当然,现实系统里还是需要账号、审批、审计和日志。ABE不是把这些东西全部替换掉。它更像是在权限系统之外,又加了一层密码学约束:不是平台说你能看就够了,文件本身也要认。
ABE有几种不同设计。对普通读者来说,最容易理解的是CP-ABE,也就是密文策略属性基加密。CP-ABE的经典方案由Bethencourt、Sahai和Waters提出,它把访问规则放在密文里,用户密钥则携带属性[3]。
这项技术听起来有点抽象,其实可以这样看:文件里写规则,用户带属性。
加密文件的人先写好访问规则,比如“财务部AND项目A”。用户手里的密钥包含自己的属性,比如“财务部”“项目A”“访客”“法务部”。当用户尝试打开文件时,系统会检查这些属性是否满足文件里的规则。满足,就解密成功;不满足,就打不开。

图2 CP-ABE:文件写规则,用户带属性
这类机制适合很多日常场景。ABE最早被系统讨论的一个重要目标,就是让加密数据也能支持更细粒度的访问控制[2]。
企业云盘里,一份敏感合同可以只允许“法务部+项目A成员”访问。医院系统里,病历可以只开放给主治医生和授权护士。学校资料库中,某些课程资料只给“本课程学生+本学期有效”的用户查看。政务数据、车联网、智能设备之间的数据共享,也经常遇到类似问题:数据可以流动,但不能谁拿到都能读。
不过,ABE也不是什么万能锁。
它比普通加密复杂,计算和系统设计成本都更高。规则越细,属性越多,系统负担也会增加。
更麻烦的是属性管理。员工离职了,项目结束了,医生调岗了,学生毕业了,对应属性就应该失效。可密文可能早就发出去了,旧密钥怎么撤销,权限怎么更新,这些都需要额外设计。
还有一个绕不开的问题:谁来发属性密钥?
如果密钥发放机构不可靠,或者属性审核本身就很松,后面的加密规则再漂亮也没用。ABE能保证“属性满足规则才能解密”,但它不能替业务系统判断“这个人到底是不是医生”“这个员工是否还在项目组”。
所以,更准确地说,属性基加密是一种细粒度权限工具。它适合和身份认证、权限审批、密钥撤销、日志审计放在一起使用。
它给我们的启发很直接:加密不只是把文件锁起来,还可以把“谁有资格打开”一起写进锁里。
过去,我们习惯把文件交给服务器,再相信服务器替我们管好权限。ABE换了一个角度:文件自己也可以带规则。谁能看,不只由名单决定,也由属性决定。
这件事离日常生活并不远。公司云盘、医疗系统、学校资料库、数字身份、智能设备共享,都在处理同一个问题:数据要能用,但不能乱用。
密码学很多时候不是神秘公式。它只是把一句很朴素的要求变得更可靠:这份文件,应该只让合适的人打开。
参考文献:
[1] Sahai A, Waters B. Fuzzy Identity Based Encryption. Cryptology ePrint Archive, 2004/086. https://eprint.iacr.org/2004/086
[2] Goyal V, Pandey O, Sahai A, Waters B. Attribute-Based Encryption for Fine-Grained Access Control of Encrypted Data. Cryptology ePrint Archive, 2006/309. https://eprint.iacr.org/2006/309
[3] Bethencourt J, Sahai A, Waters B. Ciphertext-Policy Attribute-Based Encryption. IEEE Symposium on Security and Privacy, 2007. https://www.cs.utexas.edu/~bwaters/publications/papers/cp-abe.pdf
//关于我们//
杭州量安科技有限公司是由浙江大学和之江实验室联合孵化,核心创始团队汇聚中国工程院院士、国家特聘专家、国家重点研发计划首席科学家等多位顶尖人才。公司专注于人工智能赋能量子安全的研发,聚焦抗量子密码、高性能国密改造及智能安全三大核心领域,为电力、能源、政务、金融、军工、医疗等关键行业,提供新一代密码及安全产品与服务。公司发展势头强劲,已完成 B 轮融资,2024年入选杭州市准独角兽企业,2025年跻身浙江省未来独角兽企业 TOP 100,2026年入选中国未来独角兽企业。技术研发成果显著,牵头主持国家重点研发计划1项,获批浙江省领军型创新创业团队,深度参与国家重点研发计划、国家自然科学基金重点项目、浙江省尖兵领雁研发攻关计划等项目6项;核心知识产权成果丰硕,授权发明专利17项,受理发明专利42项,登记软件著作权40项;资质认证完备,获批国家高新技术企业、浙江省企业研究院、浙江省专精特新中小企业、浙江省科技型中小企业,担任华东江苏大数据交易中心理事长单位。公司产品竞争力突出,斩获多项重要荣誉:2025 年日内瓦国际发明展金奖、2025 中国科技产业化促进会科技创新一等奖、2022 年首届全球数字贸易博览会先锋奖年度最高奖、第三届中国数字经济科技大会年度最具竞争力产品创新奖及数据安全金盾奖等。相关产品已通过国家密码管理局商用密码产品认证、工信部信通院专业评测,具备成熟的市场化应用基础。
