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

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

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

一、散列函数

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

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

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

二、加密

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

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

三、数字签名

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

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

四、可验证的数据结构

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

1. 加密累加器

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

2. 梅克尔树

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

3. 帕特里夏树

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

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

五、证明

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

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

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

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

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

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

六、后记

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

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

文章作者:太白

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

相关推荐
代码山河9 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
释厄62310 小时前
AI学习层更新与跨体转移律——人类社会同构·不缺理解缺 U
人工智能·学习
小嘉丶学长14 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节
小李不想当小白14 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
adinnet202618 小时前
电商客服对话知识库的自学习闭环与质量演进机制
学习
lazy H19 小时前
【计算机网络】第 13 篇:NAT 和端口映射是什么?为什么本地服务外网访问不了?
java·网络·网络协议·学习·计算机网络·408
试剂界的爱马仕20 小时前
α-Cyano-4-hydroxycinnamic acid(CHCA)用作 MALDI-TOF 基质的配制与使用
大数据·人工智能·深度学习·学习
小向是个Der20 小时前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
学网安的肆伍20 小时前
认证机制攻防学习|PortSwigger Authentication 靶场复现总结(二):用户名枚举进阶
学习·web安全·网络安全·burpsuite·portswigger·认证安全·靶场复现
海绵宝宝转agent21 小时前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先