本发明涉及身份认证领域,尤其涉及一种基于域名服务DNS系统的区块链数字身份认证方法及系统。
背景技术:
互联网的出现使得全球间的互动越来越紧密,使得我们进入了信息自由传递的时代,但是也相应的带来了巨大的信任鸿沟问题。目前的主流数据库技术系统都是私密且中心化的,在这个系统上是永远无法解决价值转移和互信问题。而伴随着比特币发展而备受瞩目的区块链(Blockchain)技术,将有可能成为下一代数据库系统,通过去中心化技术实现全球互信,从而将把我们带入信用的自由传递时代。
2015年10月,《经济学人》杂志在《信任的机器——区块链的承诺》中对区块链技术进行了这样的定义:区块链是一个更加强有力的技术。它本质上是一个可共享的,可信的,每个人都可以检查的公开账本,但是没有任何一个单一用户能够控制它,整个区块链系统的参与者一起来不断更新,让这本总账本为最新,它能够且只能按照严格的规则和公开的协议来进行修订。同时,该文指出,区块链技术可能是互联网发明以来最大的一次变革,不仅将会彻底改变金融行业,还将会成为全球跨国信用的基石,并且最终深刻的改变人类社会的结构。
由于区块链可以让人类无地域限制的、去信任的方式来进行大规模协作,因此区块链技术的应用绝不仅仅局限在金融支付领域,而是将扩展到目前所有应用范围,例如医疗、供应链、物联网、公证、社交,甚至是人工智能方面都将开始涉及。
然而,区块链技术要被广大互联网用户所接受,其中面临的一个巨大的挑战是,网络交流需要面对的Zooko三角问题。这个问题也是网络协议中所有系统给参与者命名所需要面对的:如何能够给一个网址或者某个用户一个身份识别符(如张三)的同时又确保其安全性、去中心化和容易使用(即不是以一种32位字符的字母数字字符串的形式)。
互联网用户在使用区块链时,其中一个明显的问题就是必须发送一个区块链的32位字符地址,才能完成区块链的操作。而这个地址由于过于冗长,因而存在难以适合人类记忆的问题。所以,区块链要让大众易于接受,就需要一个创新的解决方案,使得用户能够建立一个更加人性化的名称(例如在社交媒体中使用的名称)来进行区块链操作。
考虑到由于区块链中每个用户都拥有一个区块链地址(即公钥),所以该方案需从如何将区块链网络数字身份信息同人类方便使用的名称相绑定入手。
域名服务DNS系统(Domain Name System,DNS)是全球互联网中一项重要的基础设施,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而无需使用不适合人类记忆的IP地址字符串。自1985年1月第一个域名的诞生,域名长达30年的使用历程充分说明了其具备易用性,便于人类沟通和记忆。
在域名服务DNS系统中,存储着各类的记录,包括A记录,NS记录以及CNMAE记录等,分别记录了域名所对应的各类信息,例如A记录域名(或主机名)所对应的IP地址记录;NS记录来指定域名由哪个权威服务器来解析。由于域名服务DNS系统的可扩展性,DNS资源记录类型可以进行扩增。
基于以上出发点,本发明通过提出一种基于域名服务DNS系统的区块链数字身份认证方法,在不改变域名服务DNS系统及区块链底层网络系统的情形下,将区块链中的网络数字身份同域名相关联,提升区块链网络的易用性,使区块链技术更易被大众所接受。
技术实现要素:
本发明通过提出一种基于域名的区块链数字身份认证方法,在不改变域名服务DNS系统及区块链底层网络系统的情形下,将区块链中的网络数字身份同域名相关联,提升区块链网络的易用性。通过将域名作为区块链网络用户名,并链接到区块链地址,不仅可以对用户的数字身份进行认证,也能在未来的任何时候根据需要搜索区块链记录。
本发明提出了一种基于域名服务DNS系统的区块链数字身份认证方法,其包括以下步骤:
步骤一、区块链用户在所述域名服务DNS系统中注册域名;
步骤二、在所述域名服务DNS系统中构建区块链公钥记录,使用所述区块链公钥记录将所述区块链中的网络数字身份与所述区块链关联;
步骤三、通过所述域名服务DNS系统与所述区块链之间的交互接口对用户身份进行认证。
其中,所述步骤一具体为:使用区块链进行操作的用户在为其分配公钥后,在域名注册系统中注册一个域名,并记录用户的公钥信息,并将该域名作为区块链用户的用户名。
其中,所述步骤二具体为:在域名服务DNS系统中增加一种资源记录类型——区块链公钥记录,使用该记录将区块链中的网络数字身份同所注册域名相关联,便于用户基于域名查询公钥信息。
其中,所述步骤三包括:在域名服务DNS系统与区块链中增加交互接口,用于用户名与公钥的查询转换。
其中,所述步骤三还包括:
(a1)用户输入对方用户的域名;
(a2)对方用户的域名输入完成后,区块链的用户操作层将调用交互接口发起DNS区块链公钥记录查询;
(a3)所述域名服务DNS系统根据用户通过交互接口提交的查询记录类型及域名信息,返回对应的DNS区块链公钥记录;
(a4)在区块链底层网络中,根据域名服务DNS系统返回的公钥信息及前一次的操作信息进行签名,对方用户使用其私钥对签名进行验证;
(a5)操作完成后,对操作过程进行查看。
本发明还提出了一种基于域名服务DNS系统的区块链数字身份认证系统,包括:区块链用户操作层、域名服务DNS系统、区块链底层网络以及交互接口,其特征在于:
所述区块链操作层,其用于区块链用户进行操作;
所述域名服务DNS系统,其用于为所述区块链用户提供域名服务;
所述区块链底层网络,其用于为所述区块链用户提供区块链服务;
所述交互接口,其用于为所述域名服务DNS系统与所述区块链底层网络提供接口。
其中,所述区块链用户操作层还包括用户输入模块,其用于用户进行输入操作。
其中,所述域名服务DNS系统还包括查询模块,其用于根据用户通过所述交互接口提交的查询记录类型及域名信息,查询并返回对应的DNS区块链公钥记录。
其中,所述区块链底层网络包括验证模块,其用于根据域名服务DNS系统返回的公钥信息及前一次的操作信息进行签名,对方用户使用其私钥对签名进行验证。
通过本发明的基于域名服务DNS系统的区块链数字身份认证方法及系统,其实现了:
1.在不改变当前域名服务DNS系统及区块链网络的运行模式的前提下,囊括了区块链底层网络层、域名服务DNS系统层、用户操作层以交互接口。
2.改变了当前区块链网络中通过输入冗长的32位公钥信息完成操作的模式。区块链的参与用户只需在使用时输入对方用户简短的用户名(即域名)即可完成一键式操作,避免了利用公钥操作带来的“公钥字符串不易记忆”、“公钥错误导致操作不可逆转”的问题。
3.增加了一种DNS资源记录类型——区块链公钥记录,将区块链中的网络数字身份同域名相关联,为区块链的数字身份认证提供了基础。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
附图1示出了根据本发明实施方式的一种基于域名服务DNS系统的区块链数字身份认证方法;
附图2示出了根据本发明实施方式的一种基于域名服务DNS系统的区块链数字认证系统。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明提出了一种基于域名服务DNS系统的区块链数字身份认证方法,其包括以下步骤:
步骤一、区块链用户在所述域名服务DNS系统中注册域名;
步骤二、在所述域名服务DNS系统中构建区块链公钥记录,使用所述区块链公钥记录将所述区块链中的网络数字身份与所注册域名关联;
步骤三、通过所述域名服务DNS系统与所述区块链之间的交互接口对用户身份进行认证。
其中,所述步骤一具体为:使用区块链进行操作的用户在为其分配公钥后,在域名注册系统中注册一个域名,并记录用户的公钥信息,并将该域名作为区块链用户的用户名。
其中,所述步骤二具体为:在域名服务DNS系统中增加一种资源记录类型——区块链公钥记录,使用该记录将区块链中的网络数字身份同所注册域名相关联,便于用户基于域名查询公钥信息。
其中,所述步骤三包括:在域名服务DNS系统与区块链中增加交互接口,用于用户名与公钥的查询转换。
其中,所述步骤三还包括:
(a1)用户输入对方用户的域名;
(a2)对方用户的域名输入完成后,区块链的用户操作层将调用交互接口发起DNS区块链公钥记录查询;
(a3)所述域名服务DNS系统根据用户通过交互接口提交的查询记录类型及域名信息,返回对应的DNS区块链公钥记录;
(a4)在区块链底层网络中,根据域名服务DNS系统返回的公钥信息及前一次的操作信息进行签名,对方用户使用其私钥对签名进行验证;
(a5)操作完成后,对操作过程进行查看。
本发明还提出了一种基于域名服务DNS系统的区块链数字身份认证系统,包括:区块链用户操作层、域名服务DNS系统层、区块链底层网络以及交互接口,其特征在于:
所述区块链操作层,其用于区块链用户进行操作;
所述域名服务DNS系统层,其用于为所述区块链用户提供域名服务;
所述区块链底层网络,其用于为所述区块链用户提供区块链服务;
所述交互接口,其用于为所述域名服务DNS系统层与所述区块链底层网络提供接口。
其中,所述区块链用户操作层还包括用户输入模块,其用于用户进行输入操作。
其中,所述域名服务DNS系统层还包括查询模块,其用于根据用户通过所述交互接口提交的查询记录类型及域名信息,查询并返回对应的DNS区块链公钥记录。
其中,所述区块链底层网络包括验证模块,其用于根据域名服务DNS系统层返回的公钥信息及前一次的操作信息进行签名,对方用户使用其私钥对签名进行验证。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。