秘钥托管技术简介

目录

前言

一、秘钥托管是什么?

二、秘钥托管技术简介

1. Skipjack算法

2. LEAF产生过程示意图

3. 对加密通信的法律实施存取过程

总结



前言

1993年4月,美国政府为了满足其电信安全、公众安全和国家安全,提出了托管加密标准EES (escrowed encryption standard)。

该标准所使用的托管加密技术不仅提供了强加密功能,同时也为政府机构提供了实施法律授权下的监听功能。这一技术是通过一个防窜扰的芯片(称为Clipper芯片)来实现的。 1994年2月正式被美国政府公布采用。

美国政府的EES标准公布之后,在社会上引起很大的争议!


一、秘钥托管是什么?

秘钥托管也称为托管加密,目的是在突发事件下,具备解密能力。实现手段是把已加密的数据和数据恢复密钥联系起来,数据恢复密钥不必是直接解密的密钥,但由它可得解密密钥。

数据恢复密钥由所信任的委托人持有,委托人可以是政府机构、法院或有契约的私人组织。一个密钥可能是在数个这样的委托人中分拆。调查机构或情报机构通过适当的程序,如获得法院证书,从委托人处获得数据恢复密钥。

密钥托管加密技术提供了一个备用的解密途径,政府机构在需要时,可通过密钥托管技术解密用户的信息,而用户的密钥若丢失或损坏,也可通过密钥托管技术恢复自己的密钥。所以这个备用的手段不仅对政府有用,而且对用户自己也有用。

目的:为了有效控制密码技术的使用,保证对个人没有绝对的隐私和绝对不可跟踪的匿名性。

实现手段:是把已加密的数据和数据恢复密钥联系起来,数据恢复密钥不必是直接解密的密钥,但由它可得解密密钥。

用途:提供一个备用的解密途径,政府机构在需要时,可通过密钥托管技术解密用户的信息,而用户的密钥若丢失或损坏,也可通过密钥托管技术恢复自己的密钥。

注意:

A: 数据恢复密钥由所信任的委托人持有,委托人可以是政府机构、法院或有契约的私人组织

B:一个密钥可能是在数个这样的委托人中分拆

二、秘钥托管技术简介

它有两个特性:

① 一个加密算法——Skipjack分组密码算法,该算法是由NSA设计的,用于加(解)密用户间通信的消息。该算法已于19983月公布。

为法律实施提供后门的部分——法律实施存取域LEAF(law enforcement access field)。通过这个域,法律实施部门可在法律授权下,实现对用户通信的解密(窃听)

备注:EES(托管加密标准)提出以后,密钥托管密码体制受到了普遍关注,已提出了各种类型的密钥托管密码体制,包括软件实现的、硬件实现的、有多个委托人的、防用户欺诈的、防委托人欺诈的等。

在双向通信(如电话)中,通信每一方的安全设备都需传送一个IV(初始向量)和由其设备芯片计算出的LEAF。然后,两个设备使用同一会话密钥KS来加密传送给通信对方的消息,并解密由对方传回的消息。

1. Skipjack算法

Skipjack算法是一个单钥分组加密算法,密钥长80比特,输入和输出的分组长均为64比特。

可使用4种工作模式:电码本模式,密码分组链接模式,64比特输出反馈模式,18163264比特密码反馈模式。

算法的内部细节在向公众公开以前,政府邀请了一些局外人士对算法作出评价,并公布了评价结果。评价结果认为算法的强度高于DES,并且未发现陷门。Skipjack的密钥长是80比特,比DES的密钥长24比特,因此通过穷搜索的蛮力攻击比DES224倍的搜索。所以若假定处理能力的费用每18个月减少一半,那么破译它所需的代价要1.5×24=36年才能减少到今天破译DES的代价。

Skipjack算法以及在法律授权下对加密结果的存取是通过防窜扰的托管加密芯片来实现的。芯片装有以下部分:

