一分钟学习数据安全—自主管理身份SSI加密技术

上篇介绍了SSI的架构。架构之后,我们要了解一下SSI发展的驱动力:加密技术。现代数字通信离不开数学和计算机科学,加密技术也源于此。加密技术使区块链和分布式账本得以实现,也使SSI成为可能。

以下我们就概览一下SSI基础架构中涉及到的加密技术:

一、散列函数

散列函数就是消息或文档的唯一指纹。唯一的文档产生唯一的散列值,相同的文档产生相同的散列值。软件发布时,同时会提供其散列,使接收者可以验证原内容是否有被篡改过。

散列函数是单向的,不可逆,但是有些老的散列散发比如MD5已经被证明是不安全的,需要避免使用。

在SSI中,散列都用作可验证数据结构的组成部分和数字签名算法的一部分。

二、加密

早期的加密方法有替换密码或其他打乱文本的方式。现代加密方法尤其在PKI体系中,不依赖对加密方法的保密,而是通过计算复杂度以及对密钥的保密来实现数据安全。

典型加密方法又分为对称和非对称加密,对称加密算法加解密用相同的密钥,如AES算法,密钥的大小往往跟密码的安全正相关。非对称加密加解密采用不同的密钥,如RSA,称为公钥和私钥,公钥用来共享,私钥必须私有,当知道收件人的公钥,就可以给其发送加密消息,这是区块链、DID的技术基础。

三、数字签名

数字签名用一句话描述就是用私钥来签名,再用公钥来验证签名。这个机制用在SSI堆栈的每个层级:

  • 第一层的区块链交易。
  • 第二层的DID连接。
  • 第三层的可验证凭证签署。
  • 第四层的治理框架签署,也签署框架内为置顶角色签发的可验证凭证。

四、可验证的数据结构

用密码学的方法创建具有特定属性的数据结构,用于对数据进行验证。

1. 加密累加器

  • 加密累加器表示对一大组数字进行计算的结果,知道其中累加值的人可以证明他们的数字是否包含在这个集合之中。

2. 梅克尔树

  • 这是一种非常紧凑高效的验证数据集完整性的方法。通过数学的方法来证明某个具体的数据项存在于大量的信息之中。

3. 帕特里夏树

  • 一种检索用文字数字编码信息的使用算法。是基数树的变体。基数树是一种层次化树结构,有根值、子树、父节点,表示为一组链接的节点。节点不存储任何信息,只用来指示在前缀树种的字符串内有拆分的位置。

在以太坊协议中有一种改进的MPT,也就是梅克尔-帕特里夏树组合方法。可以针对性的对协议做优化。

五、证明

使用加密技术来证明计算事实为真就是“证明”。数字签名就是一种证明形式。任何知道公钥但不知道私钥的人都可以证明某个特定签名是否是由知道相应私钥的人生成的。

零知识证明ZKP具有三个属性:

1、完整性,如果陈述为真,两个用户都正确遵守规则,验证方就会被说服。

2、可靠性,如果陈述为假,验证放在任何情况下都不会被说服。

3、零知识,任何情况下,验证放都不会知道更多信息。

在SSI场景中,使用ZKP技术一个人不必完全公开其他敏感的个人身份信息。

六、后记

以上的一些介绍说明加密技术可以在高度分散的系统中大规模部署,并具有很强的安全性,SSI中利用这些加密技术来证明生态系统中的参与者身份和数据事实。这就涉及到一个核心的数据结构:可验证凭证,我们将在下一篇中进行探讨。

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

文章作者:太白               

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

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

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

相关文章

前端三大主流框架

目录 1.概述 2.React 2.1.作用 2.2.诞生背景 2.3.版本历史 2.4.优缺点 2.5.应用场景 2.6.示例 2.7.未来展望 3.Vue 3.1.作用 3.2.诞生背景 3.3.版本历史 3.4.优缺点 3.5.应用场景 3.7.示例 3.8.未来展望 4.Angular 4.1.作用 4.2.诞生背景 4.3.版本历史 4…

【介绍下R-tree,什么是R-tree?】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

【Java】解决Java报错:ArrayIndexOutOfBoundsException

文章目录 引言1. 错误详解2. 常见的出错场景2.1 直接访问数组越界2.2 循环中的索引错误2.3 多维数组的错误访问 3. 解决方案3.1 检查数组长度3.2 正确使用循环3.3 多维数组的正确访问 4. 预防措施4.1 使用增强型 for 循环4.2 编写防御性代码4.3 单元测试 结语 引言 在Java编程…

mysql报错 Duplicate entry

在MySQL中,当你尝试执行插入(INSERT)或更新(UPDATE)操作时,如果目标表中存在唯一索引(包括主键索引、唯一约束索引等),并且你要插入或更新的数据在该索引列上的值与表中已…

双网卡配置IP和路由总结

1.在网络适配器属性IPv4中设置默认网关(记网关地址为A),将会在本地路由表中新增一条记录: 网络号子网掩码网关地址0.0.0.00.0.0.0A 2.如果有两个网卡(假设一个连接内网,一个连接互联网)&#…

20240607在Toybrick的TB-RK3588开发板的Android12下适配IMX415摄像头和ov50c40

20240607在Toybrick的TB-RK3588开发板的Android12下适配IMX415摄像头和ov50c40 2024/6/7 11:42 【4K/8K摄像头发热量巨大,请做好散热措施,最好使用散热片鼓风机模式!】 结论:欢迎您入坑。 Toybrick的TB-RK3588开发板的技术支持不…

使用 TinyEngine 低代码引擎实现三方物料集成

