一分钟学习数据安全—自主管理身份SSI分布式加密密钥管理

 

在这篇之前,我们已经对SSI有了一个全局的了解。这个系列的文章可以作为一个学习笔记来参考,真正要实践其中的一些方案、协议,还需要参考专业的书籍和官方文档。作为一个SSI系列学习笔记的最后一篇,我们做一个简单的延伸,看看有了SSI及其生态内的架构和技术的加持,在密钥管理这个方向上,会发生什么样的变革。

一、概述

传统的PKI体系中,以及现在流行的加密货币体系中,本质上都是基于数学算法构建起来的一套生态系统。业界主流的观点,是算法是公开的,但是数字密钥是保护的,通过公认的数学方法来保证这套体系的安全。密钥的泄漏会危及由密钥保护的所有信息和程序。客户端节点必须能够信任密钥或密钥组件来自可信来源,并且它们的机密性和完整性在存储和传输过程中都受到保护。

所以,数字密钥的管理对于整个互联网基础设施非常重要。这方面,国际上以及中国国内,都有密钥管理系统相关的标准定义。密钥管理系统本质上可以是集中式系统,也可以是分布式系统。

二、信任根

PKI架构中,信任根通过一种称为根证书的特殊数字凭证来表示。信任方必须拥有根证书的副本,才能进一步验证信任链。操作系统、浏览器都会内置根证书列表。

SSI给出了一组关于信任根的不同假设。


1、管理信任根用于传统公钥基础设施:CA确保数字凭证的质量和完整性。管理信任根本身的信任来源于服务商的资质和声誉。

2、算法信任根,依托计算机算法,创建一种没有任何一方能够单独控制但又可以共享数据源的安全系统。

3、自认证信任根基于安全随机数和密码技术。最安全的自认证信任根使用安全处理器或可信处理模块等特殊硬件来生成密钥对和保护私钥。

要实现向SSI分布式密钥管理的范式转变,意味着要从管理信任根转向算法信任根和自认证信任根。管理信任根的本质是集中式的,容易受到人为错误的影响。算法信任根和自认证信任根能够部分或完全实现自动化和分布式管理。

三、新工具

SSI带来新工具使得分布式密钥管理成为可能。

传统的公钥基础设施中,需要CA颁发的X.509数字凭证来验证公钥以及身份。而DID能够将DID控制者公钥与其他身份属性验证分离。

 

借助SSI,使用算法信任根或自认证信任根就可以从公私钥对生成DID。DID控制者使用自己的私钥对自己的DID文档进行签名,就可以证明他们控制者DID。

如果DID方法使用的是自认证信任根,在DID控制者的保护下,可以在其数字钱包或其他密钥生成和签名系统中完成密钥生成和轮换。如果DID方法使用的是算法信任根,则需要与外部可验证数据注册表如区块链进行事务处理。这些都可以由代理自动执行。取消人工环节使这些步骤的成本几乎为0,并且可以生成足够多的DID。

DID和DID文档解决了密钥验证带来的挑战,使可验证凭证发挥最大所长,向第三方证明DID控制者的真实身份属性。验证者必须由此在真实世界中建立商业或社会信任。

DID控制者不需要依赖任何外部管理员就可以完成密钥轮换。SSI的数字钱包不能向更高一级申请重置密码或替换密钥,备份和恢复功能直接内置于架构中。

可以使用基于账本DID方法的密钥管理,使用私钥对分布式账本或区块链重点事务进行数字签名,以记录DID和初始关联公钥。记录创建后,账本就成了DID的算法信任根。

也可以使用对等DID方法的密钥管理,许多情况下,自认证的DID和DID文档完全可以在数字钱包中生成,并直接进行对等交换。对等DID可以是公共的,基于区块链的DID。对等DID的密钥轮换和密钥恢复关系所有对等体。对等DID不再需要算法信任根,直接基于用于初始密钥对的自认证信任根,不必依赖网络。可以像互联网本身一样分布和可扩展。唯一的缺点:不能被公开发现和解析。

