深入剖析 Java 新特性
范学雷
前 Oracle 首席软件工程师,Java SE 安全组成员,OpenJDK 评审成员
16539 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 23 讲
深入剖析 Java 新特性
15
15
1.0x
00:00/00:00
登录|注册

15 | 现代密码:你用的加密算法过时了吗?

你好,我是范学雷。今天,我想和你聊聊 JDK 里的密码学算法相关的问题。
Java 语言安全的基础,主要有两块内容。一块是 Java 语言的安全设计,比如字节码的校验,内存保护机制等等;另外一块是 Java 平台的保护机制,比如签名的类库,资源的认证授权等等。而 Java 平台的保护机制,是建立在密码学的基础之上的。
这一次的讨论,我们从故事开始,来看看现在我们应该采用的密码学的技术,以及应该抛弃的密码学技术。

阅读案例

1976 年,是现代密码学的奠基之年。这一年,Diffie–Hellman 密钥交换协议公开发表。这是由 Ralph Merkle 构思并以 Whitfield Diffie 和 Martin Hellman 命名的第一个公钥协议。这是最早为公众所知的,提出公钥和私钥思想的著作。从这一年开始,在非安全通道上建立安全通信的想法,有了理论上的依据;现代互联网的安全,也终于有了稳固的基石。
Diffie–Hellman 密钥交换协议的论文,为密码学家展示了一个全新的大陆。有了这个方向的指引,接下来很快就有了更多的脚步踏出了新的道路。1977 年,受 Diffie–Hellman 密钥交换协议的启发,Ron Rivest、Adi Shamir 和 Leonard Adleman 公开发表了基于公开密钥的电子签名算法,也就是 RSA 算法。从此以后,要在非安全通道上识别身份、建立信任的想法,也有了理论上的依据。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

现代密码学算法的发展与演变是一个不断迭代的过程。文章从Diffie-Hellman密钥交换协议的诞生开始,介绍了RSA算法的发展历程,以及随着时间推移,传统加密技术的安全性逐渐受到挑战的情况。随着量子计算机时代的临近,对密码学算法的要求也在不断提高。文章强调了前向保密的重要性,并指出了一些过时或存在安全隐患的密码学算法,以及应该尽快替换的算法。此外,文章还提到了Java安全策略的调整和密码学算法的生命周期,强调了及时停止使用过时算法的重要性。总的来说,文章强调了密码学算法的不断变化和演进,以及对于密码学算法选择的重要性。 文章推荐了一些现在流行的、JDK支持的密码学算法,包括256位的AES算法、SHA-256、SHA-512单向散列函数、RSASSA-PSS签名算法、X25519/X448密钥交换算法以及EdDSA签名算法。这些算法被认为是可以信任的,并且强调了及时替换过期算法的重要性。同时,文章还提到了JDK 8对一些算法的支持问题,以及开发者需要关注密码学进展并解决兼容性问题的重要性。 总的来说,文章强调了密码学算法的生命周期管理,包括使用前向保密的安全协议和当前推荐的算法,及时替换过期的算法。对于开发者来说,需要关注JDK根据密码学进展作出的变动,并解决自己代码里的兼容性问题。最后,文章提出了拓展阅读的思考题,鼓励读者随时更新对密码学基本现状的认识。 总的来说,本文强调了密码学算法的不断变化和演进,以及对于密码学算法选择的重要性,同时提供了一些现在流行的、JDK支持的密码学算法,并强调了及时替换过期算法的重要性。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入剖析 Java 新特性》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • kimoti
    老师,比特币的加密算法应该是很安全的吧,他的原理是基于椭圆曲线的,Java支持吗?

    作者回复: Java支持椭圆曲线算法,椭圆曲线有很多变种的算法,安全性不能一概而论。

    2021-12-20
    1
  • 潜默闻雨
    量子计算机时代应该不能用传统加密思维了吧,非对称加密这种方式还是万变不离其宗,必须提升一个维度来适应时代的步伐,不然完全就是降维打击。

    作者回复: 目前我还不了解有新维度的思维,密码学本质上是数学。

    2021-12-24
    3
  • aoe
    已经做了笔记,保存了推荐使用的算法,下次使用时直接选老师推荐的,十分方便! 我还听说过:只要秘钥足够长,量子计算机也无法破解。一个科普工作者“科技袁人”也提到过:在量子时代,量子加密方会战胜破解一方,因为信息一旦被观察,加密方就会知道,这是由量子纠缠的物理特性决定的。

    作者回复: 没这么简单呢

    2021-12-21
  • Ankhetsin
    国密sm算法,安全吧。
    2022-01-01
    2
  • ifelse
    任何一个密码学的算法,都有它的生命周期。所以,我们要能够管理它们的生命周期。反映到代码里,就是要使用前向保密的安全协议以及当前推荐的算法;及时替换掉过期的算法。--记下来
    2022-10-13归属地:浙江
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部