本文由体验技术团队 TinyEngine 项目成员炽凌创作,欢迎大家实操体验,本体验内容基于 TinyEngine 低代码引擎提供的环境,介绍了如何通过 TinyEngine 低代码引擎实现三方物料集成,帮助开发者快速开发。 知识背景 1.1 TinyEngine 低…

【SkyWalking】使用PostgreSQL做存储K8s部署

拉取镜像 docker pull apache/skywalking-ui:10.0.1 docker tag apache/skywalking-ui:10.0.1 xxx/xxx/skywalking-ui:10.0.1 docker push xxx/xxx/skywalking-ui:10.0.1docker pull apache/skywalking-oap-server:10.0.1 docker tag apache/skywalking-oap-server:10.0.1 xxx…

SpringBoot集成ireport打印,并解决PDF中文显示问题

1、相关jar包引入 <!-- ireport报表相关 start--><dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports</artifactId><version>4.5.1</version><exclusions><exclusion><groupId…

Ubuntu 22.04.4 LTS安装cmake-3.29.5

一、下载源码 wget https://github.com/Kitware/CMake/releases/download/v3.29.5/cmake-3.29.5.tar.gz tar -xzvf cmake-3.29.5.tar.gz 二、编译 运行./bootstrap。 如果出现下列问题&#xff1a; -- Could NOT find OpenSSL, try to set the path to OpenSSL root folder …

go语言后端开发学习(二)——基于七牛云实现的资源上传模块

前言 在之前的文章中我介绍过我们基于gin框架怎么实现本地上传图片和文本这类的文件资源(具体文章可以参考gin框架学习笔记(二) ——相关数据与文件的响应)&#xff0c;但是在我们实际上的项目开发中一般却是不会使用本地上传资源的方式来上传的&#xff0c;因为文件的上传与读…

Spring Security系列之Handler

概述 与Spring、Spring MVC、Spring Boot一样&#xff0c;Spring Security里也有很多Handler接口、可以分为两大类&#xff0c;一类是普通的XxxHandler&#xff08;见名知意&#xff09;&#xff0c;另一类是对应的ServerXxxHandler&#xff08;RequestRejectedHandler除外&am…

短剧看剧系统投流版系统搭建,前端uni-app

目录 前言&#xff1a; 一、短剧看剧系统常规款短剧系统和投流版的区别&#xff1f; 二、后端体系 1.管理端&#xff1a; 2.代理投流端 三、功能区别 总结&#xff1a; 前言&#xff1a; 23年上半年共上新微短剧481部&#xff0c;相较于2022年全年上新的454部&#xff0…

读AI未来进行式笔记06自动驾驶技术

1. 跃层冲击 1.1. 每个社会其实都处于不同的楼层&#xff0c;往往处于更低楼层的社会&#xff0c;要承受来自更高楼层的社会发展带来的更大冲击 2. 驾驶 2.1. 开车时最关键的不是车&#xff0c;而是路 2.2. 人是比机器更脆弱的生命&am…

JavaEE初阶---多线程编程(一.线程与进程)

目录 &#x1f923;一.线程与进程的概念与联系&#xff1a; 进程的基本概念&#xff1a; 线程的基本概念&#xff1a; 进程和线程的区别与联系&#xff1a; &#x1f643;代码执行实列&#xff1a; 1.通过继承Thread父类来实现多线程 2.通过实现Runnable接口来实现多线程…

java调用GDAL及JTS实现生成泰森多边形(Voronoi图)的一种方法

目录 一、关于泰森多边形 1.泰森多边形的特性 2.本文的目的 二、实现思路 1.gdal和jts库的maven坐标 2.jts生成泰森多边形的关键代码 3.使用GDAL读取源文件信息的关键代码 4.使用GDAL将生成的泰森多边形写入文件 三、实现结果 1.实现的效果 2.完整代码示例 一、关于…

【稳定检索/投稿优惠】2024年智慧金融与财务管理国际会议(SFFM 2024)

2024 International Conference on Smart Finance and Financial Management 2024年智慧金融与财务管理国际会议 【会议信息】 会议简称&#xff1a;SFFM 2024 截稿时间&#xff1a;以官网为准 大会地点&#xff1a;中国广州 会议官网&#xff1a;www.iacsffm.com 会议邮箱&am…

【漏洞复现】海康威视综合安防管理平台 多处 FastJson反序列化RCE漏洞

0x01 产品简介 海康威视综合安防管理平台是一套“集成化”、“智能化”的平台,通过接入视频监控、一卡通、停车场、报警检测等系统的设备。海康威视集成化综合管理软件平台,可以对接入的视频监控点集中管理,实现统一部署、统一配置、统一管理和统一调度。 0x02 漏洞概述 由于…

【安装笔记-20240607-Linux-适合个人用户及初创企业的 SSL 证书服务】

安装笔记-系列文章目录 安装笔记-20240607-Linux-适合个人用户及初创企业的 SSL 证书服务 文章目录 安装笔记-系列文章目录安装笔记-20240607-Linux-适合个人用户及初创企业的 SSL 证书服务 前言一、软件介绍名称&#xff1a;acme.sh主页官方介绍 二、安装步骤测试版本&#x…

React@16.x(21)渲染流程-更新

目录 1&#xff0c;更新的2种场景2&#xff0c;节点更新3&#xff0c;对比 diff 更新3.1&#xff0c;React 的假设3.1.2&#xff0c;key 2.1&#xff0c;找到了对比的目标2.1.1&#xff0c;节点类型一致1&#xff0c;空节点2&#xff0c;DOM节点3&#xff0c;文本节点4&#xf…