技術指南 | 從密碼學解讀DCEP認證機制

如今挚躯,我們常采用的是賬本機制赐劣。而賬本機制往往相關聯(lián)的是一種被稱為“賬戶”的身份認證方式倡怎。所謂的“賬戶”常見工作模式就是“賬號”和 “密碼”趟薄。

賬本的維護機構利用賬號與密碼識別用戶的身份,從而確定賬本上記錄的數據的金額的所有者魄藕。在這種模式下内列,“賬號”代表的是用戶的身份標識,密碼是一種確定用戶身份標識正確性的工具背率。

賬本模式中記錄身份的信息大致長這樣:

央行數字貨幣 | 從密碼學解讀DCEP認證機制

在這個模式中话瞧,當張三想要向其他人轉賬的時候,向賬本提供自己需要操作的賬號寝姿,同時還有自己提前 預留在賬本維護者中的密碼信息交排。賬本維護者會根據賬號與密碼進行認證,確保是張三真實在操作賬 本饵筑。

實際上埃篓,密碼只是一種認證方式。在具體的實現當中翻翩,還可以采用手機號都许,郵箱等各種方式稻薇。只要能夠保證,驗證用戶提交的“密碼”信息是曾經預留在賬本維護者這邊的信息即可胶征。這里的“密碼”泛指任何一種可以用于認證用戶身份的信息塞椎。

這種模式是一種非常簡單的身份認證模式。因為只需要保證“現在”用戶提供的身份認證信息與“曾經”用 戶在賬本維護者這里提供的身份認證信息一致睛低。

這種模式的優(yōu)勢點在于可以兼容多種身份認證模式案狠。但這種模式有一個很大的弊端,因為<u style="border-bottom-color: currentColor; border-bottom-style: none; border-bottom-width: 0px; border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-left-color: currentColor; border-left-style: none; border-left-width: 0px; border-right-color: currentColor; border-right-style: none; border-right-width: 0px; border-top-color: currentColor; border-top-style: none; border-top-width: 0px; box-sizing: border-box; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; -webkit-tap-highlight-color: transparent;">在真實的現實生活中存在一個不得不解決的問題钱雷,那就是如何打通多個賬本中記錄的數據</u>骂铁。


打通記錄數據

在現實生活中,我們會遇到一個很常見的場景罩抗,就是我們可能會在不同的銀行都擁有不同的賬戶拉庵。

每當我們在銀行創(chuàng)建新的賬戶時,銀行會為我們的賬戶創(chuàng)建一個賬戶ID套蒂。同時钞支,會讓我們預留一個密 碼,通過這個密碼我們就可以方便地認證我們的身份操刀。

如果我們需要多個賬戶烁挟,只需要重復著一個過程。不同銀行的開戶也都是采用的相同模式骨坑。

在這里我們會遇到一個問題撼嗓。

本質上,每一家銀行所維護的賬本信息都是不同的欢唾。一旦我們想要跨賬本進行操作且警,便會變得很困難。因為每一個賬本都會維護自有的一套賬號體系匈辱。在這個體系中振湾,如何進行賬本信息的打通便是一個困難的事情杀迹。

出于安全考慮亡脸,作為用戶我們不可能直接把自己的密碼信息交給其他人,代替我們進行操作树酪。但是跨賬本的操作又是客觀存在的問題浅碾。為了解決這樣的問題,往往需要維護一個復雜的系統(tǒng)來進行跨賬本的信息共享续语。

那么垂谢,有沒有辦法能夠解決這個問題?

現有的跨系統(tǒng)賬本數據溝通往往是在賬本本身動心思疮茄。通過直接對賬本上的數據傳輸來實現跨系統(tǒng)賬本操作滥朱。這種模式的難點就在于根暑,我們需要復雜的中間協(xié)調系統(tǒng)在各個賬本系統(tǒng)之間進行協(xié)調。

但這個問題如果在DCEP的環(huán)境下徙邻,就會簡單許多排嫌。


密碼學與非對稱加密

首先,DCEP由于本身并不采取賬本的方式實現數字貨幣的功能缰犁,而是采用“真實貨幣”的方式淳地。因此,現有的帅容、基于賬戶的跨系統(tǒng)流轉與身份認證方式便不可行了颇象,我們需要一套新的模式來進行。

基于賬戶體系的模式下并徘,我們會為每一個用戶提供一個唯一的用戶ID遣钳,這個ID用來標記用戶的身份。同 時麦乞,用戶需要在系統(tǒng)中提前放置一個密碼耍贾,系統(tǒng)會根據密碼來驗證用戶的身份。這兩個數據都需要放置在系統(tǒng)中進行記錄路幸。

但這種模式存在的問題是荐开,由于密碼是用戶與系統(tǒng)都知道的一個信息,當系統(tǒng)在試圖打通其他的系統(tǒng)的時候简肴,不能隨意的共享密碼晃听。

央行數字貨幣 | 從密碼學解讀DCEP認證機制

賬本體系中的賬號與密碼是相對獨立的,這其實是導致我們沒辦法隨意共享密鑰的問題關鍵砰识。

