1. What is Sanitizable Signature可净化签名?

Sanitizable Signature:可净化签名。基于属性的机密(Attribute-Based Encryption, ABE)为模糊身份加密(Fuzzy Identity Based Encryption, FIBE)的一个重要应用,最早源于基于身份的加密。可保证数据机密性,并为数据提供细粒度的访问控制。

ABE相关代码实现可参看:

  • https://github.com/Fraunhofer-AISEC/rabe(Rust语言,在该库中实现了多种ABE算法)

Ateniese等人的2005年论文《Sanitizable Signatures》中,首次提出了Sanitizable Signature可净化签名的概念。

可净化签名过程中主要有三个角色:signer,sanitizer和verifier。
可净化签名允许signer将部分签名权限给sanitizer,sanitizer可以修改原有消息,未修改部分的完整性和真实性仍然verifiable。

2. Main security requirements for Sanitizable Signature

  • unforgeability不可伪造性:即除本人外,任何人都不能伪造signer和sanitizer的签名。
  • immutability不变性:sanitizer仅能对允许修改的部分进行修改,若对未允许修改的部分进行修改,则不能产生有效的签名。
  • privacy隐私性:净化后的消息和签名不能泄露原始信息(如被修改的部分具体内容)。
  • transparency透明性:对于其他人来说,消息是否被净化应该是不可区分的。
  • accoutability责任性:签名的源头是可确定的。分为signer责任和sanitizer责任。

3. Sanitizable Signature应用举例

与可截取签名CES(content extraction signatures)不同指出在于:signer以可控的方式可将签名权限授权给sanitizer,sanitizer还可对signer所提供的消息进行修改,未修改部分的完整新和真实性仍然是可验证的。特别地,对于不允许修改的部分,sanitizer不能对其修改,也无法对这种非法的修改提供有效的签名。

应用举例:(医疗数据),如医院在传染病监测时,需要公开摘录病人的医疗数据,如出生日期、性别等汇报给权威机构,而患者姓名应该使用假名,患者的精神病信息也应该删除。在整个流程中,医院承担sanitizer角色,健康专家承担signer角色。医院的权威部分收集需要上报的医疗数据,并由不同的健康专家签名后,医院需要在不与健康专家互动的情况下,将签名后的信息进行净化,保护患者隐私。

在2019年论文《Unlinkable and Strongly Accountable Sanitizable Signatures from Verifiable Ring Signatures》中举了个例子是:In this primitive, a signer allows a proxy (called the sanitizer) to modify some parts of a signed message.
For example, a magistrate wishes to delegate the power to summon someone to the court to his secretary. He signs the message “Franz is summoned to court for an interrogation on Monday” and gives the signature to his secretary, where “Franz” and “Monday” are sanitizable and the other parts are fixed. Thus, in order to summon Joseph K. on Saturday in the name of the magistrate, the secretary can change the signed message into “Joseph K. is summoned to the court for an interrogation on Saturday”.

4. Sanitizable Signature实现方式

  • 2009年论文《Security of Sanitizable Signatures Revisited》:基于Chameleon Hash做的实现。
  • 2019年论文《Unlinkable and Strongly Accountable Sanitizable Signatures from Verifiable Ring Signatures》:基于Verifiable Ring Signatures做的实现。
  • 2019年论文《Efficient Invisible and Unlinkable Sanitizable Signatures》:基于type-III pairing做的实现。

参考资料:
[1] 2014年论文《云计算环境下基于属性的可净化签名方案》
[2] 2009年论文《Security of Sanitizable Signatures Revisited》
[3] 2005年论文《Sanitizable Signatures》
[4] 2019年论文《Unlinkable and Strongly Accountable Sanitizable Signatures from Verifiable Ring Signatures》
[5] 2019年论文《Efficient Invisible and Unlinkable Sanitizable Signatures》

