本發(fā)明涉及身份認(rèn)證領(lǐng)域,尤其涉及一種基于域名服務(wù)DNS系統(tǒng)的區(qū)塊鏈數(shù)字身份認(rèn)證方法及系統(tǒng)。
背景技術(shù):
互聯(lián)網(wǎng)的出現(xiàn)使得全球間的互動(dòng)越來越緊密,使得我們進(jìn)入了信息自由傳遞的時(shí)代,但是也相應(yīng)的帶來了巨大的信任鴻溝問題。目前的主流數(shù)據(jù)庫技術(shù)系統(tǒng)都是私密且中心化的,在這個(gè)系統(tǒng)上是永遠(yuǎn)無法解決價(jià)值轉(zhuǎn)移和互信問題。而伴隨著比特幣發(fā)展而備受矚目的區(qū)塊鏈(Blockchain)技術(shù),將有可能成為下一代數(shù)據(jù)庫系統(tǒng),通過去中心化技術(shù)實(shí)現(xiàn)全球互信,從而將把我們帶入信用的自由傳遞時(shí)代。
2015年10月,《經(jīng)濟(jì)學(xué)人》雜志在《信任的機(jī)器——區(qū)塊鏈的承諾》中對區(qū)塊鏈技術(shù)進(jìn)行了這樣的定義:區(qū)塊鏈?zhǔn)且粋€(gè)更加強(qiáng)有力的技術(shù)。它本質(zhì)上是一個(gè)可共享的,可信的,每個(gè)人都可以檢查的公開賬本,但是沒有任何一個(gè)單一用戶能夠控制它,整個(gè)區(qū)塊鏈系統(tǒng)的參與者一起來不斷更新,讓這本總賬本為最新,它能夠且只能按照嚴(yán)格的規(guī)則和公開的協(xié)議來進(jìn)行修訂。同時(shí),該文指出,區(qū)塊鏈技術(shù)可能是互聯(lián)網(wǎng)發(fā)明以來最大的一次變革,不僅將會(huì)徹底改變金融行業(yè),還將會(huì)成為全球跨國信用的基石,并且最終深刻的改變?nèi)祟惿鐣?huì)的結(jié)構(gòu)。
由于區(qū)塊鏈可以讓人類無地域限制的、去信任的方式來進(jìn)行大規(guī)模協(xié)作,因此區(qū)塊鏈技術(shù)的應(yīng)用絕不僅僅局限在金融支付領(lǐng)域,而是將擴(kuò)展到目前所有應(yīng)用范圍,例如醫(yī)療、供應(yīng)鏈、物聯(lián)網(wǎng)、公證、社交,甚至是人工智能方面都將開始涉及。
然而,區(qū)塊鏈技術(shù)要被廣大互聯(lián)網(wǎng)用戶所接受,其中面臨的一個(gè)巨大的挑戰(zhàn)是,網(wǎng)絡(luò)交流需要面對的Zooko三角問題。這個(gè)問題也是網(wǎng)絡(luò)協(xié)議中所有系統(tǒng)給參與者命名所需要面對的:如何能夠給一個(gè)網(wǎng)址或者某個(gè)用戶一個(gè)身份識(shí)別符(如張三)的同時(shí)又確保其安全性、去中心化和容易使用(即不是以一種32位字符的字母數(shù)字字符串的形式)。
互聯(lián)網(wǎng)用戶在使用區(qū)塊鏈時(shí),其中一個(gè)明顯的問題就是必須發(fā)送一個(gè)區(qū)塊鏈的32位字符地址,才能完成區(qū)塊鏈的操作。而這個(gè)地址由于過于冗長,因而存在難以適合人類記憶的問題。所以,區(qū)塊鏈要讓大眾易于接受,就需要一個(gè)創(chuàng)新的解決方案,使得用戶能夠建立一個(gè)更加人性化的名稱(例如在社交媒體中使用的名稱)來進(jìn)行區(qū)塊鏈操作。
考慮到由于區(qū)塊鏈中每個(gè)用戶都擁有一個(gè)區(qū)塊鏈地址(即公鑰),所以該方案需從如何將區(qū)塊鏈網(wǎng)絡(luò)數(shù)字身份信息同人類方便使用的名稱相綁定入手。
域名服務(wù)DNS系統(tǒng)(Domain Name System,DNS)是全球互聯(lián)網(wǎng)中一項(xiàng)重要的基礎(chǔ)設(shè)施,它作為可以將域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫,能夠使人更方便的訪問互聯(lián)網(wǎng),而無需使用不適合人類記憶的IP地址字符串。自1985年1月第一個(gè)域名的誕生,域名長達(dá)30年的使用歷程充分說明了其具備易用性,便于人類溝通和記憶。
在域名服務(wù)DNS系統(tǒng)中,存儲(chǔ)著各類的記錄,包括A記錄,NS記錄以及CNMAE記錄等,分別記錄了域名所對應(yīng)的各類信息,例如A記錄域名(或主機(jī)名)所對應(yīng)的IP地址記錄;NS記錄來指定域名由哪個(gè)權(quán)威服務(wù)器來解析。由于域名服務(wù)DNS系統(tǒng)的可擴(kuò)展性,DNS資源記錄類型可以進(jìn)行擴(kuò)增。
基于以上出發(fā)點(diǎn),本發(fā)明通過提出一種基于域名服務(wù)DNS系統(tǒng)的區(qū)塊鏈數(shù)字身份認(rèn)證方法,在不改變域名服務(wù)DNS系統(tǒng)及區(qū)塊鏈底層網(wǎng)絡(luò)系統(tǒng)的情形下,將區(qū)塊鏈中的網(wǎng)絡(luò)數(shù)字身份同域名相關(guān)聯(lián),提升區(qū)塊鏈網(wǎng)絡(luò)的易用性,使區(qū)塊鏈技術(shù)更易被大眾所接受。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明通過提出一種基于域名的區(qū)塊鏈數(shù)字身份認(rèn)證方法,在不改變域名服務(wù)DNS系統(tǒng)及區(qū)塊鏈底層網(wǎng)絡(luò)系統(tǒng)的情形下,將區(qū)塊鏈中的網(wǎng)絡(luò)數(shù)字身份同域名相關(guān)聯(lián),提升區(qū)塊鏈網(wǎng)絡(luò)的易用性。通過將域名作為區(qū)塊鏈網(wǎng)絡(luò)用戶名,并鏈接到區(qū)塊鏈地址,不僅可以對用戶的數(shù)字身份進(jìn)行認(rèn)證,也能在未來的任何時(shí)候根據(jù)需要搜索區(qū)塊鏈記錄。
本發(fā)明提出了一種基于域名服務(wù)DNS系統(tǒng)的區(qū)塊鏈數(shù)字身份認(rèn)證方法,其包括以下步驟:
步驟一、區(qū)塊鏈用戶在所述域名服務(wù)DNS系統(tǒng)中注冊域名;
步驟二、在所述域名服務(wù)DNS系統(tǒng)中構(gòu)建區(qū)塊鏈公鑰記錄,使用所述區(qū)塊鏈公鑰記錄將所述區(qū)塊鏈中的網(wǎng)絡(luò)數(shù)字身份與所述區(qū)塊鏈關(guān)聯(lián);
步驟三、通過所述域名服務(wù)DNS系統(tǒng)與所述區(qū)塊鏈之間的交互接口對用戶身份進(jìn)行認(rèn)證。
其中,所述步驟一具體為:使用區(qū)塊鏈進(jìn)行操作的用戶在為其分配公鑰后,在域名注冊系統(tǒng)中注冊一個(gè)域名,并記錄用戶的公鑰信息,并將該域名作為區(qū)塊鏈用戶的用戶名。
其中,所述步驟二具體為:在域名服務(wù)DNS系統(tǒng)中增加一種資源記錄類型——區(qū)塊鏈公鑰記錄,使用該記錄將區(qū)塊鏈中的網(wǎng)絡(luò)數(shù)字身份同所注冊域名相關(guān)聯(lián),便于用戶基于域名查詢公鑰信息。
其中,所述步驟三包括:在域名服務(wù)DNS系統(tǒng)與區(qū)塊鏈中增加交互接口,用于用戶名與公鑰的查詢轉(zhuǎn)換。
其中,所述步驟三還包括:
(a1)用戶輸入對方用戶的域名;
(a2)對方用戶的域名輸入完成后,區(qū)塊鏈的用戶操作層將調(diào)用交互接口發(fā)起DNS區(qū)塊鏈公鑰記錄查詢;
(a3)所述域名服務(wù)DNS系統(tǒng)根據(jù)用戶通過交互接口提交的查詢記錄類型及域名信息,返回對應(yīng)的DNS區(qū)塊鏈公鑰記錄;
(a4)在區(qū)塊鏈底層網(wǎng)絡(luò)中,根據(jù)域名服務(wù)DNS系統(tǒng)返回的公鑰信息及前一次的操作信息進(jìn)行簽名,對方用戶使用其私鑰對簽名進(jìn)行驗(yàn)證;
(a5)操作完成后,對操作過程進(jìn)行查看。
本發(fā)明還提出了一種基于域名服務(wù)DNS系統(tǒng)的區(qū)塊鏈數(shù)字身份認(rèn)證系統(tǒng),包括:區(qū)塊鏈用戶操作層、域名服務(wù)DNS系統(tǒng)、區(qū)塊鏈底層網(wǎng)絡(luò)以及交互接口,其特征在于:
所述區(qū)塊鏈操作層,其用于區(qū)塊鏈用戶進(jìn)行操作;
所述域名服務(wù)DNS系統(tǒng),其用于為所述區(qū)塊鏈用戶提供域名服務(wù);
所述區(qū)塊鏈底層網(wǎng)絡(luò),其用于為所述區(qū)塊鏈用戶提供區(qū)塊鏈服務(wù);
所述交互接口,其用于為所述域名服務(wù)DNS系統(tǒng)與所述區(qū)塊鏈底層網(wǎng)絡(luò)提供接口。
其中,所述區(qū)塊鏈用戶操作層還包括用戶輸入模塊,其用于用戶進(jìn)行輸入操作。
其中,所述域名服務(wù)DNS系統(tǒng)還包括查詢模塊,其用于根據(jù)用戶通過所述交互接口提交的查詢記錄類型及域名信息,查詢并返回對應(yīng)的DNS區(qū)塊鏈公鑰記錄。
其中,所述區(qū)塊鏈底層網(wǎng)絡(luò)包括驗(yàn)證模塊,其用于根據(jù)域名服務(wù)DNS系統(tǒng)返回的公鑰信息及前一次的操作信息進(jìn)行簽名,對方用戶使用其私鑰對簽名進(jìn)行驗(yàn)證。
通過本發(fā)明的基于域名服務(wù)DNS系統(tǒng)的區(qū)塊鏈數(shù)字身份認(rèn)證方法及系統(tǒng),其實(shí)現(xiàn)了:
1.在不改變當(dāng)前域名服務(wù)DNS系統(tǒng)及區(qū)塊鏈網(wǎng)絡(luò)的運(yùn)行模式的前提下,囊括了區(qū)塊鏈底層網(wǎng)絡(luò)層、域名服務(wù)DNS系統(tǒng)層、用戶操作層以交互接口。
2.改變了當(dāng)前區(qū)塊鏈網(wǎng)絡(luò)中通過輸入冗長的32位公鑰信息完成操作的模式。區(qū)塊鏈的參與用戶只需在使用時(shí)輸入對方用戶簡短的用戶名(即域名)即可完成一鍵式操作,避免了利用公鑰操作帶來的“公鑰字符串不易記憶”、“公鑰錯(cuò)誤導(dǎo)致操作不可逆轉(zhuǎn)”的問題。
3.增加了一種DNS資源記錄類型——區(qū)塊鏈公鑰記錄,將區(qū)塊鏈中的網(wǎng)絡(luò)數(shù)字身份同域名相關(guān)聯(lián),為區(qū)塊鏈的數(shù)字身份認(rèn)證提供了基礎(chǔ)。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
附圖1示出了根據(jù)本發(fā)明實(shí)施方式的一種基于域名服務(wù)DNS系統(tǒng)的區(qū)塊鏈數(shù)字身份認(rèn)證方法;
附圖2示出了根據(jù)本發(fā)明實(shí)施方式的一種基于域名服務(wù)DNS系統(tǒng)的區(qū)塊鏈數(shù)字認(rèn)證系統(tǒng)。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施方式。雖然附圖中顯示了本公開的示例性實(shí)施方式,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
如圖1所示,本發(fā)明提出了一種基于域名服務(wù)DNS系統(tǒng)的區(qū)塊鏈數(shù)字身份認(rèn)證方法,其包括以下步驟:
步驟一、區(qū)塊鏈用戶在所述域名服務(wù)DNS系統(tǒng)中注冊域名;
步驟二、在所述域名服務(wù)DNS系統(tǒng)中構(gòu)建區(qū)塊鏈公鑰記錄,使用所述區(qū)塊鏈公鑰記錄將所述區(qū)塊鏈中的網(wǎng)絡(luò)數(shù)字身份與所注冊域名關(guān)聯(lián);
步驟三、通過所述域名服務(wù)DNS系統(tǒng)與所述區(qū)塊鏈之間的交互接口對用戶身份進(jìn)行認(rèn)證。
其中,所述步驟一具體為:使用區(qū)塊鏈進(jìn)行操作的用戶在為其分配公鑰后,在域名注冊系統(tǒng)中注冊一個(gè)域名,并記錄用戶的公鑰信息,并將該域名作為區(qū)塊鏈用戶的用戶名。
其中,所述步驟二具體為:在域名服務(wù)DNS系統(tǒng)中增加一種資源記錄類型——區(qū)塊鏈公鑰記錄,使用該記錄將區(qū)塊鏈中的網(wǎng)絡(luò)數(shù)字身份同所注冊域名相關(guān)聯(lián),便于用戶基于域名查詢公鑰信息。
其中,所述步驟三包括:在域名服務(wù)DNS系統(tǒng)與區(qū)塊鏈中增加交互接口,用于用戶名與公鑰的查詢轉(zhuǎn)換。
其中,所述步驟三還包括:
(a1)用戶輸入對方用戶的域名;
(a2)對方用戶的域名輸入完成后,區(qū)塊鏈的用戶操作層將調(diào)用交互接口發(fā)起DNS區(qū)塊鏈公鑰記錄查詢;
(a3)所述域名服務(wù)DNS系統(tǒng)根據(jù)用戶通過交互接口提交的查詢記錄類型及域名信息,返回對應(yīng)的DNS區(qū)塊鏈公鑰記錄;
(a4)在區(qū)塊鏈底層網(wǎng)絡(luò)中,根據(jù)域名服務(wù)DNS系統(tǒng)返回的公鑰信息及前一次的操作信息進(jìn)行簽名,對方用戶使用其私鑰對簽名進(jìn)行驗(yàn)證;
(a5)操作完成后,對操作過程進(jìn)行查看。
本發(fā)明還提出了一種基于域名服務(wù)DNS系統(tǒng)的區(qū)塊鏈數(shù)字身份認(rèn)證系統(tǒng),包括:區(qū)塊鏈用戶操作層、域名服務(wù)DNS系統(tǒng)層、區(qū)塊鏈底層網(wǎng)絡(luò)以及交互接口,其特征在于:
所述區(qū)塊鏈操作層,其用于區(qū)塊鏈用戶進(jìn)行操作;
所述域名服務(wù)DNS系統(tǒng)層,其用于為所述區(qū)塊鏈用戶提供域名服務(wù);
所述區(qū)塊鏈底層網(wǎng)絡(luò),其用于為所述區(qū)塊鏈用戶提供區(qū)塊鏈服務(wù);
所述交互接口,其用于為所述域名服務(wù)DNS系統(tǒng)層與所述區(qū)塊鏈底層網(wǎng)絡(luò)提供接口。
其中,所述區(qū)塊鏈用戶操作層還包括用戶輸入模塊,其用于用戶進(jìn)行輸入操作。
其中,所述域名服務(wù)DNS系統(tǒng)層還包括查詢模塊,其用于根據(jù)用戶通過所述交互接口提交的查詢記錄類型及域名信息,查詢并返回對應(yīng)的DNS區(qū)塊鏈公鑰記錄。
其中,所述區(qū)塊鏈底層網(wǎng)絡(luò)包括驗(yàn)證模塊,其用于根據(jù)域名服務(wù)DNS系統(tǒng)層返回的公鑰信息及前一次的操作信息進(jìn)行簽名,對方用戶使用其私鑰對簽名進(jìn)行驗(yàn)證。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。