对称加密的对称密钥分发

密钥分发的可能方式

  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异或避免了主密钥可能的暴露,同时也规范了会话密钥的使用。

对称加密的对称密钥分发相关推荐

  1. 【C 语言】文件操作 ( 文件加密解密 | 加密解密原理 | 对称加密原理 | 非密钥整数倍长度的数据加密处理 )

    文章目录 一.对称加密原理 二.非密钥整数倍长度的数据加密处理 一.对称加密原理 给定一个 密钥 , 密钥的 长度不确定 , 可能是 323232 字节 , 也可能是 646464 字节 ; 将 被加 ...

  2. 对称密钥加密算法 对称轮数_选择Java加密算法第2部分–单密钥对称加密

    对称密钥加密算法 对称轮数 抽象 这是涵盖Java加密算法的三部分博客系列的第2部分. 该系列涵盖如何实现以下功能: 使用SHA–512散列 AES–256 RSA–4096 这第二篇文章详细介绍了如 ...

  3. 选择Java加密算法第2部分–单密钥对称加密

    抽象 这是涵盖Java加密算法的三部分博客系列的第2部分. 本系列介绍如何实现以下目标: 使用SHA–512散列 AES–256 RSA–4096 这第二篇文章详细介绍了如何实现单密钥对称AES-25 ...

  4. mysql 非对称密钥_sqlser 2005 对称加密,非对称加密笔记

    一:对称加密 原始明文---密钥---加密数据---密钥---原始明文 速度快,通过算法将明文混淆,占用系统资源少 二:非对称加密 加密解密速度慢,较高的系统资源占用 三:混合数据加密 加密过程:随机 ...

  5. 【上】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS

    此文章转载来源于http://blog.csdn.net/tenfyguo/article/details/40922813点击打开链接 一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码 ...

  6. 对称加密与非对称加密,以及RSA的原理

    一 , 概述 在现代密码学诞生以前,就已经有很多的加密方法了.例如,最古老的斯巴达加密棒,广泛应用于公元前7世纪的古希腊.16世纪意大利数学家卡尔达诺发明的栅格密码,基于单表代换的凯撒密码.猪圈密码, ...

  7. 对称加密/非对称加密

    原文链接:https://blog.csdn.net/aminy123/article/details/81871092 一.对称加密: 对称加密,即采用对称的密码编码技术,他的特点是,加密和解密使用 ...

  8. java祖冲之加密算法_对称加密和非对称加密

    一  非对称加密 非对称加密和解密花费的时间长 非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey),一般使用公钥进行加密,使用私钥进行解密. 常见的非对称加密 ...

  9. 安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS

    一,对称加密 所谓对称加密,就是它们在编码时使用的密钥e和解码时一样d(e=d),我们就将其统称为密钥k. 对称加解密的过程如下: 发送端和接收端首先要共享相同的密钥k(即通信前双方都需要知道对应的密 ...

最新文章

  1. 什么是AWS Lambda?——事件驱动的函数执行环境
  2. C++知识点57——类模板(2、类模板的局部特化与默认模板实参)
  3. python plot方法的使用_【python】matplotlib.pyplot入门
  4. String转int,int转String
  5. 《Android游戏开发详解》一2.18 使用Java API中的对象
  6. linux boot分区作用,Linux和Uboot下eMMC boot分区读写
  7. DPDK 实现的不完全笔记
  8. JRuby--Java和Ruby的强强联合 Centos7.X
  9. 若干小球碰撞的一种暴力解题法
  10. 微信公众号微信网页开发网页授权/回调自定义参数问题处理方法。
  11. 谷歌搜索技巧大全,google高级搜索语法指令怎么用
  12. 判断矩形是否重叠 Python
  13. simulink 快捷键 运行_高效使用simulink
  14. java/php/net/python守望先锋网站设计
  15. hinet邮箱密码可以破解?
  16. Liquibase学习4 - 管理changelog
  17. htc 8x android,颠覆之作的探究,HTC 8X拆解多图欣赏
  18. js根据文字(保存大小,字体)计算文字长度,并根据容器显示省略号
  19. 【red hat设置用户密码】passwd命令设置初始口令
  20. iOS获取视频文件大小和时长

热门文章

  1. JavaScript 数组拼接打印_8种常见数据结构及其Javascript实现
  2. 360手机卫士插件化RePlugin今日开源,官方全面解读
  3. 对DB,DBMS的理解
  4. 《树莓派笔记》树莓派GPIO管脚实物参照图
  5. 基于vue考研助手网站
  6. 内网安装管家婆软件如何实现外网访问?内网穿透的几种方案教程
  7. System.Web.Services.Protocols.SoapException: 服务器无法处理请求
  8. 数字音频总线A2B开发详解七(A2B一主两从系统配置详解-D主B1和B2从)
  9. 消息钩子与定时器(VC_Win32)
  10. MATLAB中ode45()和Runge-Kutta算法(4阶)的比较