Sanitizable Signature可净化签名相关推荐

  1. Sanitizable signatures(净化签名) 和 Redactable signatures(可修订签名)

    可延展签名方案(Malleable signature schemes ,MSS)允许第三方以受控的方式修改签名数据,并在授权更改后仍然保持有效的签名,即已更改的消息的真实性仍然可以验证. MSS通常 ...

  2. java 方法signature,基于微信签名signature获取(实例讲解)

    微信分享的签名算法微信也写有,主要是调用接口需要使用服务器(微信官方文档是这么说的,试了下前端居然特么也可以),不过微信的access_token和jsapi_ticket是有使用次数限制的,所以还是 ...

  3. html移动端实现手写签名,signature手写签名实现,微信公众号浏览器html手写签名实现

    前言 html移动端手写自动横竖签名实现,并base64图片格式获取: 横竖根据屏幕宽高自动平铺. 效果图 图一 图二 实现 如下代码直接复制成.html文件打开即可预览效果 <!DOCTYPE ...

  4. 开放接口签名(Signature)实现

    开放接口签名(Signature)实现方案 既然是对外开放,那么调用者一定没有我们系统的Token,就需要对调用者进行签名验证,签名验证采用主流的验证方式,采用Signature 的方式. 字段 类型 ...

  5. 盲签名 blind signature

    1. 引言 前序博客有: Coconut:可selective disclosure credentials的门限发行签名机制 ECDSA VS Schnorr signature VS BLS si ...

  6. PE文件和COFF文件格式分析——签名、COFF文件头和可选文件头1

    本文将讨论PE文件中非常重要的一部分信息.(转载请指明来源于breakSoftware的CSDN博客) 首先说一下VC中对应的数据结构."签名.COFF文件头和可选文件头"这三部分 ...

  7. RSA签名的PSS模式

    本文由云+社区发表 作者:mariolu 一.什么是PSS模式? 1.1.两种签名方式之一RSA-PSS PSS (Probabilistic Signature Scheme)私钥签名流程的一种填充 ...

  8. 面试四连问:API 接口如何设计?安全如何保证?防重如何实现?签名如何实现?...

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递 ...

  9. API 面试四连杀:接口如何设计?安全如何保证?签名如何实现?防重如何实现?...

    点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 来源 | cnblogs.com/jurendage/p/1 ...

最新文章

  1. DP UVALive 6506 Padovan Sequence
  2. 商丘网络推广分析网站留不住用户的原因及SEO解决方法
  3. 【docker】常用命令
  4. mysql os.pid_MySQL在OS El Capitan的配置[PID file error]
  5. 构建和测试JSF.next
  6. C/C++传递二维数组[转载]
  7. 计算机专业跨专业考文科,给07年想跨专业考湖大计算机专业的同学
  8. 教你轻松截获 Selenium 中的 Ajax 数据
  9. oracle不存在共享内存域,Oracle数据库共享内存分配不足怎么办
  10. 基于最大正向匹配算法的中文分词
  11. 微信小程序项目源代码SSM考勤签到管理系统
  12. iOS手势开发的那点儿事
  13. ACM题库(计蒜客A1001整除问题)
  14. 在nvidia AGX 边缘服务器安装kubeEdge
  15. 查杀病毒实战----------------》ddg.223 and AnXQV
  16. 台式计算机连接无线,台式机怎么连接wifi?台式机怎么连接无线网络的方法
  17. Android Bitmap关于setPixel设置的值和getPixel获得的值不一样的问题
  18. 【知识点】分布式系统相关名词/概念/知识点
  19. NodeJS使用socket传输大文件
  20. 2021年中国民航及其重点企业对比分析(中航集团VS东航集团VS南航集团VS海航集团)[图]

热门文章

  1. imbinarize与im2bw两者异同
  2. 如何使用cmd打开文件
  3. 2022年,绩效管理周期的综合指南
  4. ros_control控制真实电机的方法
  5. 讲谈初学者如何学好C语言(一)
  6. 阿里云轻量级GPU计算型实例规格族vgn5i配置性能详解
  7. ubuntu18.04+RTX3080+pytorch nightly深度学习环境配置
  8. github创建分支,并将其合并到主分支
  9. 泰坦尼克号生存预测分析
  10. 定时任务执行时间设置详解