区块链身份验证图形 区块链身份验证图形不符

皕利分享 242 0

本篇文章主要给网友们分享区块链身份验证图形的知识,其中更加会对区块链身份验证图形不符进行更多的解释,如果能碰巧解决你现在面临的问题,记得关注本站!

区块链数字身份如何验证?

应该填写个人的身份信息,实名制,头像昵称,手机号,支付宝,扫脸,还需支付一元钱,即可身份验证

【深度知识】区块链之加密原理图示(加密,签名)

先放一张以太坊的架构图:

在学习的过程中主要是采用单个模块了学习了解的,包括P2P,密码学,网络,协议等。直接开始总结:

秘钥分配问题也就是秘钥的传输问题,如果对称秘钥,那么只能在线下进行秘钥的交换。如果在线上传输秘钥,那就有可能被拦截。所以采用非对称加密,两把钥匙,一把私钥自留,一把公钥公开。公钥可以在网上传输。不用线下交易。保证数据的安全性。

如上图,A节点发送数据到B节点,此时采用公钥加密。A节点从自己的公钥中获取到B节点的公钥对明文数据加密,得到密文发送给B节点。而B节点采用自己的私钥解密。

2、无法解决消息篡改。

如上图,A节点采用B的公钥进行加密,然后将密文传输给B节点。B节点拿A节点的公钥将密文解密。

1、由于A的公钥是公开的,一旦网上黑客拦截消息,密文形同虚设。说白了,这种加密方式,只要拦截消息,就都能解开。

2、同样存在无法确定消息来源的问题,和消息篡改的问题。

如上图,A节点在发送数据前,先用B的公钥加密,得到密文1,再用A的私钥对密文1加密得到密文2。而B节点得到密文后,先用A的公钥解密,得到密文1,之后用B的私钥解密得到明文。

1、当网络上拦截到数据密文2时, 由于A的公钥是公开的,故可以用A的公钥对密文2解密,就得到了密文1。所以这样看起来是双重加密,其实最后一层的私钥签名是无效的。一般来讲,我们都希望签名是签在最原始的数据上。如果签名放在后面,由于公钥是公开的,签名就缺乏安全性。

2、存在性能问题,非对称加密本身效率就很低下,还进行了两次加密过程。

如上图,A节点先用A的私钥加密,之后用B的公钥加密。B节点收到消息后,先采用B的私钥解密,然后再利用A的公钥解密。

1、当密文数据2被黑客拦截后,由于密文2只能采用B的私钥解密,而B的私钥只有B节点有,其他人无法机密。故安全性最高。

2、当B节点解密得到密文1后, 只能采用A的公钥来解密。而只有经过A的私钥加密的数据才能用A的公钥解密成功,A的私钥只有A节点有,所以可以确定数据是由A节点传输过来的。

经两次非对称加密,性能问题比较严重。

基于以上篡改数据的问题,我们引入了消息认证。经过消息认证后的加密流程如下:

当A节点发送消息前,先对明文数据做一次散列计算。得到一个摘要, 之后将照耀与原始数据同时发送给B节点。当B节点接收到消息后,对消息解密。解析出其中的散列摘要和原始数据,然后再对原始数据进行一次同样的散列计算得到摘要1, 比较摘要与摘要1。如果相同则未被篡改,如果不同则表示已经被篡改。

在传输过程中,密文2只要被篡改,最后导致的hash与hash1就会产生不同。

无法解决签名问题,也就是双方相互攻击。A对于自己发送的消息始终不承认。比如A对B发送了一条错误消息,导致B有损失。但A抵赖不是自己发送的。

在(三)的过程中,没有办法解决交互双方相互攻击。什么意思呢? 有可能是因为A发送的消息,对A节点不利,后来A就抵赖这消息不是它发送的。

为了解决这个问题,故引入了签名。这里我们将(二)-4中的加密方式,与消息签名合并设计在一起。