Skipjack算法;

  • 80比特的族密钥KF(family key),同一批芯片的族密钥都相同;
  • 芯片单元识别符UID(unique identifier);
  • 80比特的芯片单元密钥KU(unique key),它是两个80比特的芯片单元密钥分量(KU1,KU2)的异或

这些部分被固化在芯片上。编程过程是在由两个托管机构的代表监控下的安全工厂中进行,一段时间一批。编程过程如下图所示。

首先,托管机构的代表通过向编程设备输入两个参数(随机数)对芯片编程处理器初始化。

芯片编程处理器对每个芯片,分别计算以上两个初始参数和UID的函数,作为单元密钥的两个分量KU1KU2。求KU1 XOR KU2,作为芯片单元密钥KUUIDKU放在芯片中。

然后,用分配给托管机构1的密钥K1加密KU1EK1(KU1)。类似地,用分配给托管机构2的加密密钥K2加密KU2EK2(KU2)(UIDEK1(KU1))(UIDEK2(KU2))分别给托管机构1和托管机构2,并以托管形式保存以加密方式保存单元密钥分量是为了防止密钥分量被窃或泄露。

编程过程结束后,编程处理器被清除,以防止芯片单元密钥KU被他人获得或被他人计算,只能从两个托管机构获得加了密的单元密钥分量,并且使用特定的政府解密设备来解密。

通信双方为了使用Skipjack算法加密他们的通信,都必须有一个装有托管加密芯片的安全的防窜扰设备,该设备负责实现建立安全信道所需的协议,包括协商或分布用于加密通信的80比特秘密会话密钥KS。例如,会话密钥可使用Diffie-Hellman密钥协商协议,该协议执行过程中,两个设备仅交换公共值即可获得公共的秘密会话密钥。

2. LEAF产生过程示意图

80比特的会话密钥KS建立后,被传送给加密芯片,用于与初始化向量IV(由芯片产生)一起产生LEAF。控制软件使用芯片单元密钥KU加密KS,然后将加密后的结果和芯片识别符UID、认证符A链接,再使用公共的族密钥KF加密,以上链接的结果而产生LEAF。如图所示。

最后将IVLEAF传递给接收芯片,用于建立同步。同步建立后,会话密钥就可用于通信双方的加解密。对语音通信,消息串(语音)首先应被数字化。下图显示的是在发送者的安全设备和接收者的安全设备之间传送LEAF以及用会话密钥KS加密明文消息hello的过程。图中未显示初始向量。

在双向通信(如电话)中,通信每一方的安全设备都需传送一个IV和由其设备芯片计算出的LEAF。然后,两个设备使用同一会话密钥KS来加密传送给通信对方的消息,并解密由对方传回的消息。

3. 对加密通信的法律实施存取过程

政府机构进行犯罪调查,为监听被调查者的通信,首先取得法院证书,并将证书出示给通信服务的提供者(电信部门),并从电信部门租用线路用来截取被监听者的通信。如果被监听者的通信是经过加密的,则被截获的通信首先通过一个政府控制的解密设备,如下图所示,其中D表示解密。解密设备可识别由托管芯片加密的通信,取出LEAFIV,并使用族密钥KF解密LEAF以取出芯片识别符UID和加密的会话密钥EKU(KS)

政府机构将芯片识别符UID、法院许可监听的许可证书、解密设备的顺序号以及政府机构对该芯片的单元密钥分量的要求一起给托管机构。托管机构在收到并验证政府机构传送的内容后,将被加密的单元密钥分量EK1(KU1)EK2(KU2)传送给政府机构的解密设备,解密设备分别使用加密密钥K1K2解密EK1(KU1)EK2(KU2)以得到KU1KU2,求它们的异或KU1 XOR KU2,即为单元密钥KU。由单元密钥KU解密EKU(KS),得被调查者的会话密钥KS。最后解密设备使用KS解密被调查者的通信。为了实现解密,解密设备在初始化阶段,应安装族密钥KF和密钥加密密钥K1K2