理想情況下能扒,密碼應該只有用戶知道的。接下來辫狼,只需要讓用戶的ID與密碼關聯(lián)即可初斑。也就是說,我們可以用用戶的身份驗證來用戶提交的信息的正確性膨处。在這個過程中并不需要泄露密碼见秤。

實際上這個問題在現代密碼學中已經存在一套標準的方式來處理這些事情,這種方式被稱為<u style="border-bottom-color: currentColor; border-bottom-style: none; border-bottom-width: 0px; border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-left-color: currentColor; border-left-style: none; border-left-width: 0px; border-right-color: currentColor; border-right-style: none; border-right-width: 0px; border-top-color: currentColor; border-top-style: none; border-top-width: 0px; box-sizing: border-box; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; -webkit-tap-highlight-color: transparent;">非對稱密碼</u>真椿。

不同于賬號密碼體系中鹃答,非對稱密碼體系使用公鑰與私鑰代替了賬號于密碼。其中公鑰可以用于標識用 戶的身份突硝,也就是原本賬號的功能测摔;私鑰用于證明用戶的身份,也就是原本密碼的功能。但是不同于賬 號密碼之間的無關聯(lián)性锋八,公鑰與私鑰是有關聯(lián)性的浙于。用戶可以私鑰推算出公鑰,然后只需要將公鑰記錄 在系統(tǒng)中即可挟纱。

央行數字貨幣 | 從密碼學解讀DCEP認證機制

由于密碼學原理路媚,我們可以根據私鑰推出公鑰,但是不能從公鑰推斷出私鑰樊销。因此整慎,將公鑰存儲在外部系統(tǒng),即便是完全公開也不會出問題围苫,不會導致私鑰泄露裤园。


交易的驗證過程

在賬號體系下,進行操作之前需要首先將密碼提交給系統(tǒng)進行登陸剂府,驗證用戶的身份正確之后才能進行 下一步操作拧揽。這個流程中,用戶需要向賬戶系統(tǒng)提交密碼腺占。

但是使用公鑰的話淤袜,用戶提交操作不需要前置的登陸過程。取而代之的是衰伯,在每次提交之前將提交的數 據使用私鑰進行簽名铡羡,然后把得到的簽名用戶的操作指令一起發(fā)給系統(tǒng),系統(tǒng)可以直接認證用戶的操作意鲸。

央行數字貨幣 | 從密碼學解讀DCEP認證機制

仔細觀察這個模式烦周,在具體的傳輸過程中,并不存在私鑰的提交過程怎顾。只需要把簽名和交易指令提交读慎,再加上之前提交的公鑰就可以驗證用戶的身份了。

因此槐雾,在不對用戶系統(tǒng)進行任何修改的情況下夭委,我們也可以將同一套規(guī)則對應到不同的賬戶系統(tǒng),保證一套用戶系統(tǒng)可以支持多個賬戶系統(tǒng)募强, 實現數據的跨系統(tǒng)流轉株灸。

由于簽名算法與驗證算法的規(guī)則是有標準所規(guī)定的,不同的系統(tǒng)在實現的時候可以保證實現的一致性钻注。 同時蚂且,由于私鑰不會被暴露,所以一套客戶端可以同時對接在不同的系統(tǒng)上幅恋,實現系統(tǒng)的通用化處理。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末泵肄,一起剝皮案震驚了整個濱河市捆交,隨后出現的幾起案子淑翼,更是在濱河造成了極大的恐慌,老刑警劉巖品追,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玄括,死亡現場離奇詭異,居然都是意外死亡肉瓦,警方通過查閱死者的電腦和手機遭京,發(fā)現死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泞莉,“玉大人哪雕,你說我怎么就攤上這事■瓿茫” “怎么了斯嚎?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長挨厚。 經常有香客問我堡僻,道長,這世上最難降的妖魔是什么疫剃? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任钉疫,我火速辦了婚禮,結果婚禮上巢价,老公的妹妹穿的比我還像新娘陌选。我一直安慰自己,他們只是感情好蹄溉,可當我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布咨油。 她就那樣靜靜地躺著,像睡著了一般柒爵。 火紅的嫁衣襯著肌膚如雪役电。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天棉胀,我揣著相機與錄音法瑟,去河邊找鬼。 笑死唁奢,一個胖子當著我的面吹牛霎挟,可吹牛的內容都是我干的。 我是一名探鬼主播麻掸,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼酥夭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起熬北,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤疙描,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后讶隐,有當地人在樹林里發(fā)現了一具尸體起胰,經...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年巫延,在試婚紗的時候發(fā)現自己被綠了效五。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡炉峰,死狀恐怖畏妖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情讲冠,我是刑警寧澤瓜客,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站竿开,受9級特大地震影響谱仪,放射性物質發(fā)生泄漏。R本人自食惡果不足惜否彩,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一疯攒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧列荔,春花似錦敬尺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至崎溃,卻和暖如春蜻直,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背袁串。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工概而, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人囱修。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓赎瑰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親破镰。 傳聞我的和親對象是個殘疾皇子餐曼,可洞房花燭夜當晚...
    茶點故事閱讀 45,691評論 2 361