在上图中,我们利用A节点的私钥对其发送的摘要信息进行签名,然后将签名+原文,再利用B的公钥进行加密。而B得到密文后,先用B的私钥解密,然后 对摘要再用A的公钥解密,只有比较两次摘要的内容是否相同。这既避免了防篡改问题,有规避了双方攻击问题。因为A对信息进行了签名,故是无法抵赖的。

为了解决非对称加密数据时的性能问题,故往往采用混合加密。这里就需要引入对称加密,如下图:

在对数据加密时,我们采用了双方共享的对称秘钥来加密。而对称秘钥尽量不要在网络上传输,以免丢失。这里的共享对称秘钥是根据自己的私钥和对方的公钥计算出的,然后适用对称秘钥对数据加密。而对方接收到数据时,也计算出对称秘钥然后对密文解密。

以上这种对称秘钥是不安全的,因为A的私钥和B的公钥一般短期内固定,所以共享对称秘钥也是固定不变的。为了增强安全性,最好的方式是每次交互都生成一个临时的共享对称秘钥。那么如何才能在每次交互过程中生成一个随机的对称秘钥,且不需要传输呢?

那么如何生成随机的共享秘钥进行加密呢?

对于发送方A节点,在每次发送时,都生成一个临时非对称秘钥对,然后根据B节点的公钥 和 临时的非对称私钥 可以计算出一个对称秘钥(KA算法-Key Agreement)。然后利用该对称秘钥对数据进行加密,针对共享秘钥这里的流程如下:

对于B节点,当接收到传输过来的数据时,解析出其中A节点的随机公钥,之后利用A节点的随机公钥 与 B节点自身的私钥 计算出对称秘钥(KA算法)。之后利用对称秘钥机密数据。

对于以上加密方式,其实仍然存在很多问题,比如如何避免重放攻击(在消息中加入 Nonce ),再比如彩虹表(参考 KDF机制解决 )之类的问题。由于时间及能力有限,故暂时忽略。

那么究竟应该采用何种加密呢?

主要还是基于要传输的数据的安全等级来考量。不重要的数据其实做好认证和签名就可以,但是很重要的数据就需要采用安全等级比较高的加密方案了。

密码套件 是一个网络协议的概念。其中主要包括身份认证、加密、消息认证(MAC)、秘钥交换的算法组成。

在整个网络的传输过程中,根据密码套件主要分如下几大类算法:

秘钥交换算法:比如ECDHE、RSA。主要用于客户端和服务端握手时如何进行身份验证。

消息认证算法:比如SHA1、SHA2、SHA3。主要用于消息摘要。

批量加密算法:比如AES, 主要用于加密信息流。

伪随机数算法:例如TLS 1.2的伪随机函数使用MAC算法的散列函数来创建一个 主密钥 ——连接双方共享的一个48字节的私钥。主密钥在创建会话密钥(例如创建MAC)时作为一个熵来源。

在网络中,一次消息的传输一般需要在如下4个阶段分别进行加密,才能保证消息安全、可靠的传输。

握手/网络协商阶段:

在双方进行握手阶段,需要进行链接的协商。主要的加密算法包括RSA、DH、ECDH等

身份认证阶段:

身份认证阶段,需要确定发送的消息的来源来源。主要采用的加密方式包括RSA、DSA、ECDSA(ECC加密,DSA签名)等。

消息加密阶段:

消息加密指对发送的信息流进行加密。主要采用的加密方式包括DES、RC4、AES等。

消息身份认证阶段/防篡改阶段:

主要是保证消息在传输过程中确保没有被篡改过。主要的加密方式包括MD5、SHA1、SHA2、SHA3等。

ECC :Elliptic Curves Cryptography,椭圆曲线密码编码学。是一种根据椭圆上点倍积生成 公钥、私钥的算法。用于生成公私秘钥。