托管机构在传送加密的密钥分量时,也传送监听的截止时间。因此解密设备的设计应使得它到截止时间后,可自动销毁芯片单元密钥及用于得到单元密钥的所有信息。同时,因为每一次新的会话用一新的会话密钥加密,所以解密设备在监听的截止时间之前,在截获调查者新的会话时,可不经过托管机构而直接从LEAF中提取并解密会话密钥。因此,除在得到密钥时可有一个时间延迟外,对被截获通信的解密也可在监听的有效期内有一个时间延迟。这种时间延迟对有些案情极为重要,如监听进行绑架的犯罪分子或监听有计划的恐怖活动。

因为被调查的通信双方使用相同的会话密钥,所以解密设备不需要对通信双方都取出LEAF及芯片单元密钥,解密设备只需取出被调查者一方的LEAF及芯片单元密钥。

如果某人想监听他人的通信,他必须首先能够截获他人的通信,然后必须有一个解密设备和两个经过加密的芯片单元密钥分量。因为制造解密设备必须知道保密算法、族密钥KF和密钥加密密钥K1K2,任何未经授权的人,都不可能私自制造出解密设备,因此无法获得对他人的监听。


总结

秘钥托管技术(Key Management Service,KMS)是一种用于生成、存储、管理和保护加密密钥的解决方案,通过集中管理和严格的访问控制,提升数据保护的安全性和合规性。它的主要功能包括密钥生成与存储、分发、轮换、销毁以及访问控制和审计,广泛应用于云服务、数据库加密、文件加密和通信加密等领域。

这种技术的优势在于提高安全性、简化合规性、降低复杂性并增强系统的可扩展性。随着零信任架构和量子计算防护等新趋势的发展,秘钥托管技术将变得越来越重要,并会在未来与更多应用和系统进行更广泛的集成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/18800.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Aria2下载安装使用

目录 下载Aria2 配置创建 aria2.conf 文件创建 aria2.session 文件 Aria2的使用基础使用多源下载多线程下载后台下载配置文件启动 AriaNg下载安装AriaNg配置AriaNg使用 Tracker 列表 aria2 是一款免费开源跨平台且不限速的多线程下载软件,其优点是速度快、体积小、资…

慧尔智联携纷享销客启动CRM项目 推进客户经营升级与内外高效协作

智慧农业领军企业慧尔智联携手纷享销客,启动CRM客户经营管理系统项目。双方将深入合作,全面落实慧尔智联发展策略,持续提升数字化经营管理水平,实现内部团队信息化高效协作,以快速响应市场需求,提升客户满意…

开源集运wms系统

集运WMS系统是一种专为集运业务设计的仓库管理系统,它能够高效地处理来自多个来源的货物,优化存储和发货流程。 经过长时间的开发和测试,推出了我的集运WMS系统。它不仅具备传统WMS系统的所有功能,还针对集运业务的特点进行了特别…

HNU-计算机体系结构-小班讨论-GoogleTPU的发展历程与思考

因为对GPU比较感兴趣,故选择这个作为汇报课题。

JEPaaS 低代码平台 accessToTeanantInfo SQL注入漏洞复现

0x01 产品简介 JEPaaS低代码开发平台开源版 旨在帮助企业快速实现信息化和数字化转型。该平台基于可视化开发环境,让软件开发人员和业务用户通过直观的可视化界面来构建应用程序 ,而不是传统的编写代码方式。 用户可以在开发平台灵活各个图形化控件,以构建业务流程、逻辑和…

智能合约革命:Web3引领智能化商业的未来

随着区块链技术的日益成熟和普及,智能合约作为其重要应用之一,正在逐渐改变着商业世界的面貌。Web3作为下一代互联网的代表,以其去中心化、加密安全的特性,为智能合约的发展提供了无限可能,将智能合约应用于商业领域的…

对简单工厂模式、工厂方法模式、抽象工厂模式的简单理解

简单工厂模式 三部分组成 抽象类一些抽象类的具体实现类工厂类 把创建对象的任务交给一个工厂类来实现,对业务进行封装。 优点:实现了任务分离,客户端不用关心业务的具体实现,交由工厂来“生产”。 缺点:违背开闭原…

使用控制台方式部署sentinel

