对称加密的对称密钥分发
对称加密的对称密钥分发
密钥分发的可能方式
1、A选择一个密钥后以物理的方式传递给B
2、第三方选择密钥后物理地传给A和B
3、如果A和B先前或最近使用过一个密钥,则一方可以将 新密钥用旧密钥发送给另一方
4、如果A和B到第三方C有加密连接,则C可以在加密连接上发送密钥给A、B
分析:
1和2都需要人工交付,对链路加密(设备一对一连接)可行,对网络通信则不可行,因为网络通信涉及大量密钥
对于3,一旦攻击者获得一个密钥,则后序所有密钥便都不再安全。
4需要第三方即密钥分发中心,在网络通信中得到了广泛的应用。
密钥分发方案
基本原理:密钥分发中心KDC和每个终端用户都共享一对唯一的主密钥(用物理的方式传递,如U盾)。终端用户之间每次会话,都要向KDC申请唯一的会话密钥,会话密钥通过与KDC共享的主密钥加密来完成传递。
典型方案描述
1、A以明文形式向KDC发送会话密钥请求包。包括通话双方A、B的身份以及该次传输的唯一标识N1,称为临时交互号(nonce)。
临时交互号可以选择时间戳、随机数或者计数器等。KDC可根据临时交互号设计防重放机制。
2、KDC返回的信息包括两部分。
第一部分是A想获取的信息,用A的主密钥KA加密,包括通话密钥Ks和KDC收到的请求包内容用以验证消息到达KDC前是否被修改或者重放过。
第二部分是B想获取的信息,用B的主密钥KB加密,包括通话密钥Ks和A的身份。A收到后这部分消息便原样发给B。
3、为保证A发给B的会话密钥信息未被重放攻击,A、B使用会话密钥进行最后的验证。
B使用新的会话密钥Ks加密临时交互号N2并发给A。A对N2进行一个函数变换后,用会话密钥发给B验证。
对于大型网络,可以建立KDC的层次体系来使得主密钥分发的开销最小化。
透明的密钥控制方案
其中心思想是通过设定专门的会话安全单元(SSM)来完成代表主机、获取会话密钥和加密会话消息的功能
分布式的密钥控制方案
该方案的核心思想是将每个终端都兼职干KDC的活。这显然大大增加了主密钥的数量(N(N-1)/2个),适合一些对KDC安全性要求高的中小系统。
Km是AB共享的主密钥。
会话密钥生命周期
对于面向对象的协议,在会话整个生命周期中使用同一个会话密钥,为每次新的会话使用新的会话密钥。若一个会话的生命周期很长,则周期性改变会话密钥。
对于无连接的协议如面向事务的协议,则可约定时间或者数量分配不同的会话密钥
控制密钥的使用
目的:
1、通过某种标识区分密钥的种类及使用范围
2、避免主密钥作为数据加密密钥带来的安全风险
控制向量解决方案:
1、KDC生成会话密钥Ks,同时使用一个控制向量CV,根据约定的规范描述会话密钥的用法和限制。然后用以下公式生成消息返回给用户。
C = E([Km⊕h(CV)] , Ks) || CV h为Hash函数 Km是用户主密钥
2、用户可直接通过逆操作还原会话密钥 Ks = D([Km⊕h(CV)] , E([Km⊕h(CV)] , Ks))
这样,通过将主密钥与CV异或避免了主密钥可能的暴露,同时也规范了会话密钥的使用。
对称加密的对称密钥分发相关推荐
- 【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )
文章目录 一.对称加密原理 二.非密钥整数倍长度的数据加密处理 一.对称加密原理 给定一个 密钥 , 密钥的 长度不确定 , 可能是 323232 字节 , 也可能是 646464 字节 ; 将 被加 ...
- 对称密钥加密算法 对称轮数_选择Java加密算法第2部分–单密钥对称加密
对称密钥加密算法 对称轮数 抽象 这是涵盖Java加密算法的三部分博客系列的第2部分. 该系列涵盖如何实现以下功能: 使用SHA–512散列 AES–256 RSA–4096 这第二篇文章详细介绍了如 ...
- 选择Java加密算法第2部分–单密钥对称加密
抽象 这是涵盖Java加密算法的三部分博客系列的第2部分. 本系列介绍如何实现以下目标: 使用SHA–512散列 AES–256 RSA–4096 这第二篇文章详细介绍了如何实现单密钥对称AES-25 ...
- mysql 非对称密钥_sqlser 2005 对称加密,非对称加密笔记
一:对称加密 原始明文---密钥---加密数据---密钥---原始明文 速度快,通过算法将明文混淆,占用系统资源少 二:非对称加密 加密解密速度慢,较高的系统资源占用 三:混合数据加密 加密过程:随机 ...
- 【上】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
此文章转载来源于http://blog.csdn.net/tenfyguo/article/details/40922813点击打开链接 一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码 ...
- 对称加密与非对称加密,以及RSA的原理
一 , 概述 在现代密码学诞生以前,就已经有很多的加密方法了.例如,最古老的斯巴达加密棒,广泛应用于公元前7世纪的古希腊.16世纪意大利数学家卡尔达诺发明的栅格密码,基于单表代换的凯撒密码.猪圈密码, ...
- 对称加密/非对称加密
原文链接:https://blog.csdn.net/aminy123/article/details/81871092 一.对称加密: 对称加密,即采用对称的密码编码技术,他的特点是,加密和解密使用 ...
- java祖冲之加密算法_对称加密和非对称加密
一 非对称加密 非对称加密和解密花费的时间长 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey),一般使用公钥进行加密,使用私钥进行解密. 常见的非对称加密 ...
- 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码时一样d(e=d),我们就将其统称为密钥k. 对称加解密的过程如下: 发送端和接收端首先要共享相同的密钥k(即通信前双方都需要知道对应的密 ...
最新文章
- 什么是AWS Lambda?——事件驱动的函数执行环境
- C++知识点57——类模板(2、类模板的局部特化与默认模板实参)
- python plot方法的使用_【python】matplotlib.pyplot入门
- String转int,int转String
- 《Android游戏开发详解》一2.18 使用Java API中的对象
- linux boot分区作用,Linux和Uboot下eMMC boot分区读写
- DPDK 实现的不完全笔记
- JRuby--Java和Ruby的强强联合 Centos7.X
- 若干小球碰撞的一种暴力解题法
- 微信公众号微信网页开发网页授权/回调自定义参数问题处理方法。
- 谷歌搜索技巧大全,google高级搜索语法指令怎么用
- 判断矩形是否重叠 Python
- simulink 快捷键 运行_高效使用simulink
- java/php/net/python守望先锋网站设计
- hinet邮箱密码可以破解?
- Liquibase学习4 - 管理changelog
- htc 8x android,颠覆之作的探究,HTC 8X拆解多图欣赏
- js根据文字(保存大小,字体)计算文字长度,并根据容器显示省略号
- 【red hat设置用户密码】passwd命令设置初始口令
- iOS获取视频文件大小和时长
热门文章
- JavaScript 数组拼接打印_8种常见数据结构及其Javascript实现
- 360手机卫士插件化RePlugin今日开源,官方全面解读
- 对DB,DBMS的理解
- 《树莓派笔记》树莓派GPIO管脚实物参照图
- 基于vue考研助手网站
- 内网安装管家婆软件如何实现外网访问?内网穿透的几种方案教程
- System.Web.Services.Protocols.SoapException: 服务器无法处理请求
- 数字音频总线A2B开发详解七(A2B一主两从系统配置详解-D主B1和B2从)
- 消息钩子与定时器(VC_Win32)
- MATLAB中ode45()和Runge-Kutta算法(4阶)的比较