如果要使整个DID方法实现自认证,不仅是初始的自认证标识符,还包括之后的所有密钥轮换,就可以利用KERI密钥事件接收基础设施。KERI架构中,可编辑公私钥对的所有使用或更改历史,从而普遍为自认证标识符和相关公私钥对之间的绑定提供自认证证明。KERI是第一个提出完全自治、可移植且可加密验证标识的标识和密钥管理系统,目标是成为首个可适用于任何基本数字钱包或密钥管理服务器的分布式密钥管理架构。

四、后记

关于KERI分布式密钥管理架构的更详尽的内容,可以参考相关标准。到此,这个SSI相关的一分钟学习系列就结束了。我们再复习一遍SSI的基本原则:

  1. 代表性:为任何实体提供方法来获得任意数量的对其有代表性的数字身份。
  2. 互操作性:使用开放的、公用的、无版税的标准,使实体的数字身份信息可以在跨系统操作时代仍有代表性。
  3. 去中心化:不依赖任何集中式系统来表示、控制及验证一个实体的数字身份信息。
  4. 控制及代理:能赋能具有自然、人类及法律权利的实体,使其作为“身份权利持有者”对其相关的数字信息控制、使用或放权。
  5. 参与性:不应强制身份权利持有者参与。
  6. 平等与包容:不排斥或歧视治理范围内的任何身份权利持有者。
  7. 可用性、无障碍性及一致性。
  8. 可转移性。
  9. 安全性。
  10. 可验证性和真实性。
  11. 隐私保护及最小化信息披露。
  12. 透明度。

安当也将持续探索互联网身份认证方面的前沿技术,并在未来产品演进中加入更多匹配客户安全需求的功能。

文章作者:太白               

©本文章解释权归安当西安研发中心所有

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无服务器【Serverless】架构的深度剖析:组件介绍、优缺点与适用场景

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、云计算的发展趋势 2、无服务器计算简介 二、无服务…

DPDK概述

文章目录 1. DPDK概述1.1 DPDK 内存管理Mbuf单帧结构:1.2 DPDK内核驱动 igb_uio驱动1.3 DPDK源码下载方式1.4 pktgen源码下载方式1.5 DPDK相关名词解释 1. DPDK概述 Intel DPDK全称Intel Data Plane Development Kit,是Intel提供的数据平面开发工具集,为…

AI语音工具——Fish Speech:使用简单,可训练专属语音模型!

今天给大家介绍一款超好用的AI语音工具——Fish Speech,使用简单,还可以训练自己的语音模型! 工具介绍 Fish Speech是由 Fish Audio 开发的免费开源文本转语音模型。经过十五万小时的数据训练,Fish Speech能够熟练掌握中文、日语…

binutils ifunc 流程图

上图是x86 binutils 的流程图。 函数说明_bfd_x86_elf_link_hash_table_createInit local STT_GNU_IFUNC symbol hash.elf_x86_64_check_relocsAdd support for handling STT_GNU_IFUNC symbols_bfd_elf_x86_get_local_sym_hashFind and/or create a hash entry for local sym…

SSL/CA 证书及其相关证书文件解析

在当今数字化的时代,网络安全变得至关重要。SSL(Secure Socket Layer)证书和CA(Certificate Authority)证书作为保护网络通信安全的重要工具,发挥着关键作用。 一、SSL证书 SSL证书是数字证书的一种&…

前端八股文 说一下盒模型

网页中任何一个元素都可以视为一个盒子,由里到外,盒模型包括外边界(margin)、边框(border)、内边界(padding)和内容(content)。 盒模型基本分为3种&#xff1…

【遥感语义分割】UNetFormer

