原文链接: https://en.wikipedia.org/wiki/Forward_secrecy

在密码学中,pfs(perfect forward secrecy)是安全通信协议的一个属性。pfs保护过去的会话以免在未来秘钥或密码的(泄露)造成的危害。因为对手或恶意方会活跃地干扰,导致长期秘钥(long-term secret keys)或者密码在未来可能被泄露,但是如果使用了pfs,即使秘钥被泄露,过去的加密的通信和会话记录也不会被恢复和解密。

目录
1.历史
2.前向保密(Forward secrecy)
3.攻击
4.弱完美前向保密(Weak perfect forward secrecy)
5.协议
6.使用
7.另请参阅
8.引用
9.外部链接

历史
术语"perfect forward secrecy"在1990年被 C. G. Günther提出,在1992年被 Whitfield Diffie, Paul van Oorschot, and Michael James Wiener 进一步讨论,它过去常常被描述为是站到站协议(Station-to-Station protocol)的属性。pfs也常常被描述为密码认证秘钥协定的类似属性,在这里长期秘钥是一个(共享的)密码。

附件D.5.1 IEEE 1363 - 2000讨论相关的一方和两方前向保密提出各种标准的保密性能关键协议方案(对两方提出保密性质比较下面2 wipfs:“2-Way-Instant-Forward-Perfect-Secrecy”)。

----------------------------
前向保密(Forward secrecy)

拥有前向保密属性的公钥系统,能为每一个session生成一个随机的公钥来完成一个秘钥协定,不使用一个确定性算法(deterministic algorithm)。这意味着一条信息的泄露不会泄露其它消息,同时不存在一个秘密值(secret value),它被获取将会泄露多条信息。

被一次性密码本(one-time pads)所演示的完美保密并不会令人困惑:当它被恰当地使用,一次性密码本将包含多个部分,用私钥商定一组临时秘钥来通信--没有一个 正式秘钥协定系统--只为每条消息使用一个秘钥。

这句翻译的比较别扭,原文如下: This is not to be confused with the perfect secrecy demonstrated by one-time pads: when it is used properly, the one-time pad involves multiple parties agreeing on a set of disposable keys by communicating it fully in private—without a formalized key agreement system—and then using each key for one message only.

------------------------------
攻击(Attacks)
前向保密被设计来阻止长期秘钥的泄露,以免影响到过去会话的机密性。然而,前向保密不能抵御成功地使用了底层密文(underlying ciphers)的密码分析 。
因为有办法去解密一条加密的消息的密码分析不需要通过秘钥,所以说前向保密只能保护秘钥,而不是密文(ciphers)本身。
一个疯狂的攻击者能够捕获通过使用公钥密码学(public-key cryptography )加密来保证机密性的谈话,直到底层密文(ciphers)被攻破了。(比如大量的量子计算机能够快速地计算出离散对数问题)。这将允许在系统中的旧明文的恢复能利用向前保密。

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

-----------------------------
协议

本节过度依赖于对主要来源的引用。请通过添加二级或三级来源来改善这个部分。(2015年12月)(学习如何以及何时删除该模板消息)

前向保密出现在几个主要协议实现中,如SSH和作为IPsec(RFC 2412)的一个可选的特性。非正式的消息,被许多即时消息的客户使用的加密协议和库(library),提供了向前保密以及可否认的加密。
在传输层安全协议(TLS),基于pfs的(DHE-RSA、DHE-DSA)和椭圆曲线Diffie-Hellman-(ECDHE-RSA、ECDHE-ECDSA)的diffie-hellman秘钥交换是可用的。从理论上讲,自SSLv3版本开始,TLS可以选择适当的密码,但在日常实践中许多实现拒绝提供向前保密或只提供非常低的加密等级。[9]

OpenSSL从1.0版本开始支持使用椭圆曲线向前保密diffie-hellman ,计算开销大约15%。[11]
信号协议使用双棘轮算法(Double Ratchet Algorithm)提供保密。[12]协议是于2014年2月由 Open Whisper Systems在2013年首次引入信号应用。[14]它已经被WhatsApp,Facebook Messenger,和 Google Allo紧密相联的, “全世界超过十亿人“”使用此加密的谈话。[15]
WPA,另一方面,不支持向前保密中流行目前使用协议。

----------------------------------------
使用

向前保密被视为一个重要的安全特性由几家大型网络信息提供者。自2011年底以来,谷歌提供了向前保密与TLS默认用户的Gmail服务,Google Docs服务,加密的搜索服务。[10]自2013年11月,Twitter提供的保密与TLS转发给用户。[16]维基百科维基媒体基金会主办的2014年7月以来都提供保密转发给用户。

Facebook的调查报告电子邮件加密,截至2014年5月,74%的主机支持STARTTLS还提供保密。[18]截至2016年6月,51.9%的TLS-enabled网站配置为使用密码套件,为现代web浏览器提供向前保密。[19]

在WWDC 2016年,苹果公司宣布所有iOS应用程序将需要使用“At”(应用程序传输安全性),一个强制使用HTTPS传输特性。具体来说,ATS需要使用加密的密码提供保密。[20]at将成为应用程序强制1月1日,2017年。