ECDSA :用于数字签名,是一种数字签名算法。一种有效的数字签名使接收者有理由相信消息是由已知的发送者创建的,从而发送者不能否认已经发送了消息(身份验证和不可否认),并且消息在运输过程中没有改变。ECDSA签名算法是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC,最后签名出来的值也是分为r,s。 主要用于身份认证阶段 。

ECDH :也是基于ECC算法的霍夫曼树秘钥,通过ECDH,双方可以在不共享任何秘密的前提下协商出一个共享秘密,并且是这种共享秘钥是为当前的通信暂时性的随机生成的,通信一旦中断秘钥就消失。 主要用于握手磋商阶段。

ECIES: 是一种集成加密方案,也可称为一种混合加密方案,它提供了对所选择的明文和选择的密码文本攻击的语义安全性。ECIES可以使用不同类型的函数:秘钥协商函数(KA),秘钥推导函数(KDF),对称加密方案(ENC),哈希函数(HASH), H-MAC函数(MAC)。

ECC 是椭圆加密算法,主要讲述了按照公私钥怎么在椭圆上产生,并且不可逆。 ECDSA 则主要是采用ECC算法怎么来做签名, ECDH 则是采用ECC算法怎么生成对称秘钥。以上三者都是对ECC加密算法的应用。而现实场景中,我们往往会采用混合加密(对称加密,非对称加密结合使用,签名技术等一起使用)。 ECIES 就是底层利用ECC算法提供的一套集成(混合)加密方案。其中包括了非对称加密,对称加密和签名的功能。

meta charset="utf-8"

这个先订条件是为了保证曲线不包含奇点。

所以,随着曲线参数a和b的不断变化,曲线也呈现出了不同的形状。比如:

所有的非对称加密的基本原理基本都是基于一个公式 K = k G。其中K代表公钥,k代表私钥,G代表某一个选取的基点。非对称加密的算法 就是要保证 该公式 不可进行逆运算( 也就是说G/K是无法计算的 )。 *

ECC是如何计算出公私钥呢?这里我按照我自己的理解来描述。

我理解,ECC的核心思想就是:选择曲线上的一个基点G,之后随机在ECC曲线上取一个点k(作为私钥),然后根据k G计算出我们的公钥K。并且保证公钥K也要在曲线上。*

那么k G怎么计算呢?如何计算k G才能保证最后的结果不可逆呢?这就是ECC算法要解决的。

首先,我们先随便选择一条ECC曲线,a = -3, b = 7 得到如下曲线:

在这个曲线上,我随机选取两个点,这两个点的乘法怎么算呢?我们可以简化下问题,乘法是都可以用加法表示的,比如2 2 = 2+2,3 5 = 5+5+5。 那么我们只要能在曲线上计算出加法,理论上就能算乘法。所以,只要能在这个曲线上进行加法计算,理论上就可以来计算乘法,理论上也就可以计算k*G这种表达式的值。

曲线上两点的加法又怎么算呢?这里ECC为了保证不可逆性,在曲线上自定义了加法体系。

现实中,1+1=2,2+2=4,但在ECC算法里,我们理解的这种加法体系是不可能。故需要自定义一套适用于该曲线的加法体系。

ECC定义,在图形中随机找一条直线,与ECC曲线相交于三个点(也有可能是两个点),这三点分别是P、Q、R。

那么P+Q+R = 0。其中0 不是坐标轴上的0点,而是ECC中的无穷远点。也就是说定义了无穷远点为0点。

同样,我们就能得出 P+Q = -R。 由于R 与-R是关于X轴对称的,所以我们就能在曲线上找到其坐标。

P+R+Q = 0, 故P+R = -Q , 如上图。

以上就描述了ECC曲线的世界里是如何进行加法运算的。

从上图可看出,直线与曲线只有两个交点,也就是说 直线是曲线的切线。此时P,R 重合了。

也就是P = R, 根据上述ECC的加法体系,P+R+Q = 0, 就可以得出 P+R+Q = 2P+Q = 2R+Q=0

