实用密码学
范学雷
前 Oracle 首席软件工程师,Java SE 安全组成员,OpenJDK 评审成员
14948 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 24 讲
开篇词 (1讲)
课前必读 (1讲)
案例分析 (1讲)
实用密码学
15
15
1.0x
00:00/00:00
登录|注册

20 | 综合案例:如何解决约会难题?

你好,我是范学雷。
今天是我们正式篇的最后一讲了,我们这场密码学之旅就要暂时结束了。还记得我们第一次的讨论吗?那时候,我们讨论了牛郎织女约会会碰到的困难,详细地分析了每一个障碍。
当时,我们说密码学可以解决牛郎织女的约会难题。这一路走来,每多学习一点知识,我都会再提一次这个难题,不知道你对这个问题,是不是有了很多新的认识和想法?
现在,我们已经学习了对称密码系统的基本框架了,一切有终有始,我们是时候回头看看,能不能使用我们学到的知识,来帮助牛郎织女解决好他们的约会问题了。

回顾一下约会难题

我们先来看一看第一次讨论时,我们罗列出来的问题。牛郎和织女需要考虑的问题主要有五点:
问题一:怎么证明双方的身份?
问题二:怎么能使消息不泄露?
问题三:怎么防止内容被篡改?
问题四:怎么确保信件能收到?
问题五:怎么防止翻脸不认账?
然后,我们通过这五个问题,分析出来了信息安全的六个需求:
需求一:识别身份,确定牛郎就是牛郎;
需求二:认证身份,验证牛郎就是牛郎;
需求三:管理特权,授予织女看信权利;
需求四:信息保密,没有权限不能看信;
需求五:信息完整,保护内容不被篡改;
需求六:信息可用,保持信息获取能力。
我们还提到,一般地,对称密码技术可以通过加密、解密,解决“机密性”的问题;单向散列函数可以解决“完整性”问题;非对称密码技术可以解决授权和认证的问题。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了如何使用密码学技术解决牛郎织女约会中的安全问题。作者详细讨论了解决机密性问题的关键步骤,包括对称密钥的生成、选择密码学算法以及使用共同的秘密来生成对称密钥。在选择密码算法时,作者建议使用带关联数据的认证加密算法(AEAD算法),并详细介绍了如何选择和使用ChaCha20/Poly1305算法。通过具体案例和技术细节,展示了如何运用密码学技术解决实际生活中的安全问题。文章还提出了解决牛郎不能翻脸不认账的问题,但尚未解决织女翻脸不认账的问题,留下了改进方案的思考题。整体而言,本文通过深入的技术讨论,为读者展示了密码学技术在解决实际生活安全问题中的应用和挑战。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《实用密码学》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(11)

  • 最新
  • 精选
  • 草帽寒风
    用对称密钥实现不可抵赖性感觉还是不太行,还是得用非对称加密,不然织女可以利用共同知识伪造信息,说是牛郎发来的。

    作者回复: 是的。

    2021-11-23
    2
    2
  • qinsi
    王母娘娘的对策: * 把指向织女住所的路标改成指向别的地方 * 发现是飞往织女住所的喜鹊一律请去喝茶 * 发现有些地方在偷偷给织女转发二次打包的信件,于是规定收信的单位必须先报备,不报备不允许收信 * 发现运送采用未知加密手段的信件的喜鹊一律请去喝茶,宁可错杀不可放过

    作者回复: + 如果收信地址不详,一律截留。

    2021-01-08
    1
  • 孜孜
    让喜鹊带一封回执信回去。但是如果织女收到信后把喜鹊关起来,那就没办法了。

    作者回复: 哈哈,织女关喜鹊的动机是什么?

    2021-01-08
    1
  • godliness
    这其实就是 TLS 要解决的问题。综合使用非对称、对称加密算法协商出用于数据加密的会话密钥。过程中关键的第三个随机数 pre-master 必须保证其机密性。 私钥签名实现身份认证和不可否认;对称加密实现机密性、AEAD/HMAC 同时实现完整性校验。数字证书解决公钥信任问题。

    作者回复: 赞!

    2023-10-20归属地:湖北
  • qinsi
    PBKDF2只迭代一次是认真的吗...

    作者回复: 哈哈,常用的迭代数目是1万。我选用1次的时候,还在想,会不会有人问1次安全强度够不够?1次的安全强度是不够的,但是要讲清楚迭代次数的影响,需要很多篇幅。要了解更深入,自己去查查PBKDF2的规范吧。具体到这个例子,迭代次数还不是最大的安全问题。

    2021-01-08
  • 小动物
    通过回执来回确认来判断是否都收到了信息。但这会有鸡生蛋蛋生鸡的问题,我怎么知道对方知道我知道了。所以要多次确认。但具体几次确认才能完全确认有些绕迷糊了。 若真的无限循环了,那就可以通过概率来确认,每次消息发送时附带上时间戳,目的是让双方都知道每次消息传输的耗时。然后通过耗时来估计最后一条消息是否在预定时间前送达了。

    作者回复: 看看TCP协议怎么设计的?

    2021-01-08
    2
  • 彩色的沙漠
    在实际应用不可抵赖性更多是发送方发的信息不可抵赖,也就是说发送方A把信息发送给接收方B了,那么A是不可抵赖的,AEAD的话就是我们具有共同的秘密,非对称加密的私钥只有发送方有可以确认身份不可抵赖的。但对于接收方是否收到信息不可抵赖在实际场景很少涉及。在网络里面会选中是否可靠的通信协议来保证通信的质量。
    2021-01-21
    2
  • ifelse
    一般地,对称密码技术可以通过加密、解密,解决“机密性”的问题;单向散列函数可以解决“完整性”问题;非对称密码技术可以解决授权和认证的问题。--记下来
    2022-11-12归属地:浙江
  • ifelse
    学习打卡
    2022-11-12归属地:浙江
  • Pure White
    感觉仍然没办法传递,中间人直接截获信件,重新写一封信给织女就完事了
    2021-06-06
    1
收起评论
显示
设置
留言
11
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部