附录:

更多深入的资料请参考:

perfect forward secrecy 百度百科(此资料讲得更清楚更深入)

SSL/TLS & Perfect Forward Secrecy

TLS完美前向保密(perfect forward secrecy)翻译相关推荐

  1. 移动语义(move semantic)和完美转发(perfect forward)

    完整原文链接:https://codinfox.github.io/dev/2014/06/03/move-semantic-perfect-forward/ 移动语义(move semantic) ...

  2. 前向传播算法(Forward propagation)与反向传播算法(Back propagation)

    虽然学深度学习有一段时间了,但是对于一些算法的具体实现还是模糊不清,用了很久也不是很了解.因此特意先对深度学习中的相关基础概念做一下总结.先看看前向传播算法(Forward propagation)与 ...

  3. 前向渲染(Forward Rendering)和延迟渲染(Deferred Rendering)

    前向渲染(Forward Rendering) 它的实现最贴合我们的思维逻辑,当我们渲染模型时,只需要关心画模型然后直接处理光照,让它自己去做深度测试,最后深度测试过的都显示在屏幕上. 1.对要渲染的 ...

  4. OpenJudge 2810(1543) 完美立方 / Poj 1543 Perfect Cubes

    1.链接地址: http://bailian.openjudge.cn/practice/2810/ http://bailian.openjudge.cn/practice/1543/ http:/ ...

  5. 检测到弱密码套件:不支持完全前向保密

    服务器支持以下较弱的密码套件: ID 名称 SSL 版本 47 TLS_RSA_WITH_AES_128_CBC_SHA TLS 1.2 53 TLS_RSA_WITH_AES_256_CBC_SHA ...

  6. 【现代机器人学】学习笔记三:前向运动学(Forward Kinematics)

    这节的内容比较简单,主要配合习题来看. 在掌握方法以后,对常规的有许多移动副或转动副结构组成的机械臂,计算正向运动学则非常简单. 齐次变换法: 这种方法的特点是,只研究当前关节和上一个关节的旋转平移, ...

  7. [USACO4.2]完美的牛栏The Perfect Stall

    https://www.luogu.org/problemnew/show/P1894 题解:网络流+最大流 /* *@Author: STZG *@Language: C++ */ #include ...

  8. 数据结构(c++)学习笔记--图的应用

    文章目录 一.双连通分量 1.判定法则 2.算法 3.实例 二.优先级搜索 1.通用算法 2.算法 3.复杂度 三.Dijkstra算法 1.最短路径 2.最短路径树 3.实例 4.实现 四.Prim ...

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

    这几天在研究如何保障数据可溯源,想从前向安全的方法中得到点启发,顺便把前向安全的知识发出来供大家参考 1997年,Anderson提出了前向安全数字签名的概念.前向安全的签名把公钥的生存期划分为很多时 ...

  10. Node.js TLS/SSL

    Stability: 3 - Stable 可以使用 require('tls') 来访问这个模块. tls 模块 使用 OpenSSL 来提供传输层(Transport Layer)安全性和(或)安 ...

最新文章

  1. html滑块数值怎么显示,显示HTML5滑块值旁边的百分比
  2. 基于FPGA的LED点阵系统开发
  3. pku2229--sumsets(zjgsu,分花)
  4. 安卓飞机大战(三) 弹出对话框
  5. keras从入门到放弃(十八)批量标准化
  6. 怎么看mysql的最大连接数_怎么查看和修改 MySQL 的最大连接数?
  7. 完全独立与IIS的后门
  8. 波动速读入门训练(含黄卡、曼陀螺使用方法)提供卡片
  9. System.arraycopy()方法详解-jdk1.8
  10. 人体一机竞技格斗机器人_在格斗机器人比赛中,如何判断输赢?
  11. TCP/IP——从wireshark看TCP(一)
  12. 解决项目无法读取src/main/java目录下面的配置文件问题
  13. Bing 无法访问临时解决方案
  14. python 不能读取xlsx格式的excel解决方案,安装1.2.0版本
  15. 【云原生之企业级容器技术 Docker实战一】Docker 介绍
  16. git excel冲突_Excel宏名称冲突
  17. linux万能显卡,Linux N卡驱动年终盘点:干得漂亮
  18. 十年 史玉柱从道德和创业的神坛回到人间
  19. 数字化绿色化协同发展白皮书
  20. 2848. 华师大卫星照片

热门文章

  1. python 回溯法 01背包问题_Python基于回溯法解决01背包问题实例
  2. 使用Comparator.comparing根据类的属性对list进行排序
  3. 中南大学计算机2020研究生分数线,中南大学2020年考研复试分数线已公布
  4. oracle表级附加日志视图,Oracle 附加日志(supplemental log)
  5. setTimeout的隐藏小知识
  6. 梅特勒-托利多 TCS-35 电子台秤
  7. 软件设计 抽象_调试抽象给软件工程师带来正念的好处
  8. iframe异步加载技术及性能转
  9. 闲人博上介绍R语言的一篇好文章
  10. 基于GIS的三维智慧警务系统