于是乎得到 2 P = -Q (是不是与我们非对称算法的公式 K = k G 越来越近了)。

于是我们得出一个结论,可以算乘法,不过只有在切点的时候才能算乘法,而且只能算2的乘法。

假若 2 可以变成任意个数进行想乘,那么就能代表在ECC曲线里可以进行乘法运算,那么ECC算法就能满足非对称加密算法的要求了。

那么我们是不是可以随机任何一个数的乘法都可以算呢? 答案是肯定的。 也就是点倍积 计算方式。

选一个随机数 k, 那么k * P等于多少呢?

我们知道在计算机的世界里,所有的都是二进制的,ECC既然能算2的乘法,那么我们可以将随机数k描 述成二进制然后计算。假若k = 151 = 10010111

由于2 P = -Q 所以 这样就计算出了k P。 这就是点倍积算法 。所以在ECC的曲线体系下是可以来计算乘法,那么以为这非对称加密的方式是可行的。

至于为什么这样计算 是不可逆的。这需要大量的推演,我也不了解。但是我觉得可以这样理解:

我们的手表上,一般都有时间刻度。现在如果把1990年01月01日0点0分0秒作为起始点,如果告诉你至起始点为止时间流逝了 整1年,那么我们是可以计算出现在的时间的,也就是能在手表上将时分秒指针应该指向00:00:00。但是反过来,我说现在手表上的时分秒指针指向了00:00:00,你能告诉我至起始点算过了有几年了么?

ECDSA签名算法和其他DSA、RSA基本相似,都是采用私钥签名,公钥验证。只不过算法体系采用的是ECC的算法。交互的双方要采用同一套参数体系。签名原理如下:

在曲线上选取一个无穷远点为基点 G = (x,y)。随机在曲线上取一点k 作为私钥, K = k*G 计算出公钥。

签名过程:

生成随机数R, 计算出RG.

根据随机数R,消息M的HASH值H,以及私钥k, 计算出签名S = (H+kx)/R.

将消息M,RG,S发送给接收方。

签名验证过程:

接收到消息M, RG,S

根据消息计算出HASH值H

根据发送方的公钥K,计算 HG/S + xK/S, 将计算的结果与 RG比较。如果相等则验证成功。

公式推论:

HG/S + xK/S = HG/S + x(kG)/S = (H+xk)/GS = RG

在介绍原理前,说明一下ECC是满足结合律和交换律的,也就是说A+B+C = A+C+B = (A+C)+B。

这里举一个WIKI上的例子说明如何生成共享秘钥,也可以参考 Alice And Bob 的例子。

Alice 与Bob 要进行通信,双方前提都是基于 同一参数体系的ECC生成的 公钥和私钥。所以有ECC有共同的基点G。

生成秘钥阶段:

Alice 采用公钥算法 KA = ka * G ,生成了公钥KA和私钥ka, 并公开公钥KA。

Bob 采用公钥算法 KB = kb * G ,生成了公钥KB和私钥 kb, 并公开公钥KB。

计算ECDH阶段:

Alice 利用计算公式 Q = ka * KB 计算出一个秘钥Q。

Bob 利用计算公式 Q' = kb * KA 计算出一个秘钥Q'。

共享秘钥验证:

Q = ka KB = ka * kb * G = ka * G * kb = KA * kb = kb * KA = Q'

故 双方分别计算出的共享秘钥不需要进行公开就可采用Q进行加密。我们将Q称为共享秘钥。

在以太坊中,采用的ECIEC的加密套件中的其他内容:

1、其中HASH算法采用的是最安全的SHA3算法 Keccak 。

2、签名算法采用的是 ECDSA

3、认证方式采用的是 H-MAC

4、ECC的参数体系采用了secp256k1, 其他参数体系 参考这里

H-MAC 全程叫做 Hash-based Message Authentication Code. 其模型如下:

在 以太坊 的 UDP通信时(RPC通信加密方式不同),则采用了以上的实现方式,并扩展化了。

