一分钟学习数据安全—自主管理身份SSI架构

上一篇我们概要介绍了SSI的几个组成部分,包括可验证凭证信任三角、治理框架等,后面的介绍文章我们将分别介绍一下相关的技术。

SSI的堆栈演进到现在,综合整个生态中的关键架构决策,普遍接受的是一个四层模型。


  

如上图所示,下面的两层主要用于实现技术信任,上面的两层用于实现人的信任,除了体现关键架构决策,每一层都对互操作性有重大影响。

一、标识符和密钥

模型堆栈的底部,定义和管理标识符和密钥,也被称为可信根。生态系统的每一方都可以在不依赖或不受中央机构干预的情况下读写数据。

一个公开可验证的数据注册系统才能确保这个基础的坚固。解决方案就是DID注册系统。W3C的DID注册系统中90%的方法都基于区块链或分布式账本技术。这些方法的共同特点是它们使用账本上的加密地址作为DID。支付地址全球唯一,并且由密钥管理。

依赖现代网络数据库技术也可以实现DID注册系统,现存的大规模数据库由于其覆盖范围广、易用性高,满足DID注册系统所需的鲁棒性和全球规模应用以及分布式要求,不过与SSI所倡导的分布式背道而驰。

二、安全通信和接口

建立了分布式的可信根之后,如何在对等方之间建立安全通信呢?这就依赖数字代理、数字钱包、加密存储的技术,也形成安全的DID到DID的连接,要求连接安全,信息真实未被篡改。

当前互联网中普遍用TLS实现网站安全通信,最普遍的应用就是HTTP,SSI也可以使用TLS来建立安全通信。也可以用DIDComm这种面向消息的、与传输无关的,植根于对等方之间的通信。采用DIDComm时,收件人由DID标记,消息可以通过任何现有网络传输协议传输而安全和隐私保证是相同的。

在接口设计上,SSI的解决方案如下:

  1. 面向API的接口设计倾向于使用分布式的网站或分布式应用程序。
  2. 面向数据的接口设计使用加密的数据存储来发现、共享和管理对身份数据的访问。
  3. 面向消息的接口设计使用基于边缘或云的数字代理,为它们共享的交互提供路由。

三、凭证

如果说第1、2层是机器之间建立加密信任的位置,第3、4层则需要加入人类的信任。无论是什么类型的人类身份,都需要先有支持互操作的可验证凭证,才可以在SSI生态的各方使用。为此必须要解决两个问题:

  1. 交换什么格式?
  2. 怎么交换?

对于问题1,目前主要有如下三种:

  • JSON Web令牌JWT的应用极为广泛,但是它无法解释凭证中所需的丰富元数据,需要添加额外的语义处理层。另外,JWT也没有选择性披露的选项。另外,JWT早期的应用都是短期令牌,需要构建额外的撤销机制,但是目前没有相关的标准和工具支持。
  • 区块链凭证BlockCert是经过数字签名的JSON,对描述持证方的属性进行编码,发布到一个由持证方控制的支付地址,地址已经嵌入到JSON中。持证方可以通过证明他们控制了支付地址的私钥来证明凭证归属。
  • W3C可验证凭证一种使用JSON-LD来描述具有不同模式和数字签名格式的证书。由两种风格,通过简单的证书共享或者通过专门的加密签名来促进零知识证明。

对于问题2,这个取决于凭证的交换方式,到底是分发,还是在特定连接中动态生成,目前仍未生成共识。

四、治理框架

之前此系列中已经简单介绍过治理框架,这一层的重点不再是机器和技术,而是人和政策。治理框架是SSI堆栈的技术实现和SSI解决方案的实际业务、法律和社会需求之间的桥梁。Linux基金会也成立了ToIP项目,定义、强化、推广ToIP堆栈,作为分布式数字信任技术设施模型,ToIP堆栈承诺使用可互操作的模型来定义这些治理框架。


五、后记

SSI市场上还不断出现新的架构,还存在诸多分歧。市场在不断推动SSI标准化。其中的关键架构、技术、应用也越来越成熟。

数字身份架构领域的创新在延续,未来大有可为,安当技术有限公司也将持续探索这方面的前沿技术,并在未来安当ASP身份认证产品演进中加入更多适应行业技术发展和客户需求的功能。

文章作者:太白               

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

 

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

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

相关文章

如何将多个jtl文件合并到一个,并且生成html报告

项目背景: 使用jmeterjenkins做自动化测试,不同业务写在不同的jmx文件中,现在需要生成一份汇总的报告。 多个脚本,A.jtl,B.jtl,C.jtl,D.jtl..,需要将这些jtl文件生成一个html文件 1.创建汇总文件merged.jtl文件&…

mysql 拼接字段+根据特定值返回特定内容

