第三十个知识点:大致简述密钥协商中的BR安全定义。
第三十个知识点:大致简述密钥协商中的BR安全定义。
在两方之间建密钥共享是一件密码学中古老的问题。就算只考虑定义也比标准加密困难的多。尽管古典的Diffie-Hellman协议在1976年思路解决了这个问题,但是它没有认证机制。就是说密钥能和任何人协商。这会导致中间人攻击。
为了阻止这样或者其它的攻击,我们需要一个安全定义。当定义一个密钥交换的安全性有两种主要的方法。一个是基于符号模型的,一个是基于计算模型的。在经典的论文BAN logic之后,符号模型在90年代开始流行,形式化的技术被用于分析和建模。符号模型擅长定义攻击,但是很难定义所有种类攻击的底层逻辑,因此该模型中的分析不能提供很好的安全性保证,但是可以半自动使用定理证明。
在他们开创性的1993年论文中,Bellare和Rogaway在一个计算模型中为经过身份验证的密钥交换创建了一个基于博弈的安全定义,类似于用于加密的IND-CPA和IND-CCA定义。在这个模型中,密码原语并不是不可破解的,而是通过计算对手在安全游戏中的“优势”来量化其成功概率。我们希望包含的对手的主要特征是所有的通信都在对手的控制之下:它们可以读取、修改、延迟和重播消息。它们还可以与其他方同时运行协议的任意数量的实例。安全博弈背后的直觉是,对手让一方接受约定密钥的唯一方法是从真正的协议运行中转发诚实的消息,在这种情况下,他们不可能学到任何新东西。
安全博弈由许多不同的问询组成,攻击者可以使用这些问询。主要的三个问询就是corruption oracle,允许对手控制选定的一方;key registration oracle,任何选定的用户都能注册一个公钥;message oracle,传递消息主要的问询。注意,消息不是在参与者之间直接发送的,相反,对手使用message oracle来发送消息。
message oracle是一个允许攻击者和多方创建协议会话的主要问询(目标是建立一个短期的密钥共享),然后发送消息。当进行问询,他们能够进行下面的动作:
- 在两个用户之间开始一个新会话。
- 获得任何一个中止会话的密钥。
- 在一个存在的会话中发送消息,并得到回应。
安全博弈遵循一个real-or-random范例,通过选择一个秘密的bit---\(b\)。如果\(b=0\),那么攻击者被给一个随机的密钥,否则它获得一个真实的密钥。在和问询交互后,攻击者选择一个已经中止的会话,这个会话的两方都没有被破坏,同时密钥也没有泄露,攻击者获得这个会话的密钥。如果攻击者猜对了\(b\),就赢了。
如果任何攻击者的策略的概率都不比随机猜测好,那么就说这个协议是一个安全可认证的密钥交换协议。当然,上面的提纲只是一个粗略的草图,论文中还有很多细节。
第三十个知识点:大致简述密钥协商中的BR安全定义。的更多相关文章
- SSL密钥协商过程分析
一.说明 尽管做过证书生成.双向认证.SSL通信编程等事情,但一直不清楚SSL如何完成密钥交换.看网上的资料则众说纷纭,最近和朋友学习时聊到了这个问题,然后正巧上周处理客户反馈SSL版本过低时领导也想 ...
- SSL/TLS/WTLS原理(密钥协商的形象化比喻:验证服务器的身份,用服务器的公钥协商加密格式,然后再加密具体的消息,TCP传递SSL处理后的数据)good
一 前言 首先要澄清一下名字的混淆: 1 SSL(Secure Socket Layer)是netscape公司设计的主要用于web的安全传输协议.这种协议在WEB上获得了广泛的应用. 2 IETF( ...
- Diffie-Hellman密钥协商算法
一.概述 Diffie-Hellman密钥协商算法主要解决秘钥配送问题,本身并非用来加密用的:该算法其背后有对应数学理论做支撑,简单来讲就是构造一个复杂的计算难题,使得对该问题的求解在现实的时间内无法 ...
- Linux新手要了解的十个知识点
Linux对于有的新手来说,感觉无从下手,或者不知道从哪儿学起?怎么学?针对这些问题,我给大家说说新手学习Linux需要了解的十个知识点. 注意大小写 Linux是大小写敏感的系统,举个例子,Mozi ...
- Libreswan软件的密钥协商协议IKEv1主模式实现分析
Libreswan软件的密钥协商协议IKEv1主模式实现分析 1 协商过程 IKEv1(互联网密钥交换协议第一版)是IPsec VPN隧道协商使用的标准密钥协商协议,其协商过程如下图所示. 总共来回交 ...
- HTTPS 和 SSL/TLS 协议:密钥交换(密钥协商)算法及其原理
转自:https://blog.csdn.net/andylau00j/article/details/54583769 本系列的前一篇,咱们聊了“密钥交换的难点”以及“证书体系”的必要性.今天这篇来 ...
- 第五十个知识点:什么是BLS基于对的签名方案?
第五十个知识点:什么是BLS基于对的签名方案? BLS签名方案使用了椭圆曲线上了Weil对,本质上是一个在曲线上除n划分的双线性形式,使用 \(n^{th}\) 个单位根. 假设我们有一个椭圆曲线\( ...
- 第二十个知识点:Merkle-Damgaard hash函数如何构造
第二十个知识点:Merkle-Damgaard hash函数如何构造 这里讲的是MD变换,MD变换的全称为Merkle-Damgaard变换.我们平时接触的hash函数都是先构造出一个防碰撞的压缩函数 ...
- 自学 iOS – 三十天三十个 Swift 项目
自学 iOS – 三十天三十个 Swift 项目 github源码地址:https://github.com/allenwong/30DaysofSwift
随机推荐
- 非寻常方式学习ApacheTomcat架构及10.0.12源码编译
概述 开启博客分享已近三个月,感谢所有花时间精力和小编一路学习和成长的伙伴们,有你们的支持,我们继续再接再厉 **本人博客网站 **IT小神 www.itxiaoshen.com 定义 Tomcat官 ...
- 日常Java 2021/10/11
抽象类 所有对象都是通过类描述的,但不是所有的类都是用来描述对象,就好比抽象类,此类中没有足够的信息描述一个对象. 抽象类不能实例化对象,所以抽象类必须的继承,才可以使用. 抽象方法 Abstract ...
- Web安全学习二
目录 常见漏洞攻防 SQL注入 注入分类 按技巧分类 按获取数据的方式分类 注入检测 权限提升 数据库检测 绕过技巧 CheatSheet SQL Server Payload MySQL Paylo ...
- 【STM32】WS2812介绍、使用SPI+DMA发送数据
这篇要使用到SPI+DMA,需要了解的话,可以参考我另两篇博客 时钟:https://www.cnblogs.com/PureHeart/p/11330967.html SPI+DMA通信:https ...
- ubantu打开摄像头失败
摘要-针对ubantu20 sudo apt install v4l-utils v4l2-ctl --list-devices - cv2 install on ubantu20```针对ubant ...
- Initialization of data members
In C++, class variables are initialized in the same order as they appear in the class declaration. C ...
- leetcode,两个排序数组的中位数
先上题目描述: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 . 请找出这两个有序数组的中位数.要求算法的时间复杂度为 O(log (m+n)) . 你可以假设 nums1 和 ...
- 将前端请求中的数据绑定到Spring MVC响应方法中参数的四种方法
一.映射URL绑定的占位符到方法参数 1.方法 使用@PathVariable注解 2.代码示例 a.接收请求方法 @RequestMapping(value = "/deleteInfo/ ...
- 如何优雅正确地通过interrupt方法中断线程
为什么废弃Thread的stop函数? 简单来说就是stop方法中断线程太过暴力随意,且会是否线程持有的锁,会导致线程安全问题.还有可能导致存在需要被释放的资源得不到释放,引发内存泄露.所以用stop ...
- 【阿菜做实践】利用go语言写一个简单的Pow样例
本篇博客的主要内容是用go写一个简单的Proof-of-Work共识机制,不涉及到网络通信环节,只是一个本地的简单demo.开发IDE用的是JB Golang. 整个项目的文件结构如下: PoWdem ...