首先,以太坊的UDP通信的结构如下:

其中,sig是 经过 私钥加密的签名信息。mac是可以理解为整个消息的摘要, ptype是消息的事件类型,data则是经过RLP编码后的传输数据。

其UDP的整个的加密,认证,签名模型如下:

基于区块链技术的身份验证是怎样的?

具体大概就是对用户输入区块链身份验证图形的身份证及驾驶证信息进行验证区块链身份验证图形,将通过验证区块链身份验证图形的身份证及驾驶证信息标识为有效区块链身份验证图形,将没有通过验证的身份证及驾驶证信息标识为无效,更多精彩应用问题可以关注中芯区块链服务平台,进行实时区块链身份验证图形了解

Identity Verification Using Blockchain (区块链身份认证)

Model based on Dave Birch's article:

User's verifiable attributes of the identity, such as name, age or address are hashed, then digitally signed by a trusted body. Hash with the signature then stored on the Blockchain or DLT and users store their verified ID information encrypted on their phone and carry it with them. During the verification process, user provides the relevant original information with the signed data (retrievable address on the Blockchain or DLT) to a 3rd party, and if the 3rd party can reproduce the hash from the provided information, match it with the one stored on the Blockchain and trust the signature, then the identity of the user can be treated as verified.

Benefits of using this approach:

用户可验证区块链身份验证图形的身份属性(如姓名区块链身份验证图形,年龄或地址)经过哈希处理,然后由受信任区块链身份验证图形的机构进行数字签名。将签名及哈希数据存储在区块链或DLT中,用户将其验证区块链身份验证图形的身份信息存储在手机中加密并随身携带。在验证过程中,用户向第三方提供相关的原始信息和签名数据(例如区块链或DLT上的可检索地址),如果第三方可以从提供的身份信息经哈希处理后,能将其与存储在区块链上的信息匹配并信任签名机构,那么用户的身份可以视为已验证。

使用这种方法的好处区块链身份验证图形

区块链跨境交易在什么阶段进行身份验证

交易发起阶段。

区块链发展仍处于新兴阶段,人才的培养还需要时日,依靠底层技术特性,能够安全、高效和低成本的进行追溯和交易。

区块链是一种带有数据散列验证功能的数据库,区块,就是数据块,按照时间顺序将数据区块组合成一种链式结构,并利用密码学算法,以分布式记账的方式,集体维护数据库的可靠性,所有数据块按时间顺序相连,从而形成区块链。

用于身份管理的区块链:需要考虑的影响

随着区块链身份验证图形我们的生活越来越多地在网上度过区块链身份验证图形,物理世界变得越来越数字化区块链身份验证图形,身份的概念正在发生巨大变化。验证区块链身份验证图形我们是谁以及我们如何在线代表对个人和组织来说都至关重要。

人们希望对自己的身份拥有权力,并控制如何以及与谁共享他们的信息。毛球 科技 认为,组织正在面临更高的安全威胁,同时需要在数字经济中竞争、优化工作流程以及改善客户和员工体验。围绕身份的不断重组和不确定性只会减缓战略创新。

身份和访问管理( IAM )已成为管理和验证数字身份的核心构建块。但是,组织在IAM流程的设计和安全性方面面临挑战,促使他们考虑新技术。

区块链不同于现有的IAM架构,因为区块链本质上是分散的。DLT支持共享记录保存,交易、身份验证和交互通过网络而不是单个中央机构进行记录和验证。

随着网络犯罪、威胁、欺诈和资产泄露事件的激增,组织在保护敏感数据、保护IT和运营基础设施(OT)以及保护人们的身份方面发挥着至关重要的作用。许多企业IAM领导者和IT专业人士都在质疑DLT和共识技术的相关优势和风险,毛球 科技 整理如下:

在IAM流程中使用DLT的问题涉及技术、法律、商业和文化影响。这些影响应该是支持IAM 的任何架构投资的决策过程的基础。

