简单介绍一下“前向安全”的知识(从零开始学区块链 137)

这几天在研究如何保障数据可溯源,想从前向安全的方法中得到点启发,顺便把前向安全的知识发出来供大家参考


1997年,Anderson提出了前向安全数字签名的概念。前向安全的签名把公钥的生存期划分为很多时段,每个时段的私钥各不相同,在当前时段的签名私钥泄露后不影响在泄露以前时段的私钥与签名的安全。


分类


前向安全(forward security)该定义最早是由Mihir Bellare和Sara K. Miner在 CRYPTO’99上提出的关于数字签名的性质,而perfect forward secrecy则是由Christoph G. Günther在EUROCRYPT ’89提出的,其最初用于定义会话密钥交换协议的一种安全性保证机制


完美前向安全
Perfect Forward secrecy的主要含义是:用来产生会话密钥(session key)的长期密钥(long-term key)泄露出去,不会造成之前通讯时使用的会话密钥(session key)的泄露,也就不会暴漏以前的通讯内容。简单的说,当你丢了这个long-term key之后,你以后的行为的安全性无法保证,但是你之前的行为是保证安全的。
    

Perfect的意义是包含了无条件安全的性质,大部分的forward secrecy方案是无法达到Perfect的。而forward security的保证的是:攻击者获取到了你当前的密钥,但是也无法成功伪造一个过去的签名。

弱完美前向安全
弱完美向前安全(Weak perfect forward secrecy)是较弱的属性,当代理商的长期密钥泄露,先前建立的会话密钥的保密性会被保证,但这只对恶意攻击方没有活跃干扰的会话而言。Hugo Krawczyk 在2005年提出了这个新概念,这之间的区别和转发保密。这种较弱的定义隐式地要求完美前向安全保持先前建立会话密钥的安全,即使在这个会话中恶意攻击方做活跃的干扰攻击,或试图充当中间人。


简单的说,这两个概念是用在不同的环境中,但是其意图是一样的:保证密钥丢失之前的消息安全性或签名的不可伪造性。一般而言,满足forward security的公钥环境下的签名、密钥交换或加密方案,其公钥是固定的,而密钥则随着时间进行更新。这个更新过程是单向的,因此也就保证了拿到当前的密钥,是无法恢复出以前的密钥,从而保证了前向安全。与之相对应的还有“后向安全( backward secrecy或security)”的概念


应用价值


前向安全可以广泛使用在IPsec的可选功能(RFC 2412),SSH,SSL/TLS等常见网络通讯协议中,2014年时候,由于心脏出血漏洞(存在服务器私钥泄漏的可能),没有使用前向安全的站点,加密通信的数据可以通过私钥来解密,导致信息泄漏,这使得前向安全被重视起来。


如果服务器的私钥泄漏,任何可以访问私钥的人都可以在会话建立时解密消息查看会话密钥,然后用会话密钥解密会话中交换的所有数据。所以确保你的私钥绝对私密至关重要。


但有时私钥确实会泄漏,或者因为系统被黑,或者因为有访问权限的内部人士,或者因为政府的命令。如果你知道密钥已经暴露了,可以生成新的公私密钥对和新的证书,把旧证书撤销掉,这样客户端就不会再接受它(这一步很重要,否则拿到旧私钥的人仍然可以用旧证书冒充你)。但这样只是照顾到了将来的数据交换,如果窃取了私钥的人监测并记录下了以前的会话,他们仍能用旧密钥解密并查看以前会话中交换的数据。


完美前向安全的保护方法甚至连这种回溯性破解也可以防护。它为客户端和服务器端提供了一种为会话创建共享密钥的办法,而这个密钥不会暴露给任何监测数据交换的人,即便监测者能够得到服务器的私钥,只要它只是个监测者而不是中间人。


实现原理


常见的前向安全标准实现是采用某种Diffie-Hellman 密钥交换。Diffie-Hellman 的基本思想是利用整数模素数群的乘法性质。计算某个数的幂在群中的值很容易,即便这个群和幂都很大也没关系。但用已知的数学知识做逆向计算非常困难,即给定一个数和一个值,很难根据这个群中的值算出这个数的幂是多少(这被称为离散对数问题)。Diffie-Hellman 密钥交换的双方都使用相同的群和原根,但所用的幂和生成的值不同,然后他们互相交换由各自的幂生成的值。最终双方都得到了一个结合了两个私密幂的共享值。任何监测数据交换的人要想得到私密幂,都要做逆向工作去解决计算困难的离散对数问题,并且只要值足够大,以现有的技术计算出结果所需要的时间让这种计算失去了实际意义。


关于本文

前向安全方面的资料非常少,我觉得弄懂原理即可,密码学是非常细分的专业,您也可以将本文分享出去让更多人关注,您的支持和鼓励是我最大的动力,长按二维码关注

640?wx_fmt=jpeg
长按关注,看到未来


相关内容阅读

区块链安全体系介绍(从零开始学区块链 75)

面对Grover量子算法区块链安全吗(从零开始学区块链 49)

一文让你成为区块链安全专家(从零开始学区块链 101)

你必须知道的椭圆曲线算法(从零开始学区块链 31)

密码小故事合集,汇总原来的密码文章

让暴力破解者吃蜂蜜吧(干货分享)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值