1、这里,首选实现根据特定值返回特定内容,使用 case case when r.Namedemand then 采购商when r.Namesupplier then 供应商else 未知 end as roleName2、然后使用Group_Concat函数 group_concat((case when r.Namedemand then 采购商when r.Namesu…

Windows Docker手动迁移镜像

1 将镜像保存至本地 # docker save 镜像名称:版本号 > 镜像名称.tar (windows迁移windows使用 迁移到linux会报错archive/ tar : invalid tar header) docker save --outputC:\YOUR_PATH\my_docker_image.tar image_id 例如:docker save --outputD:\moviepilot…

论程序员的职业素养

文章目录 前言一、命名规范1. HTML命名规范2. CSS命名规范3. JavaScript命名规范4. 文件和文件夹命名规范5. 代码案例 二、代码注释规范1. 注释规范2. 案例代码HTMLCSS (styles/main.css)JavaScript (scripts/main.js) 三、代码逻辑规范1.逻辑规范2. 代码案例清晰的函数和模块化…

QT系列教程(8) QT 布局学习

简介 Qt 中的布局有三种方式,水平布局,垂直布局,栅格布局。 通过ui设置布局 我们先创建一个窗口应用程序,程序名叫layout,基类选择QMainWindow。但我们不使用这个mainwindow,我们创建一个Qt应用程序类Log…

使用API有效率地管理Dynadot域名,删除已设置的文件夹

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

河南省第十四届ICPC大学生程序设计竞赛-C结对编程

题面 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 524288K,其他语言1048576K 64bit IO Format: %lld 题目描述 A公司是一家主营软件开发的公司。公司内有n名员工,编号为1到n的整数,除了1号老板外每名员工…

用友NC downCourseWare 任意文件读取漏洞复现

0x01 产品简介 用友NC是一款企业级ERP软件。作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等,帮助企业实现数字化转型和高效管理。 0x02 漏洞概述 用友NC 系统 /portal/pt/downCourseWare…

PDF格式分析(八十四)——小部件注释(Widget)

小部件注释(PDF1.2及其以上版本),用于表示交互式表单的外观,并管理其与用户的交互。为了方便,当field仅与单个小部件注释相关联时,field词典会与annotation字典合并成一个字典,该字典既有field字典的条目,也有annotation字典的条目。 下表显示Widget注释字典的条目: 条…

【Go】编码结构体转换为json字符串

结构体内字段命名大小写问题导致无法解析到 package mainimport ("encoding/json""fmt" ) // 定义一个结构体 type Music struct {name string json:"名称" // 字段大小写命名问题!!!singer string json:&q…

【踩坑】minidlna一直提示文件权限问题No Accesible

1. media_dir xxx no accessible [Permission denied] 通过sudo apt install minidlna安装的,会自动开启minidlna服务,并且服务启动用户为minidlna,此时如果使用正常路径作为media_dir,会报错:No accessible[Permissi…

Javascript系统学习(三)

前端模块化前端模块化CommonJS、AMD、CMD、ES6_commonjs amd cmd es6模块化-CSDN博客 ES6: <script type"module" src"main.js"></script> //默认导出 export default function(ctx) {... } ----------------------------------- //模块命名…

创新科技,船舶岸电电源助力环保事业

岸电电源&#xff0c;也称为岸用变频电源或电子静止式岸电电源&#xff0c;是一种特别设计制造的大功率变频电源设备。这种设备主要针对船上、岸边码头等高温、高湿、高腐蚀性、大负荷冲击等恶劣使用环境&#xff0c;能够提供稳定的电源供应。它通常用于将岸边的工业用电&#…

【Mysql】mysql 拼接字符

在 MySQL 中&#xff0c;你可以使用 CONCAT() 函数来拼接&#xff08;连接&#xff09;字符串。CONCAT() 函数接受两个或多个字符串参数&#xff0c;并返回连接后的字符串。 示例&#xff1a; SELECT CONCAT(Hello, , World) AS Greeting; 输出&#xff1a; Greeting --…

SpringBoot 请求响应

SpringBoot 请求响应 来源于黑马程序员JavaWeb课程&#xff0c;总结笔记 1.ApiFox Apifox快速入门教程 2.基本参数 简单参数&#xff1a;在向服务器发起请求时&#xff0c;向服务器传递的是一些普通的请求数据。 //RequestController.java import jakarta.servlet.http.Htt…

概率分析和随机算法

目录 雇佣问题 概率分析 随机算法 生日悖论 随机算法 概率分析 球与箱子 总结 雇佣问题 有n个候选人面试&#xff0c;如果面试者比目前雇佣者的分数高&#xff0c;评价更好&#xff0c;那么就辞掉当前雇佣者&#xff0c;而去聘用面试者&#xff0c;否则继续面试新的候…

C# Web控件与数据感应之 填充 HtmlTable

目录 关于 HtmlTable HtmlTable与BaseDataList的区别 准备数据源 ​范例运行环境 FillTable 方法 设计与实现 模板样例输出 Automatic 模式填充 ​ DynamicRows 模式填充 StaticRows 模式填充 ​ 小结 关于 HtmlTable 数据感应也即数据捆绑&#xff0c;是…

电商行业为什么要分析竞争商品?详解竞争商品分析八个维度

在当今的电子商务领域&#xff0c;竞争日益激烈&#xff0c;消费者拥有几乎无限的选择。品牌和商家为了在这场竞争中获得优势&#xff0c;必须深入理解市场动态、消费者需求以及竞争对手的策略。分析竞争商品是实现这一目标的关键步骤。它不仅帮助商家揭示行业内表现优异商品的…

【机器学习基础】Python编程03:五个实用练习题的解析与总结

Python是一种广泛使用的高级编程语言,它在机器学习领域中的重要性主要体现在以下几个方面: 简洁易学:Python语法简洁清晰,易于学习,使得初学者能够快速上手机器学习项目。 丰富的库支持:Python拥有大量的机器学习库,如scikit-learn、TensorFlow、Keras和PyTorch等,这些…

LW-DETR:实时目标检测的Transformer, Apache-2.0 开源可商用,实验超 YOLOv8

LW-DETR&#xff1a;实时目标检测的Transformer&#xff0c; Apache-2.0 开源可商用&#xff0c;实验超 YOLOv8 LW-DETR 架构实例化高效训练高效推理 目的与解法拆解ViT编码器和DETR解码器多级特征图聚合变形交叉注意力窗口注意力和全局注意力 论文&#xff1a;https://arxiv.o…