在评估DLT可以在何处以及如何改进组织的IAM基础设施和最终用户体验时,需要考虑下面14个因素。

公司习惯于中央和专有数据存储的基础设施,这为盗窃、破坏、黑客、欺诈和丢失创建了一个蜜罐。这种模式加剧了身份凭证持有者与寻求使用它们的人(包括最终用户)之间的权力失衡。分布式身份验证和治理有望提高效率以及个人和机构的利益,但与中心化的现状背道而驰。

获得许可的区块链架构是一个需要关键考虑的因素,因为很少有企业用例可以完全公开。相反,用例需要保密性和权限才能读写已知参与者的托管区块链。这种区别对安全性、计算和可扩展性还有其他一些影响。

访问级别、特权和限制会发生变化,可识别的属性也是如此。DLT必须能够在各种连接和物联网环境中以最小的延迟准确处理验证的频率和复杂性。

用于验证和分布式访问的共识算法会影响以可扩展和可持续的方式交付服务级别协议所需的速度和计算能力。这些限制推动了IAM区块链的研发,并且是实施范围不可或缺的一部分。

数字身份功能需要可移植。区块链设计可以确保个人信息、可验证性和适当的控制在用户从一个组织过渡到另一个组织时跟随他们。可以调整这些设计以及时促进此过程。

积累大量个人身份信息(PII)的组织面临着新的和不断变化的风险、法规、以隐私为重点的竞争以及消费者日益增长的不信任。DLT支持的用例——例如自我主权身份和数据最小化——通过诸如零知识证明之类的技术提供了更强大的隐私保护。信息和共享控制可以保留在最终用户手中,而不是在数百个组织中复制和存储PII。

存在许多身份和认证标准,包括角色、属性、密钥和权利。这些必须符合通常不存在的区块链技术和跨链互操作性标准。

从集中式范式到分布式范式的转变需要数据、API、系统和治理机制的互连和协调。这不仅发生在IT和OT资产和环境日益多样化的大型组织中,而且发生在其他组织和生态系统合作伙伴中。

法规围绕个人数据,从国际、联邦和州数据保护法的拼凑到生物识别等特定领域。这些都与IAM和区块链架构决策相关。例如,GDPR的被遗忘权使公民能够删除他们的个人信息——这一概念与将PII注册到数据库的不变性不一致。

不变性——无法删除分类账上的记录——有利于安全,但它会影响PII的隐私。确定哪些信息保留在链上与链下对于此列表中的其他标准很重要。链上不变性必须平衡各方的要求和保障措施。

确保个人在任何特定时间拥有用于任何任务的正确加密密钥需要能够更新、撤销和更新访问权限。这是一个独特的IAM要求,DLT必须通过设计加以考虑。

IAM UX是分布式或集中式的,是数字身份、个人身份识别和个人数据控制机制的接口。虽然成功的IAM架构掩盖了最终用户的复杂性,但IAM UX的设计者不能忽视界面对于教育、同意、易用性和可访问性的重要性。

随着数据集的生成和使用规模越来越大——例如,生物识别、 情感 和基因组学——IAM领导者必须考虑当前和长期的风险和合规问题。他们应该专注于数据最小化和隐私工程技术。

新功能、设计和最佳实践正在不断改变IAM格局——更不用说区块链、密码学、人工智能、网络安全、云计算、量子计算和数字钱包等关键概念的突破性发展。这些都必须在设计时和实施后加以考虑。

与任何新兴技术一样,组织应该首先定义问题。然而,IAM-DLT决策不仅仅是另一项IT尽职调查工作。由于监视资本主义、权力动态、地缘政治威胁、可持续商业模式和人权问题是数字身份模型的基础,因此IAM-DLT机会会对个人、机构和经济产生影响。

区块链身份验证图形的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于区块链身份验证图形不符、区块链身份验证图形的信息别忘了在本站进行查找喔。

标签: #区块链身份验证图形

  • 评论列表

留言评论