原文:UNetFormer: An UNet-like Transformer for Efficient Semantic Segmentation of Remotely Sensed Urban Scene Imagery Libo Wang1, 2, Rui Li1, Ce Zhang3, 4, Shenghui Fang1*, Chenxi Duan5, Xiaoliang Meng1, 2 and Peter M. Atkinson3, 6, 7 1) 中国…

【机器学习】分类算法-KNN算法实践

一、前言 前面的一篇文章介绍了KNN算法的基本思想,接下来我们就根据B站UP主【abilityjh】老师的节奏,做一个关于KNN算法运用于“约会网站配对”的算法实现。当然,这个实践的代码是一样的,但是理解的话,我是用自己的话来…

考到PMP证书后 如何获得PDU?

目前仅续证一次,也是在威班PMP考试后免费积攒的。其实获取PMP的渠道很多,网上也有很多售卖的,积攒起来也挺容易,不过在续证的时候千万不要找不明渠道来源的人去搞,不靠谱。续证期有三年的,三年时间积攒60PD…

第十二章 执行引擎

一、执行引擎概述 概述 执行引擎是 Java 虚拟机核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、缓存、指令集和操作系统层面上的,而虚拟机的执行引…

简单的git pull fail Can‘t update has no tracked branch解决记录

简单的git pull fail Can‘t update has no tracked branch解决记录 1. 问题描述 上午同事使用idea拉取代码的时候,发现拉取不了,提示用户权限问题,之后修改了git用户信息,发现还是拉取不了分支代码,然后删除了git r…

docker介绍与详细安装

1 docker 介绍 1.1 虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实…

Vue 详情实战涉及从项目初始化到功能实现、测试及部署的整个过程

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

全面解析找不到msvcp71.dll无法继续执行的原因及修复方法

在使用Windows操作系统时,可能会遇到“msvcp71.dll文件丢失”的问题,从而导致部分应用程序无法正常运行。msvcp71.dll属于Microsoft Visual C 2008 Redistributable package的一部分,其包含了运行基于该编译器开发的软件所需的运行时库函数。…

react v18 less使用(craco)

方案一、弹出配置(不推荐) 安装依赖:yarn add less less-loader 首先 执行 yarn eject 弹出配置项文件(注意:弹出配置不可逆!) 在 config 文件夹中 找到 webpack.config.js,在如图…

苹果手机耗电太快怎么办?6个有效解决方法大揭秘

现代智能手机功能越来越强大,但随之而来的电量消耗问题也让许多用户头疼不已。尤其是苹果手机,虽然以其流畅的用户体验和强大的功能著称,但电池续航问题仍然是很多用户的共同困扰。 那么,苹果手机耗电太快怎么办呢?别…

震惊!张宇25版高数18讲发布,656页惹争议!

这个张宇老师在微博已经解释过了! 我觉得张宇老师本意是好的,在考研数学教学创新这方面,他真的有自己的思考。 他为什么要这么做? 其实作为一个考研高数老师,他完全可以像其他老师一样,什么都不做&#x…

fyne的几种multiLine

fyne的几种multiLine 创建一个MultiLine有一个专门的函数: widget.NewMultiLineEntry()进入方法看看源码: // NewMultiLineEntry creates a new entry that allows multiple lines func NewMultiLineEntry() *Entry {e : &Entry{MultiLine: true, Wrapping: fyne.TextTr…

springboot大学生实习管理系统-计算机毕业设计源码97434

目录 1 绪论 1.1 选题背景与意义 1.2国内外研究现状 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1系统开发流程 2.2.2 用户登录流程 2.2.3 系统操作流程 2.2.4 添加信息流程 图2-4 添加信息流程图 2.2.5 修改信息流程 2.2.6 删除信息流…

Java的数据类型(复习版)

思维导图 一.字面常量 什么是常量?在我的理解看来常量就是在一个程序运行期间,保持不变的量就是常量。 例如: System.out.println(100);System.out.println(a);System.out.println(3.114);这些都可以称为常量。 字面常量的分类:…