导语:本课堂用通俗易懂的系列内容为大家呈现区块链与密码学领域相关知识。这里有知识也有故事,从感兴趣到有乐趣,全民课堂等你来学。这个系列中的课程内容首先从比特币着手进行入门介绍,再延伸至区块链的相关技术原理与发展趋势,然后深入浅出地依次介绍在区块链中应用的各类密码学技术。欢迎大家订阅本公众号,持续进行学习。
【本课堂内容全部选编自PlatON首席密码学家、武汉大学国家网络安全学院教授、博士生导师何德彪教授的《区块链与密码学》授课讲义、教材及互联网,版权归属其原作者所有,如有侵权请立即与我们联系,我们将及时处理。】
7.1盲签名的概念
2020年4月28日,中国互联网络信息中心发布第45次《中国互联网络发展状况统计报告》,中国网民规模达9.04亿,较2018年底增长7508万,互联网普及率为64.5%,较2018年底提升了4.9个百分点;中国手机网民规模达8.97亿,较2018 年底增加7992万人,网民中使用手机上网人群占比由2018年底的98.6%提升至99.3%;中国农村网民规模达到2.55亿,占28.2%;城镇网民规模7.49亿,较2018年底增加4200万人;台式机、笔记本、平板电脑接入互联网比例分别占42.7%,35.1%和29.0%,手机上网使用率为97.2%。
随着互联网的普及,为在线支付营造了丰沃的土壤,支付宝、微信支付与各大银行App纷纷登上在线支付的头把交椅。但我们索要了解的是,在线支付虽然便捷且交易的是一串数字但并不是电子现金,在线支付并不具备匿名性,容易追踪到某笔交易金额的来源和购买的商品,而电子现金具备匿名性,无法追踪电子现金来源。其中技术用到了假名、零知识证明、环签名、盲签名等等。
– 电子现金的概念 –
在广义的理解里,现金是通用的交换媒介,也是对其他资产计量的一般尺度。它可以立即投入流通且具有普遍的可接受性,并可有效地用来购买商品、货物、劳务或偿还债务。
电子现金 (E-Cash):(Electronic Cash) 也可称为电子货币 (E-money) 或数字货币(Digital Cash)。它可以看作是真实现金的模拟。电子现金以数字信息形式存在,通过互联网流通。电子现金优于真实现金之处在于它安全、超距、迅速、低成本、匿名性、精确性等,这大大强化了现金的可移动性。电子现金通过信息网络系统和公共信息平台实现流通、存取、支付。在电子现金的支付中有三方参与:银行、用户、商家。
电子现金在线交易一般需要以下三个基本阶段:
- 取款阶段:用户从自己的银行账户上提取数字现金
- 支付阶段:用户使用数字现金从商店中购买商品
- 存款阶段:用户及商家将数字现金存入到自己的银行账户上
电子现金像真实现金一样,用户不希望别人知道自己购买过什么样的商品。为了保护用户购买商品、服务时的隐私,接收方不应获得支付方的任何身份信息。
由此盲签名技术为解决上述问题而生。盲签名可以实现银行向合法用户发放有效的电子现金,使用户可以使用有效的电子现金进行交易,银行本身也无法通过电子现金追踪到该电子现金是属于哪个用户的。
– 盲签名的概念 –
盲签名的概念首先由 David Chaum 于1982年提出,盲签名实现了签名者对发送者的消息进行签名,却不能知道签名者消息的具体内容。
所谓盲签名,就是将文件放入带有复写纸的信封,签名者在信封上对文件进行签名而不知道文件的具体内容。
众所周知,电子货币是比特串,容易被复制和多次使用。为了避免这种双重支付问题, David Chaum提出了一个基于RSA算法的盲签名方案,并用它构造了一个基于盲签名的在线电子银行系统,银行可以在线实时检查Coin是否已经花掉。
虽然这个方案可以解决双重支付问题,但是实用性不高,因为银行数据库相当大,实时搜索需要很多时间。
一个盲签名方案一般包括四个过程:
系统初始化:产生盲签名方案中的所有系统参数;
密钥对生成:产生用户的私钥和公钥;
签名:用户利用签名算法对消息签名,签名过程可以公开也可以不公开,但一定包含仅签名者才拥有的私钥:
- 盲化:用户将盲化因子注入待签名的消息
- 盲签名:签名者对盲化过的消息进行签名
- 去盲:用户从盲化签名(对盲化过的消息)去除盲化因子,获得去盲后的签名(待签名消息)
验证:验证者利用公开的系统参数、验证方法和签名者的公钥对给定消息的签名进行验证.
– 盲签名的性质 –
一个盲签名除了满足一般的数字签名性质外,还需要满足下面的4个性质:
完备性:如果签名者和接收者都遵守盲签名生成算法,那么盲签名验证算法将始终接受签名生成算法输出的签名(即它将始终输出「Accept」)
不可伪造性:在没有私钥的情况下,任何人不能伪造一个合法的签名
盲性:签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容
不可追踪性(广义的盲性):当签名消息被公布后,签名者无法知道这是他哪次的签署的,既使保存了他所签的每一个盲签名的记录
– 盲签名的分类 –
根据算法的功能,盲签名可以分为以下5类:
完全盲签名:由David Chaum于1987年提出,完全盲签名实现了签名的完全匿名性。任何人无法准确的追踪到签名
- 要求银行实时在线
- 导致完美犯罪
限制性盲签名:解决了电子现金的二次花费问题,限制性盲签名将用户的身份信息嵌入到签名中,当用户二次花费时可以准确的追踪到用户的身份信息
- 防止重花费
- 实现了离线银行系统
公平盲签名:「公平」是区别于普通盲签名的不可追踪性而言的,相对于一般盲签名,公平盲签名引入可信的第三方,以便在需要对签名进行追踪的情况下,为签名者准确地追踪到签名
- 防止了不法分子进行敲诈勒索以及洗黑钱等非法行为
部分盲签名:在盲签名的基础上增加一个公共信息,该公共信息由签名者和用户共同在签名之前商议得到,由签名者在签名过程中把这些公共信息嵌入签名中,且该公共信息不能被删除或非法修改
- 签名前需要签名者和用户共同协商一个公共信息
- 公共信息可以包括电子货币的有效期、面值等
群盲签名:群签名和盲签名的有机结合,兼有群签名和盲签名的特性
- 可以实现多个银行匿名地分发不可跟踪的电子现金
- 签名者无法将消息签名对与某个具体的签名协议联系起来
今天的课程就到这里啦,下节课我们将学习经典的盲签名算法,敬请期待!
同学们可以关注PlatON World,持续学习哦。我们下节课见啦。
本文转载自https://mp.weixin.qq.com/s?__biz=MzUzNTg2ODg5MQ==&mid=2247493577&idx=1&sn=391b81126f5209e25b16c7c4c5611d79&chksm=fafc437dcd8bca6b5a7e869ae6b396864bf42abd44b4977d114b05f9bd32905fdf9056908788&scene=178&cur_album_id=1411898566347735044#rd