尚維斯,高睿
[1.上海二秒科技有限公司,上海200050;
2.賽迪(青島)區(qū)塊鏈研究院,山東青島266000]
區(qū)塊鏈技術(shù)問(wèn)世不久,便在很短的時(shí)間內(nèi)風(fēng)靡全球。2017年起,這項(xiàng)萬(wàn)眾矚目的新技術(shù)受到諸多風(fēng)險(xiǎn)投資的青睞。
以“中國(guó)知網(wǎng)”數(shù)據(jù)庫(kù)文獻(xiàn)為例,以“區(qū)塊鏈”為關(guān)鍵詞進(jìn)行篇名檢索,共能獲得區(qū)塊鏈相關(guān)文獻(xiàn)高達(dá)1881篇的檢索量。然而,以“區(qū)塊鏈”和“安全”為關(guān)鍵詞進(jìn)行篇名檢索,獲得的相關(guān)文獻(xiàn)卻僅有65篇。
事實(shí)上,隨著區(qū)塊鏈的不斷發(fā)展,數(shù)字通證被盜的案件也與日俱增。
2 0 1 4 年2 月2 4 日,M t.G o x(俗 稱“門 頭溝”)其交易平臺(tái)85萬(wàn)個(gè)比特幣被盜;2015年2月18日,比特幣存錢罐3000個(gè)比特幣被盜;2016年8月3日,Bitfinex被盜取119756枚比特幣;2017年7月17日coindash被盜取4萬(wàn)個(gè)以太幣。
互聯(lián)網(wǎng)時(shí)代的到來(lái),使人們的生活水平得到了極大提升。電子信息技術(shù)的發(fā)展,加快了日常的生活節(jié)奏。伴隨而來(lái)的就是電子信息安全出現(xiàn)各種安全問(wèn)題[1],這樣的情況同樣發(fā)生在區(qū)塊鏈行業(yè)中。市場(chǎng)上正在有越來(lái)越多的投資機(jī)構(gòu)、企業(yè)和創(chuàng)業(yè)團(tuán)隊(duì)進(jìn)入到區(qū)塊鏈這個(gè)領(lǐng)域,他們持有的各類數(shù)字通證規(guī)模也在快速擴(kuò)大。在過(guò)去的幾年中,區(qū)塊鏈領(lǐng)域的一些團(tuán)隊(duì)也曾嘗試過(guò)或正在嘗試?yán)酶鞣N技術(shù)增強(qiáng)數(shù)字通證錢包的安全性,但是目前針對(duì)企業(yè)級(jí)別的數(shù)字通證管理系統(tǒng)十分缺乏,也沒(méi)有完整的多人共同管理通證的有效手段。這種情況與企業(yè)傳統(tǒng)的資產(chǎn)管理流程存在巨大差別??陀^地說(shuō),中國(guó)在人類第五活動(dòng)空間的生活當(dāng)前還處于劣勢(shì)[2]。
科技的快速發(fā)展推動(dòng)了計(jì)算機(jī)技術(shù)的進(jìn)步,其被運(yùn)用于社會(huì)生活的多個(gè)方面。但由于其自身特點(diǎn)與缺陷,加之其它因素的影響,使得人們也逐漸開始關(guān)注計(jì)算機(jī)網(wǎng)絡(luò)信息的安全,并采取積極防御措施[3]。
類比計(jì)算機(jī)技術(shù),區(qū)塊鏈的發(fā)展同樣離不開安全的城池。而支持多通證的區(qū)塊鏈在線授信數(shù)字系統(tǒng)的誕生,實(shí)實(shí)在在彌補(bǔ)了這個(gè)新行業(yè)的一大漏洞。授信系統(tǒng)是一套企業(yè)自主擁有的數(shù)字通證管理系統(tǒng)。針對(duì)企業(yè)程式化、自動(dòng)化使用做了完備的工作。它沒(méi)有使用花哨的技術(shù),而是使用區(qū)塊鏈公理性技術(shù),通過(guò)授信系統(tǒng)統(tǒng)一管理企業(yè)所擁有的各類數(shù)字通證,例如BTC、ETH、USDT、EOS等主流通證。在信息傳遞上使用了獨(dú)創(chuàng)的公鑰交換協(xié)議來(lái)保障員工間信息流轉(zhuǎn)互信;在通信上,使用了迪菲-赫爾曼密鑰交換(Diffie-hellman Key Exchange)安全協(xié)議,來(lái)確保通信安全以及確保通信前向安全。前向安全能夠保護(hù)過(guò)去進(jìn)行的通訊不受密碼或密鑰在未來(lái)暴露的威脅。如果系統(tǒng)具有前向安全性,就可以保證密碼或密鑰在某個(gè)時(shí)刻不慎泄露,過(guò)去已經(jīng)進(jìn)行的通訊依然是安全的;通過(guò)將私鑰運(yùn)行時(shí)駐留內(nèi)存中的方式讓其永不暴露,通過(guò)企業(yè)自主擁有的私有區(qū)塊鏈網(wǎng)絡(luò)保證操作指令和資產(chǎn)數(shù)據(jù)的存證和驗(yàn)真,通過(guò)順序性私鑰簽名方式構(gòu)建企業(yè)訂制化資產(chǎn)管理業(yè)務(wù)流,同時(shí)授信系統(tǒng)具有入侵鎖死、系統(tǒng)重置等安全機(jī)制,以此保證企業(yè)數(shù)字通證的高安全性。
2.1.1 系統(tǒng)總體設(shè)計(jì)
授信系統(tǒng)是一整套企業(yè)數(shù)字通證解決方案。如圖1所示,其從整體架構(gòu)上分為授權(quán)層、私鏈層、接入層和客戶端。
授權(quán)層負(fù)責(zé)兩件事情:接受私鑰管理者的指令,啟動(dòng)或停止簽名服務(wù);對(duì)輸入的數(shù)據(jù)進(jìn)行校驗(yàn),校驗(yàn)通過(guò)則根據(jù)業(yè)務(wù)流轉(zhuǎn)信息內(nèi)的指令向公鏈發(fā)起轉(zhuǎn)移數(shù)字通證動(dòng)作。
私鏈層負(fù)責(zé)對(duì)來(lái)往信息數(shù)據(jù)存證和驗(yàn)真。私鏈由以太坊構(gòu)建,伴生程序是私鏈和其它層之間交互的橋梁。
接入層負(fù)責(zé)與企業(yè)用戶之間業(yè)務(wù)交互。
2.1.2 角色
授信系統(tǒng)角色分為兩種:最高權(quán)限管理者和普通員工。最高權(quán)限管理者擁有對(duì)授信系統(tǒng)數(shù)字通證賬戶的私鑰管理權(quán)限和審核模版設(shè)置的權(quán)限,普通員工擁有發(fā)起數(shù)字通證轉(zhuǎn)移申請(qǐng)、審批的權(quán)限。最高權(quán)限管理者持有私鑰APP,普通員工持有員工APP。最高權(quán)限管理者持有者推薦最少人數(shù)為2n+1人,普通員工沒(méi)有人數(shù)限制。
2.1.3 初始化工作
當(dāng)整個(gè)系統(tǒng)初始化時(shí),由最高權(quán)限管理者共同創(chuàng)建新的數(shù)字通證賬戶。賬戶對(duì)應(yīng)的操控私鑰將會(huì)在初始化結(jié)束之前以加密二維碼的形式備份下來(lái)。有多少個(gè)最高權(quán)限管理者,就有多少?gòu)埗S碼,每人各持一張,只有所有人的二維碼全部解密之后組合才能還原出私鑰。備份的私鑰最終以法律+實(shí)體約束的形式保管。
2.1.4 信息流轉(zhuǎn)
授信系統(tǒng)內(nèi)信息流轉(zhuǎn)的內(nèi)容為數(shù)字通證轉(zhuǎn)移申請(qǐng)以及對(duì)其審批消息。在發(fā)起數(shù)字通證轉(zhuǎn)移申請(qǐng)之前需要最高權(quán)限管理者建立一批申請(qǐng)模版。申請(qǐng)模版中定義了審批層級(jí)有幾層,每層審批需要多少人,誰(shuí)有審批權(quán),單次轉(zhuǎn)移的通證數(shù)量。這些申請(qǐng)模版由全體最高權(quán)限管理者全票通過(guò)后方可被使用。投票通過(guò)后的申請(qǐng)模版將通過(guò)授權(quán)層的服務(wù)保存到區(qū)塊鏈上存證,為后續(xù)驗(yàn)真時(shí)提供依據(jù)。申請(qǐng)人挑選合適的申請(qǐng)模版發(fā)起申請(qǐng),經(jīng)過(guò)模版中指定的人審批通過(guò)后,最終由授權(quán)層的服務(wù)驗(yàn)證有效性。驗(yàn)證通過(guò)后即自動(dòng)地向公鏈發(fā)起合法的數(shù)字通證轉(zhuǎn)移動(dòng)作。
圖1 系統(tǒng)邏輯設(shè)計(jì)圖
2.2.1 實(shí)時(shí)在線,自動(dòng)處理
在區(qū)塊鏈?zhǔn)澜缋?,按照?duì)數(shù)字通證存放方式劃分,“錢包”可分為“冷錢包”和“熱錢包”?!袄溴X包”通常是指硬件,這一類的硬件有一套完整的交互協(xié)議,它可以存儲(chǔ)加密過(guò)后的私鑰。例如,Ledger Nano S硬件錢包。私鑰對(duì)應(yīng)一個(gè)賬戶,而賬戶內(nèi)擁有數(shù)字通證。私鑰是鑰匙,是數(shù)字通證歸屬權(quán)的證明。區(qū)塊鏈?zhǔn)且粋€(gè)巨大的分布式賬本,所有在其之上的賬戶內(nèi)所擁有的數(shù)字通證,每一筆轉(zhuǎn)移記錄都統(tǒng)統(tǒng)記錄在冊(cè)?!袄溴X包”并非真正地把數(shù)字通證留存在硬件中,但可以近乎永久地保存操控?cái)?shù)字通證的私鑰。因此,需要長(zhǎng)期保存的數(shù)字通證適合保存在“冷錢包”中。
與“冷錢包”相對(duì)的是“熱錢包”?!盁徨X包”內(nèi)的數(shù)字通證較“冷錢包”會(huì)經(jīng)常流動(dòng),像各大公鏈配套出品的錢包就可以屬于“熱錢包”。這種劃分方式之間最大的區(qū)別就在于“熱錢包”是實(shí)時(shí)在線的,而“冷錢包”只有在使用時(shí)才會(huì)接觸網(wǎng)絡(luò)。或者更高級(jí)一點(diǎn)的硬件設(shè)備做冷錢包時(shí)可以支持離線簽名。授信系統(tǒng)就屬于“熱錢包”,它最大的好處就在于實(shí)時(shí)在線,使用便捷,不受制于地理?xiàng)l件,有配套完善的APP,使用方便。
同時(shí),授信系統(tǒng)提供了自動(dòng)化處理審批通過(guò)的申請(qǐng),實(shí)現(xiàn)自動(dòng)化轉(zhuǎn)移數(shù)字通證,這是所有“冷錢包”不具備的。自動(dòng)化帶來(lái)的好處就是降低了人工干預(yù),為通證的流轉(zhuǎn)提供了更多的可能性。
2.2.2 多種數(shù)字通證一站式管理
目前,市面上有許多區(qū)塊鏈網(wǎng)絡(luò),不同的網(wǎng)絡(luò)之間并不互通。比特幣有比特幣配套的錢包,以太坊有以太坊的配套錢包,相互之間并無(wú)適配。如果沒(méi)有一站式管理,需要記憶一大堆的區(qū)塊鏈賬戶名稱,甚至為其設(shè)置不同的私鑰密碼。授信系統(tǒng)允許接入所有支持離線簽名的區(qū)塊鏈網(wǎng)絡(luò),高度抽象統(tǒng)一各個(gè)區(qū)塊鏈賬戶模型,僅用一把私鑰一站式管理不同區(qū)塊鏈網(wǎng)絡(luò)賬戶。這大大減輕記憶難度,也為管理不同數(shù)字通證提供了便捷的方式。
圖2 信息流轉(zhuǎn)方式
2.2.3 多人共同管理最高權(quán)限
授信系統(tǒng)采用了一種偽隨機(jī)算法計(jì)算得出私鑰,偽隨機(jī)算法除必要的真隨機(jī)數(shù),還由最高管理權(quán)限持有者的口令計(jì)算得出,其單個(gè)持有者無(wú)法獨(dú)自推導(dǎo)出私鑰,也就無(wú)法單獨(dú)動(dòng)用賬戶內(nèi)的數(shù)字通證,這使得數(shù)字通證歸屬于企業(yè),而非個(gè)人。
2.2.4 企業(yè)審核流程
自動(dòng)化轉(zhuǎn)賬的安全有兩個(gè)重要部分,其一是私鑰本身的安全,其二是使用權(quán)的安全。授信系統(tǒng)有完善的企業(yè)審核流程,允許設(shè)定企業(yè)財(cái)務(wù)審批流程,降低人為操作失誤的可能。一個(gè)合法的審批流需要經(jīng)過(guò)私鏈存證、私鑰APP授權(quán)和公鏈確認(rèn)。由于私鑰APP是由N位最高權(quán)限管理者掌控,因此審批流是否有效是由N位最高權(quán)限管理者共同確認(rèn),并且寫進(jìn)公鏈私鏈,該審批流有效性無(wú)法被篡改。
數(shù)字通證轉(zhuǎn)移的有效性分為兩個(gè)部分,其一是本身簽名的有效性,其二是其對(duì)應(yīng)的審批流的有效性。由于授信系統(tǒng)采用的是嵌套簽名的方法,因此只需要按照順序依次驗(yàn)證簽名,即可知道簽名本身是否有效。數(shù)字通證轉(zhuǎn)移本身是對(duì)應(yīng)一個(gè)審批流程,需要提取對(duì)應(yīng)的申請(qǐng)模版,并在賬戶中驗(yàn)證該審批流程是否有效。如果兩個(gè)條件均滿足,證明該次數(shù)字通證轉(zhuǎn)移是有效審批流程指定的,并且無(wú)法被篡改。
2.2.5 完備的安全機(jī)制
授信系統(tǒng)的安全分為三個(gè)層面:私鑰的安全、信息的安全和通信安全。私鑰安全是為了數(shù)字通證不被竊??;信息的安全是為了系統(tǒng)內(nèi)流轉(zhuǎn)的數(shù)據(jù)不被篡改,進(jìn)而保障數(shù)字通證不被竊??;通信的安全是為了敏感信息不被第三方截獲,即使截獲也不會(huì)影響后續(xù)的通信。從這三個(gè)維度出發(fā),保障企業(yè)在使用授信系統(tǒng)時(shí)數(shù)字通證的安全。
3.1.1 私鑰的生成
授信系統(tǒng)控制數(shù)字通證的私鑰只有一把, 并采用了偽隨機(jī)算法, 為防止私鑰的生成被模擬, 采用RFC 6979的變形形式:key=sha 256(rando m() + sha256(password1) + sha256(password2) ... + sha256(passwordN))。其中,random()為真隨機(jī)數(shù)生成函數(shù),sha256(passwordN)為最高權(quán)限管理者輸入的口令。真隨機(jī)數(shù)與口令首尾相接構(gòu)成新的字符串再做一次哈希運(yùn)算得出私鑰。
保 留 在 系 統(tǒng) 中 的 值 有hash=sha256(sha256(key))和random()結(jié)果值。每次重啟系統(tǒng)如果最高權(quán)限管理者輸入的口令有誤,是無(wú)法推導(dǎo)出Hash值的,也無(wú)法根據(jù)Hash逆向推導(dǎo)Key。
3.1.2 私鑰的保護(hù)
私鑰生成后,將駐留在系統(tǒng)內(nèi)存中,由內(nèi)存守護(hù)頁(yè)保護(hù)。在內(nèi)存中創(chuàng)建的守衛(wèi)頁(yè)面,并告訴操作系統(tǒng)內(nèi)核禁止第一個(gè)和最后一個(gè)頁(yè)面的所有讀寫操作,所以如果任何操作嘗試讀寫這些守護(hù)頁(yè)的話,操作系統(tǒng)就會(huì)拋出一個(gè)Sigsegv訪問(wèn)沖突信號(hào),并且服務(wù)所在進(jìn)程發(fā)生混亂,服務(wù)被停止。在停止前,服務(wù)駐留在內(nèi)存中的私鑰地址將被清空。這樣可以立即檢測(cè)到緩沖區(qū)溢出,其他進(jìn)程幾乎不可能定位和訪問(wèn)數(shù)據(jù)。(在內(nèi)存分配操作期間分配額外的不可訪問(wèn)的內(nèi)存是用于減輕堆緩沖區(qū)溢出的技術(shù)。這些保護(hù)頁(yè)面是放置在一頁(yè)或更大頁(yè)面的所有內(nèi)存分配之間的未映射頁(yè)面。保護(hù)頁(yè)面在任何訪問(wèn)時(shí)都會(huì)導(dǎo)致分段錯(cuò)誤。)
夾在守護(hù)頁(yè)之間的頁(yè)面也被保護(hù)(避免Swap)。當(dāng)系統(tǒng)內(nèi)存耗盡時(shí),操作系統(tǒng)內(nèi)核會(huì)將非活動(dòng)進(jìn)程的內(nèi)存復(fù)制到磁盤上,這是想要避免的。
最后一點(diǎn)是金絲雀:在私鑰之前放置一個(gè)隨機(jī)值。如果它發(fā)生了變化,知道出了什么問(wèn)題——可能是緩沖區(qū)下溢。當(dāng)程序第一次運(yùn)行時(shí),為金絲雀生成了一個(gè)全局值。
圖3 私鑰的保護(hù)
3.1.3 系統(tǒng)的保護(hù)
隨授信系統(tǒng)啟動(dòng)的還有它的防護(hù)程序。防護(hù)程序會(huì)設(shè)置系統(tǒng)關(guān)閉所有非必要通信端口,僅留出系統(tǒng)內(nèi)相互通信端口。同時(shí)防護(hù)程序啟動(dòng)后會(huì)監(jiān)控系統(tǒng)登錄情況和進(jìn)程。如果出現(xiàn)異常進(jìn)程或者賬戶登錄了私鑰所在的操作系統(tǒng),防護(hù)程序會(huì)立即清空私鑰所在內(nèi)存,并立即停止服務(wù)。
信息安全包含兩部分:信息源頭是否可信和信息本身是否可信。
3.2.1 組織架構(gòu)
在授信系統(tǒng)中,有組織架構(gòu)體系,員工與員工之間存在上下級(jí)關(guān)系。上級(jí)員工與下級(jí)員工之間建立關(guān)系,通過(guò)手機(jī)端員工APP掃描二維碼的方式來(lái)確定。每個(gè)員工APP都對(duì)應(yīng)一個(gè)用于識(shí)別身份的通信密鑰對(duì),下級(jí)員工要加入到授信系統(tǒng)中需要掃描上級(jí)員工的二維碼來(lái)確權(quán)。
約定n 代表隨機(jī)值,R 代表密碼,P 代表公鑰,K代表私鑰,c代表密文,s代表簽名,d代表信息摘要,ID代表身份識(shí)別串。假設(shè)層級(jí)關(guān)系如圖4所示。推演掃碼過(guò)程:
圖4 層級(jí)關(guān)系假設(shè)
(1)E是C的下屬,E掃描C的二維碼獲一個(gè)加密密碼R;
(2)E 生成一個(gè)固定的隨機(jī)值E n,用于參與保存到服務(wù)器的公鑰進(jìn)行信息摘要計(jì)算;
(3)E用R加密自己的公鑰Ep和隨機(jī)值En,Ec = encrypt(Ep,En,R),并通過(guò)服務(wù)器發(fā)送給C;
(4)C用R解密密文,EP,En = decrypt(Ec,R),將做三件事:
1)用C 的 私 鑰K,記為Ck。用Ck 簽名E的公鑰Ep,Es = sign(Ck,Ep),簽名的結(jié)果發(fā)送給A;
2)用C的固定隨機(jī)值Cn,計(jì)算EP的信息摘要,Ed= hash(Cn,Ep),連同Ep發(fā)送給服務(wù)器保存,保存結(jié)果類似一行記錄[EIDEd,EPCID];
3)向E確認(rèn)結(jié)果。
當(dāng)B移除C時(shí),由于B持有C的固定隨機(jī)值Cn,B只需交驗(yàn)Ep,Ed= hash(Cn, Ep),校驗(yàn)通過(guò)即可認(rèn)為E為C的下屬。
接入層中的服務(wù)來(lái)負(fù)責(zé)手機(jī)端信息傳遞與交互。假定授信系統(tǒng)接入層中數(shù)據(jù)可能不可信,一些中間結(jié)果保留在接入層為防止人為篡改,需要對(duì)保留的信息作信息摘要。參與信息摘要的部分信息來(lái)自于手機(jī)客戶端,這樣一來(lái),就把風(fēng)險(xiǎn)分散在多個(gè)點(diǎn)上,大大降低系統(tǒng)性風(fēng)險(xiǎn)。
3.2.2 申請(qǐng)模版
前面提到數(shù)字通證轉(zhuǎn)移是有一套完整的審批流程。提交審批前先要有申請(qǐng)模版。申請(qǐng)模版也可看作是多重簽名列表,里面指定了參與審批人的公鑰,以及最少允許通過(guò)審批的人數(shù)。與多重簽名不同的是,多重簽名是有順序的,而授信系統(tǒng)的申請(qǐng)模版不需要簽名順序,只需要每個(gè)參與的簽名者簽出的結(jié)果驗(yàn)證都為真。申請(qǐng)模版需要全體最高權(quán)限管理者投票通過(guò)方可生效,授信系統(tǒng)會(huì)對(duì)投票通過(guò)的申請(qǐng)模版作信息摘要,并對(duì)信息摘要上鏈保存。
員工申請(qǐng)轉(zhuǎn)移數(shù)字通證時(shí)選擇填寫并提交申請(qǐng)模版,經(jīng)由企業(yè)內(nèi)部員工逐級(jí)審批,審批的過(guò)程即對(duì)申請(qǐng)簽名。在通過(guò)全部審批后,本次申請(qǐng)被流轉(zhuǎn)到授權(quán)層服務(wù)中被處理。授權(quán)層服務(wù)會(huì)作最終的校驗(yàn),通過(guò)比對(duì)申請(qǐng)模版的信息摘要校驗(yàn)其申請(qǐng)模版的合法性,如果合法,則校驗(yàn)每一位簽名者的簽名結(jié)果是否有效。通過(guò)校驗(yàn)的申請(qǐng)由授權(quán)層服務(wù)調(diào)用駐留在內(nèi)存中的私鑰對(duì)數(shù)字通證轉(zhuǎn)移進(jìn)行簽名,并發(fā)送到公鏈上實(shí)現(xiàn)自動(dòng)轉(zhuǎn)移。
在通信方面,采用了迪菲-赫爾曼密鑰交換(Diffie-hellman Key Exchange)安全協(xié)議,來(lái)確保通信安全以及確保通信前向安全。
通信用的交換密鑰在內(nèi)存中被切分成多份保存,保護(hù)密鑰的方式同保護(hù)私鑰,被切分的密鑰會(huì)定時(shí)變化,但最終的密鑰在提供服務(wù)階段保持不變。我們利用異或的特性來(lái)完成這一整套邏輯,如圖5所示。
圖5 通信安全邏輯
授權(quán)層中的簽名服務(wù)是整個(gè)系統(tǒng)中的重中之重。它是數(shù)字通證的真正出口,也是信息驗(yàn)證的重要環(huán)節(jié)。私鑰在系統(tǒng)運(yùn)行過(guò)程中就存放在簽名服務(wù)所在的內(nèi)存中。簽名服務(wù)可以部署在一臺(tái)云端服務(wù)器,也可以是提供長(zhǎng)期運(yùn)行的安裝有Mac OS 操作系統(tǒng)筆記本。同時(shí)簽名服務(wù)配有守護(hù)程序,它會(huì)主動(dòng)關(guān)閉所有操作系統(tǒng)端口,并實(shí)時(shí)監(jiān)測(cè)操作系統(tǒng)運(yùn)行情況,一旦發(fā)現(xiàn)有操作系統(tǒng)賬戶登陸系統(tǒng)或是異常的進(jìn)程出現(xiàn),它會(huì)第一時(shí)間停止簽名服務(wù),簽名服務(wù)在停止前會(huì)立即清空內(nèi)存中的敏感數(shù)據(jù)。簽名服務(wù)主動(dòng)連接系統(tǒng)中的其他服務(wù),只接受系統(tǒng)內(nèi)協(xié)議數(shù)據(jù)。
簽名服務(wù)所在服務(wù)器相當(dāng)于是一臺(tái)堡壘機(jī),它應(yīng)由最高權(quán)限管理者共同管理。為防止最高權(quán)限管理者之間發(fā)生問(wèn)題,故將動(dòng)用私鑰的權(quán)限分?jǐn)偟矫恳粋€(gè)人之上,任何一個(gè)人都無(wú)法直接從服務(wù)器中直接拿取私鑰。
世界上任何一個(gè)系統(tǒng)都不可能百分之百安全,但只要做好足夠的防范措施,是可以預(yù)防入侵情況發(fā)生的。授信系統(tǒng)的安全核心技術(shù)雖然已經(jīng)比較完備了,只要是人治的系統(tǒng),一定存在人為或者程序漏洞,因此以下操作可以增加防范力度。
(1)任何對(duì)外接口均在Nginx層面記錄日志;
(2)配 置Nginx規(guī)則POST請(qǐng)求參數(shù)的記錄(發(fā)現(xiàn)黑客入侵點(diǎn));
(3)通過(guò)日志請(qǐng)求可以識(shí)別不同的用戶,如記錄請(qǐng)求中Cookie或者AuthToken;
(4)日志實(shí)時(shí)同步到專門收集日志的服務(wù)器(防止黑客入侵后清理痕跡)。
(1)使用非Root用戶;
(2)對(duì)應(yīng)項(xiàng)目程序僅僅擁有特定數(shù)據(jù)庫(kù)權(quán)限;
(3)用戶僅僅賦予“增、查、改”權(quán)限,所有數(shù)據(jù)都是基于狀態(tài)的假刪除(防止黑客操作數(shù)據(jù)庫(kù)后直接刪除數(shù)據(jù))。
(1)SSH登錄服務(wù)器通知;
(2)SSH證書登錄;
(3)SSH證書加上密碼;
(4)禁止核心服務(wù)器互相加SSH Key;
(5)禁止使用Root用戶操作;
(6)服務(wù)器目錄權(quán)限禁止777;
(7)所有操作通過(guò)堡壘機(jī)操作,堡壘機(jī)器會(huì)有登陸認(rèn)證,多因子驗(yàn)證,會(huì)話管理,指令限制,錄像管理;
(8)服務(wù)器進(jìn)程白名單,任何未知進(jìn)程啟動(dòng)直接殺死,通知提醒。
本文從區(qū)塊鏈技術(shù)角度出發(fā),旨在探究其在企業(yè)組織多人共同安全管理和使用通證的應(yīng)用模式,這也是本文主要的出發(fā)點(diǎn)和創(chuàng)新點(diǎn)。
伴隨著數(shù)字通證市場(chǎng)規(guī)模的快速增長(zhǎng),盜取通證事件發(fā)生得越來(lái)越頻繁,這些事件不斷被媒體爆光之后,使得企業(yè)對(duì)數(shù)字通證安全、使用便捷等問(wèn)題產(chǎn)生嚴(yán)重?fù)?dān)憂。這些問(wèn)題已經(jīng)制約了企業(yè)用戶對(duì)數(shù)字通證的投資和管理,而好的一方面在于,因?yàn)榇蠹业陌踩庾R(shí)不斷提高,區(qū)塊鏈、數(shù)字通證的安全防護(hù)技術(shù)也在不斷加強(qiáng)。