1.下载控制台jar包 2.运行jar包 java -jar sentinel-dashboard-1.8.0.jar 也可以通过编写批处理文件指定端口、用户名、密码: 客户端添加依赖(后续整合springcloudalibaba时不需要此依赖) 如修改了sentinel端口,需要添加客户端运…

Springboot项目搭建 jdk1.8

1.idea创建项目 2.项目配置 maven 编辑项目编码 删除无用文件 修改配置文件后缀,设置数据库 spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl:jdbc:mysql://localhost:3306/honey2024?useSSLfalse&useUnicodetrue&characterEncodingUT…

力扣每日一题 5/29

2981.找出出现至少三次的最长特殊子字符串I 题目: 给你一个仅由小写英文字母组成的字符串 s 。 如果一个字符串仅由单一字符组成,那么它被称为 特殊 字符串。例如,字符串 "abc" 不是特殊字符串,而字符串 "ddd&q…

Android9禁止某个app启动

禁止某个app通过开机广播自启动,覆盖住Launcher 代码位置 : frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java具体修改如下 public final int startActivityAsUser(IApplicationThread caller, String callingPackage,Inte…

详解 Scala 的运算符

一、Scala运算符的本质 Scala 运算符的本质是对象的方法 object TestOperator {def main(args: Array[String]): Unit {val n1: Int 10val n2: Int 20// 当调用对象的方法时,点. 可以省略val result1: Int n1.(n2)val result2: Int n1 (n2)println(result1)pr…

[Git] 如何在fork仓 从 主仓 更新代码

直接上干货 Step 1 添加主仓库为新的远程仓库:在终端或命令提示符中切换到你的本地仓库目录,然后运行以下命令以添加主仓库作为一个新的远程地址(通常命名为upstream): git remote add upstream (主仓库的URL)Step 2 …

ABAP AS文件目录动态创建

项目上需要将附件上传得到ABAP AS的文件系统上,文件需要按照上传日期存放在 YYYY\MM对应的目录下,所以我们需要动态的创建文件夹,以应对不同月份的所需的新文件夹。以下便是使用ABAP在 AS上创建文件夹的code: class ZCL_FILE_SYSTEM_UTIL de…

spring aop 内部引用失效分析

背景 用了spring retry 发现在有些场景下失效,也让我想起了之前看spring 事务时会有一些场景下失效的这个问题 代码 接口public interface UserService {public void start() ;public void stop(); }实现类 Service public class UserServiceImpl implements User…

AI绘画Stable Diffusion XL 可商用模型!写实艺术时尚摄影级真实感大模型推荐(附模型下载)

大家好,我是设计师阿威 大家在使用AI绘画的时候,是不是遇到这种问题:收藏的模型确实很多,可商用的没几个,而今天阿威将给大家带来的这款写实艺术时尚摄影级真实感大模型-墨幽人造人XL, 对于个人来讲完全是…

Springboot事务控制中A方法调用B方法@Transactional生效与不生效情况实战总结

介绍 本篇对Springboot事务控制中A方法调用B方法Transactional生效与不生效情况进行实战总结,让容易忘记或者困扰初学者甚至老鸟的开发者,只需要看这一篇文章即可立马找到解决方案,这就是干货的价值。喜欢的朋友别忘记来个一键三连哈&#x…

【wiki知识库】03.前后端的初步交互(展现所有的电子书)

📝个人主页:哈__ 期待您的关注 目录 一、🔥今日目标 二、📂前端配置文件补充 三、🌏前端Vue的改造 四、💡总结 一、🔥今日目标 在上一篇文章当中,我已带大家把后端的一些基本工…

【算法】重建二叉树并进行后序遍历的Java实现

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

服务器主机托管一站式托管服务有哪些?

服务器主机托管一站式托管服务,作为现代企业信息化建设的重要一环,为企业提供了一种高效、安全、可靠的服务器运行环境。下面,我们将从多个方面详细介绍这一服务的内容。 一、硬件与基础设施 服务器主机托管服务首先涵盖了服务器硬件和网络基…