NFT基础教程 2.7身份验证 2022年5月5日 by 0x0ba0700c71f0cdd5a097ffaf8e15fc2bfa63c1b9 NFT可以应用于身份认证,实现对用户信息的完整记录,同时增强网络隐私。每个NFT都会包含,其在智能合约中的身份信息。智能合约是在以太坊等主网上用计算机代码编写的合约。当满足某些条件时,合约就会自动执行合约中要求的一系列任务。NFT还可以与其他智能合约进行交互,无需人工干预。得益于此,驾驶证、护照、出生证明等都可以拥有一个具有可证明性的NFT。NFT可以让我们最终拥有数字和实物商品,提高用户对自己身份、艺术家对自己的创作的更多控制权,同时减少公司对于用户的控制权及干预。 用例:Decentraland,CryptoKitties,Blockchain App Factory 自2017年CryptoKitties亮相以来,非同质化代币(NFT)变得越来越受欢迎。虽然目前游戏行业拥有最多的NFT活跃用例,但身份识别等其他领域也在逐步开始使用非同质化代币技术。NFT代币拥有的元数据独一无二,仅与特定独特资产产生关联。因此,NFT无法被任何其他代币取代,因为其他所有代币一一即使是遵守同一代币标准(ERC-721)的代币一一也无法取代其记录的元数据。 数据存储和共享能力带来了诸多好处,信息数字化已成为日益增长的趋势,但同时也引发了许多对个人数据安全性的质疑。近些年出现了许多黑客和个人信息泄露事件。越来越多的人意识到,一直依靠第三方的外部服务器来存储个人数据并不是长久之计。 新机遇 区块链试图为此提供解决方案,以兼顾可访问性、隐私性和安全性。这项举措主要得益于非同质化代币(NFT)的发展,可以专门用来存储、管理数据身份和数据。 NFT包含特定商品或资产的独特信息,这使得NFT成为区块链上用于识别和认证的一个很好的用例。每个人都拥有独特属性和身份信息一一NFT可以使病例、个人档案、教育信息、地址等信息数字化,让数据由用户自己轻松操控。随着区块链的应用越来越多,越来越多人将会使用NFT存储个人数据。这项技术拥有光明前景。 谈及数字身份管理,区块链会使公私机构运营更加高效,改善服务质量,区块链身份管理提供了一个私密、安全、功能强大的软件生态系统。但尽管区块链技术显著改善了数字身份管理,但当下仍然存在一些问题:可用性,(丢失的)私钥处理方式,用户数量等。此外,大多数用于数字身份管理的区块链都将部分数据存储在第三方系统中(比如将信息存储在计算机或服务器内存中的钱包)。 本文中,我们将引入一个新的概念,IdToken。IdToken的使用让身份识别更加安全、快速,可重复使用。 传统身份管理模式 传统身份管理模式存在一些问题,例如,往往需要委托中央机构,无法保证透明度的问题。为这些用例开发新的身份管理模型已成为重要趋势。而在区块链生态系统中,传统上并没有中心化收集身份信息的组织。区块链账本不可改变,可以验证并确保用户、交易、消息的合法性。区块链认证通过智能合约完成,不需要第三方验证交易。这可以降低成本,同时提高安全性和私密性。 在传统身份管理中,最受欢迎的区块链软件无疑是Hyperledger Indy.利用Hyperledger Indy进行数据管理的例子有很多,如Sovrin(去中心化全球自主权身份公共事业),MyData(与Sovrin联合构建自主权身份和认证机制的计划)等。Indy是一个分布式账本,专门为去中心化身份认证而设计,拥有完整的开源规范、术语和设计模式,有助于助推去中心化身份解决方案的提出。Hyperledger Indy是管理数字身份问题的一个不错的方案,但Indy并没有完全解决问题。 Indy存在的问题 1.用户信息存储在钱包或者简历夹中,并没有存储在区块链上,容易丢失。 2.如果用户更换公司,该用户需要向原公司申请所有身份信息,耗时耗力。 3.每次中请需要拥有去中心化标识符(DecentralizedIdentifiers,DID),也就是说,每次申请都需要新建DID用户名和密码,占据了区块链很大内存。 4.DID长度过短有可能造成安全数据泄漏,引发安全问题。针对这些问题,我们以IdToken为例,对以上问题做出了回答,下文我们将予以详细讨论。(融合了IdToken的Hyperledger Indy称为IdChain) IdToken身份管理模式 为了更好地理解IdToken和IdChain的发展,举例来说,至少需要考虑三个要素:用户、公司和机构(为用户提供身份属性保证)。在IdChain中,每个用户的注册方式和模式都是一样的。用户想要在IdChain中注册,需要提供个人资料(即姓名、姓氏)和生物识别数据(指纹或面部识别)。生物识别数据经过加密哈希转换后成为私钥,私钥存储在个人设备的加密引擎中,生成私钥后生成公钥。 在IdChain中注册完成后,账本中需要创建一个新区块,且代币智能合约生成器会执行并自动生成。在新区块中,用户可以插入,并用公钥存储和加密所有个人数据。用户可以使用私钥(生物识别数据的哈希值)在IdToken中读取和插入新的信息;若想授予某人只读数据访问权,用户必须分享公钥。 这种模式的优点是,用户可以在IdToken里面插入所有信息。在Hyperledger Indy中,钱包的很多的数据都存储在本地设备(智 能手机,电脑)上,可能会导致信息丢失。但在IdChain中,即使用户的个人设备丢失,仍可以使用生物识别数据访问,免去的中央机构的干预。 如果用户想要让其公司从机构方获得自己的身份信息,需要进行以下步骤: 用户和公司在IdChain上拥有账号。用户用自己的IdToken向公司表明身份,身份由其所在机构认证。 用户向公司申请提供IdToken访问权限,并提供用户个人的公钥。公司收到请求后,验证IdToken中的可验证凭证,接受请求。 用户和公司的身份得到验证(数字签名)。 身份验证后,公司向用户发送请求,要求提供企业决定是否雇佣用户所需的信息。 用户接受并发送IdToken(只包含公司所需信息,并由机构进行验证)。 公司能够读取用户数据,用公用户的钥解密用户IdToken。 此系列步骤中,每一个操作都会有时间戳。这样一来,双方都知晓对方身份,能够安全可靠地进行操作。 IdToken的优点 无需专有软件或基础设施。IdChain使用公共区块链,用户不需要投入大量资金建立技术基础设施进行身份管理。 数据可撤销。身份数据可以被数据所有者撤销。假如用户更换了信用卡号,数据所有者可以在区块链上撤销以前/无效信用卡号数据。 全球兼容。用户在世界任何地方都可以存储和分享身份信息。用户数据无论在什么国家都可以进行访问和使用。如果用户更换新公司,只需将idToken的访问权限开放给新公司即可。 所有信息为区块链原生,无需本地存储。 安全性和可验证凭证。个人信息都将经过哈希加密,安全地存储在IdToken中,无需担心安全性问题。此外,IdToken独一无二,不可复制。 这种新数字身份管理和证书分发方法十分有用,且提高了隐私性、安全性和效率。此外,idToken可以取代纸质信息交换,加快用户和公司的身份识别速度,消除传统数字身份管理中无法解决的公开性问题。该模式另一个重要特点是提高了区块链的可用性。IdChain使用嵌入在便携式设备(如智能卡等)中的加密引擎,将身份信息与特定设备(如计算机等)分离。生物识别密钥作为第二种认证因素,解决了Indy认证系统中缺乏认证机构的问题。 未来发展 未来仍然存在隐私问题,还要进一步发展生物识别数据(除指纹方案外)在区块链中的使用。此外,还需要开发工具,将IdToken内的数据量进行分区,使所访问的数据仅为有必要访问的数据,提高区块链的可用性和实用性。 在不久的将来,我们可以预见一个安全性极高的身份管理模式,解锁、分享NFT代币的更多可能,证明物品所有权和身份真实性,为用户身份安全提供保障,同时确保资产/代币的所有权以一种安全、可信的方式进行分享。