万华 周虎 朱德新 孙羽
关键词:区块链;量子密钥;身份认证
中图分类号:TP311 文献标识码:A
1引言(Introduction)
互联网的发展使信息化的服务逐渐渗透到人们生活的方方面面,传统活动逐渐被网络活动所代替,在此过程中,一大批新的技术涌现,区块链技术便是其中之一。伴随着比特币[1]而兴起的区块链技术是一种广泛应用于数字加密货币、医疗溯源、公证防伪、金融的基础架构和计算范式,有望实现信息互联网向价值互联网的转变[2-5]。然而,互联网复杂、开放的特性,使得区块链系统经常存在恶意节点介入[6]、用户非法访问[7]等安全隐患,极大地阻碍了区块链技术的发展。由于区块链中账本数据采用公开交易记录、多节点共识确认的方式进行存储和验证,因此区块链系统用户身份的合法性至关重要。针对目前区块链系统存在的身份伪造、用户非法访问等问题,引入身份认证机制,是保障区块链安全的一种重要解决方案[8-9],特别是近年来量子密码学[10-11]的发展给区块链身份认证提供了一种新的简单、安全、易行的途径。因此,本文设计了一种基于量子密码学的技术,即利用量子密钥作为唯一身份标识,通过比对设备间量子密钥散列值的方式,实现用户区块链系统身份安全认证的方法。
2 相关知识介绍( Introduction to related technologies)
区块链技术:区块链技术是以比特币为代表的数字加密货币体系的核心支撑技术。区块链技术的核心优势是去中心化、不可篡改、不可伪造、共识确认等,通过运用时间戳、数据加密、分布式共识和经济激励等手段,实现在无信任的分布式系统中去中心化的点对点交易、协调和协作,为中心化机构普遍存在的高成本、低效率等问题提供了解决方案。
量子密钥分配技术:量子密钥是量子力学理论的集大成者,它的来源核心依赖于量子密钥分发系统,量子密钥分发系统可以在空间分离的用户之间以信息理论安全的方式制备和共享具备真随机性的量子密钥。量子密钥分配技术历经多年发展,已形成量子密钥分配终端、量子密码云服务网络等成熟的产业化设备,能为用户提供安全量子密码,成为信息安全的重要基础设施。
RSA非对称加密算法:RSA是一种非对称加密算法,密钥分为公钥(Public Key,PK)和私钥(Secret Key,SK)两个部分,公钥可以向外公开,任何人都可以获取,私钥必须私密保存。公钥和私钥之间具有严格的数学关联,因此是成对出现的。其中,用于生成公钥和私钥的算法是公开的。
3系统总体设计(Overall system design)
为了利用量子密钥实现区块链系统的身份安全认证,本系统模型分为量子密钥云服务器模块、用户模块、客户端模块、移动端模块、密钥分配中心模块和区块链系统模块共六大模块。基于量子密钥的区块链身份认证系统模型图如图1所示。
区块链身份认证系统各个部分模块详细介绍如下。
(1)量子密钥云服务器:本模块主要负责为区块链用户身份认证提供量子密钥服务,它按照顺序依次生成一连串固定长度的量子密钥序列,并按顺序两两一组依次对量子密钥进行异或加密运算,并将运算结果发送至客户端,同时负责对移动端发送过来的哈希散列结果进行比对。
(2)密钥分配中心:本模块主要负责为在认证过程中需要事先在量子密钥云服务器和移动端共享的初始量子密钥序列加密。密钥分配中心会利用RSA非对称加密算法为移动端生成用于加密量子密钥的公钥和私钥,量子密钥云服务器首先会向密钥分配中心发送移动端公钥的请求,密钥分配中心响应请求并发送移动端加密公钥给量子密钥云服务器,其中本方案默认密钥分配中心是完全可信的。
(3)移动端:本模块主要负责用户信息注册和登录,成功注册的用户会获得登录移动端的权限,登录成功后开启二维码扫描功能,扫描客户端界面展现的二维码,利用量子密钥解密异或加密运算的结果获得量子密钥明文,并将量子密钥明文进行哈希散列运算发送给量子密钥云服务器。
(4)客户端:本模块主要负责向量子密钥云服务器申请二维码,并将二维码呈现到客户端界面。
(5)区块链网络:在量子密钥云服务器比对散列值成功后,主要负责将区块链身份验证成功的用户信息以键值对的方式写入区块链账本中。
(6)用户:区块链系统认证的实体组成部分。
区块链身份认证系统时序图如图2所示。
4 认证算法详细设计(Detailed design of authenticationalgorithms)
用户进行区块链系统的身份认证之前,需要在应用程序后台提交注册信息,获取登录平台的账号和密码等凭证,用户成功登录后,开始进行基于量子密钥区块链身份认证。区块链系统用户身份认证流程如下:①公钥和私钥请求。②量子密钥云服务器初始化、初始量子密钥序列生成、加解密初始量子密钥序列。③用户身份信息注册、登录。④量子密钥异或加密、生成二维码。⑤应用程序扫码、解密和进行散列运算。⑥散列值比对、验证、用户信息数据上链。具体的量子密钥认证方案流程如图3所示。
5 系统实现(System implementation)
5.1 移动端模块
5.1.1 用户注册、登录
用户注册后可利用用户名和密码登录移动端,只有合法的用户才能登录移动端完成后续区块链系统登录,用户注册和登录界面如图4(a)和图4(b)所示。
5.1.2 移动端解密、散列运算
量子密钥云服务器利用移动端公钥将量子密钥序列加密后,移动端接收密文结果,用自身提前保存好的私钥解密得到量子密钥明文并将它作为解密密钥预存在移动端中,然后移动端开启二维码扫描,将嵌在二维码中的密文信息解密获得明文,并将取得的明文进行哈希散列运算。
5.2密钥分配中心模块
当用户注册并成功登录后,密钥分配中心主要负责为移动端模块和量子密钥云服务器模块分配移动端设备的公钥和私钥,其中公钥用于加密量子密钥序列,私钥用于解密量子密钥序列。本系统使用的移动端公私钥如图5所示。
5.3量子密钥云服务器模块
移动端对量子密钥序列密文j T 解密后得到量子密钥明文,并将明文进行散列运算得到散列值发送给量子密钥云服务器,量子密钥云服务器将自身存储的量子密钥散列后与接收到的散列值进行比对,如果两者的散列值相等,则表示认证成功,用户允许进入区块链系统;否则,拒绝进入区块链系统。表1表示的是一些用户认证成功的信息。
5.4区块链平台模块
区块链平台模块主要负责将成功加入区块链的用户身份信息以键值对的方式打包成交易写入区块中,其中键Key为账户的散列值,具有唯一性。Value为用户账户名、昵称和密码。打包并成功写入区块链中的键值对用户数据信息具有唯一标识用户的作用。区块链用戶身份信息写入成功界面如图6所示。
6结论(Conclusion)
本文针对当前区块链系统中存在的用户身份非法访问、身份伪造等问题设计了一种利用量子密钥作为唯一认证标识实现区块链系统用户身份安全认证的方法,并实现了用户身份信息安全上链可查询验证。实验结果表明,依托量子密码技术,利用量子密钥这一载体,可以实现区块链系统用户身份安全认证。同时,对于已经上链的用户信息可以起到很好的隐私保护。
作者简介:
万华(1995-),男,硕士生.研究领域:区块链身份认证,量子通信.
周虎(1998-),男,硕士生.研究领域:区块链身份认证,机器学习.
朱德新(1982-),男,硕士,讲师.研究领域:区块链,量子密码技术.
孙羽(1996-),男,硕士生.研究领域:可搜索加密.