數(shù)字簽名技術(shù)是現(xiàn)代密碼算法中非對(duì)稱密碼算法和消息摘要算法相結(jié)合的十分優(yōu)秀的解決方案,應(yīng)用面廣泛,涉及到的知識(shí)點(diǎn)很多,本文將從概念、技術(shù)實(shí)現(xiàn)、合規(guī)性分析等方面逐一進(jìn)行講解。
1.數(shù)字簽名的含義和目標(biāo)
1.1 什么是數(shù)字簽名
數(shù)字簽名(digital signature)是公鑰密碼算法的一類典型應(yīng)用,常見應(yīng)用場(chǎng)景為:發(fā)送方使用其私鑰對(duì)消息進(jìn)行處理得到簽名值,接收方使用發(fā)送方的公鑰對(duì)消息和簽名值進(jìn)行驗(yàn)證,簡(jiǎn)稱“私鑰加簽,公鑰驗(yàn)簽”(相對(duì)應(yīng)的使用公鑰密碼算法進(jìn)行加密的流程為:“公鑰加密,私鑰解密”)。在此過程中可能使用到的主要密碼算法有:非對(duì)稱密碼算法(又稱公鑰密碼算法)、哈希算法(又稱消息摘要算法、雜湊算法等)。
1.2 為什么要使用數(shù)字簽名
數(shù)字簽名可以視為傳統(tǒng)意義上的簽名在網(wǎng)絡(luò)虛擬環(huán)境中的映射,用來確保通信網(wǎng)絡(luò)中用戶身份的真實(shí)性、所發(fā)送消息的完整性,以及消息發(fā)送行為的不可否認(rèn)性。本文重點(diǎn)討論數(shù)字簽名技術(shù)如何實(shí)現(xiàn)對(duì)真實(shí)性和不可否認(rèn)性的保護(hù)。真實(shí)性(Authenticity)需要解決的問題是:如何證明你是你(對(duì)這個(gè)問題的討論已經(jīng)上升到了哲學(xué)命題的高度)。常見的基于密碼學(xué)技術(shù)的實(shí)現(xiàn)方式有:動(dòng)態(tài)口令機(jī)制、基于對(duì)稱密碼算法或密碼雜湊算法的消息鑒別碼機(jī)制、基于公鑰密碼算法的數(shù)字簽名機(jī)制等。有興趣的讀者可以去GB/T 15843《信息技術(shù) 安全技術(shù) 實(shí)體鑒別》中詳細(xì)了解。不可否認(rèn)性(Non-Repudiation)需要解決的問題是:避免用戶對(duì)自身發(fā)起的行為的抵賴,又稱抗抵賴。常見的基于密碼學(xué)技術(shù)的實(shí)現(xiàn)方式為基于公鑰密碼算法的數(shù)字簽名機(jī)制。
2.數(shù)字證書及PKI體系
上文中提到,數(shù)字簽名的過程是使用用戶私鑰對(duì)消息進(jìn)行處理進(jìn)而得到簽名值的過程,而提到公私鑰對(duì)就不得不了解作為基礎(chǔ)技術(shù)支撐的數(shù)字證書及其背后的PKI體系了。
2.1 數(shù)字證書格式
數(shù)字證書以ASN.1編碼規(guī)范來進(jìn)行描述。符合X.509 v3 版本的數(shù)字證書結(jié)構(gòu)如下:證書版本號(hào)序列號(hào)簽名算法頒發(fā)者證書有效期此日期前無效此日期后無效主題主題公鑰信息公鑰算法主題公鑰頒發(fā)者唯一身份信息(可選項(xiàng))主題唯一身份信息(可選項(xiàng))擴(kuò)展信息(可選項(xiàng))…證書簽名算法數(shù)字簽名以下就是一個(gè)典型的SSL站點(diǎn)證書。
主流的數(shù)字證書格式有der、pem、pfx、p7b等,文件后綴有cer、crt、p12等,區(qū)別主要在于編碼格式是二進(jìn)制還是ASCII碼,不同操作系統(tǒng)的支持情況也不一樣。
關(guān)于數(shù)字證書的基礎(chǔ)知識(shí)我們就介紹到這里,讀者暫時(shí)只需要知道如何從數(shù)字證書中提取出公鑰即可。以上圖為例,此站點(diǎn)SSL證書中的公鑰字段里面的以04e8開頭的值就是這張證書的公鑰,是公開給所有需要訪問該站點(diǎn)的用戶或終端的,通過使用這張證書,客戶端可以實(shí)現(xiàn)對(duì)服務(wù)端的身份鑒別,同時(shí)可以為后續(xù)建立的SSL加密鏈路提供基礎(chǔ)保證。
2.2 PKI體系
了解了數(shù)字證書的結(jié)構(gòu)和作用以后,可能有讀者會(huì)問那么數(shù)字證書是如何生成和注銷的?這就需要依賴于一套完整的PKI體系了。PKI全稱為Public Key Infrastructure公鑰基礎(chǔ)設(shè)施,該體系解決了證書生命周期相關(guān)的認(rèn)證和管理問題,而這些功能主要依托于CA、RA等模塊來實(shí)現(xiàn)。CA(Certification Authority)負(fù)責(zé)證書的頒發(fā)和吊銷,接收來自 RA 的請(qǐng)求。RA(Registration Authority)對(duì)用戶身份進(jìn)行驗(yàn)證,校驗(yàn)數(shù)據(jù)合法性,審核通過以后將請(qǐng)求轉(zhuǎn)發(fā)給 CA。證書資料庫(kù)用來存儲(chǔ)已簽發(fā)的數(shù)字證書和公鑰以及相關(guān)證書目錄。證書吊銷列表CRL/OSCP用來管理數(shù)字證書的注銷等事宜。由于數(shù)字證書是由CA簽發(fā)的,因此CA的權(quán)威性直接影響到數(shù)字證書的可信程度,一般來說由世界公認(rèn)的頂級(jí)CA簽發(fā)的證書都是被認(rèn)為相對(duì)可信的,這也是為什么同樣是HTTPS站點(diǎn),瀏覽器提示有的站點(diǎn)的連接是安全的,有的是不安全的。原因就在于大部分瀏覽器和操作系統(tǒng)都內(nèi)置了頂級(jí)CA的證書,通過對(duì)站點(diǎn)證書進(jìn)行證書鏈驗(yàn)證以后,如果頒發(fā)該站點(diǎn)證書的CA機(jī)構(gòu)在“受信任的根證書頒發(fā)機(jī)構(gòu)”內(nèi),就會(huì)提示“連接是安全的”,如果不在,就會(huì)提示風(fēng)險(xiǎn)。
3.數(shù)字簽名的原理及常見算法
下面介紹兩種典型的數(shù)字簽名算法實(shí)現(xiàn)原理,一種是國(guó)際通用算法中比較常見的RSA算法,另一種是我國(guó)商用密碼算法體系中的SM2算法。
3.1 RSA算法數(shù)字簽名流程
RSA是基于大素?cái)?shù)分解難題的非對(duì)稱密碼算法,目前是世界通用的公鑰密碼算法之一。
簽名過程
隨機(jī)選擇兩個(gè)不相等的素?cái)?shù)p和q,并計(jì)算n=p*q計(jì)算n的歐拉函數(shù)φ(n)=(p-1)(q-1)隨機(jī)選擇一個(gè)整數(shù)e(在1和r中間且與r互質(zhì))計(jì)算e對(duì)于φ(n)的模反元素d,滿足e*d = 1 mod φ(n)將n和e封裝成公鑰,n和d封裝成私鑰計(jì)算消息m的消息摘要,記為 h(m)使用私鑰(n,d)對(duì)h(m)加密,生成簽名s = (h(m))^d mod n
驗(yàn)簽過程
計(jì)算消息m的消息摘要,記為h(m)使用A的公鑰(n,e) 和收到的s來計(jì)算H(m) = s^e mod n比較H(m)與h(m),相同則說明簽名驗(yàn)證通過
3.2 SM2算法數(shù)字簽名流程
SM2是我國(guó)密碼商用密碼算法體系中基于ECC橢圓曲線的公鑰密碼算法,在GB/T 32918.2-2016《信息安全技術(shù) SM2橢圓曲線公鑰密碼算法 第2部分:數(shù)字簽名算法》中詳細(xì)介紹了SM2算法簽名及驗(yàn)簽過程的實(shí)現(xiàn)。
簽名過程
G為選定橢圓曲線上的基點(diǎn),選取dA為私鑰,pA為公鑰,pA=dA*G簽名者用戶A具有長(zhǎng)度為entlenA比特的可辨別標(biāo)識(shí)IDA,若沒有特殊指定則一般默認(rèn)為0x31323334353637383132333435363738ENTLA是由整數(shù)entlenA轉(zhuǎn)換而成的兩個(gè)字節(jié)待簽名的消息為MZA=H256(ENTLA || IDA || a || b || xG || yG|| xA || yA),a、b為Fq中的元素,用來定義橢圓曲線,對(duì)于SM2算法而言一般來說是固定的,xG、yG和xA、yA分別為G點(diǎn)和pA點(diǎn)的橫、縱坐標(biāo),ZA經(jīng)過雜湊函數(shù)運(yùn)算后長(zhǎng)度為256位的雜湊值e=H(ZA||M),H為輸出長(zhǎng)度為固定位數(shù)的雜湊函數(shù)選取隨機(jī)數(shù)k,計(jì)算(x1,y1)=k G計(jì)算r=(e+x1) mod n計(jì)算s=(k r dA)/(1+dA) mod n(r,s)即為簽名值
驗(yàn)簽過程
首先驗(yàn)證r和s是否在(1,n-1)集合中,若不在則驗(yàn)證失敗隨后計(jì)算t=(r+s) mod n ,如果t=0則驗(yàn)證失敗然后通過t與s計(jì)算曲線上的點(diǎn)(x1,y1)=s G+t PA再計(jì)算R=(x1+e) mod n ,然后驗(yàn)證R與r是否相等,如果相等則表明驗(yàn)簽通過。
可以看到,無論是RSA算法還是SM2算法,在對(duì)數(shù)據(jù)進(jìn)行簽名之前都會(huì)先進(jìn)行哈希運(yùn)算,實(shí)際上被簽的數(shù)據(jù)并不是明文的消息值,而是經(jīng)過各種處理后的消息摘要值,這也是數(shù)字簽名技術(shù)無法用來保證數(shù)據(jù)機(jī)密性的原因。
3.3 攻擊方法
RSA算法和SM2算法作為現(xiàn)代公鑰密碼算法的代表自身強(qiáng)度是經(jīng)過時(shí)間考驗(yàn)的,然而這并不意味著絕對(duì)的安全,在配置失誤的時(shí)候還是可能存在被攻擊的風(fēng)險(xiǎn)的。由于在非對(duì)稱密碼算法中公鑰是公開的,因此對(duì)私鑰的保護(hù)要慎之又慎,私鑰被破解也就意味著攻擊者可以進(jìn)行身份偽裝、數(shù)據(jù)解密等操作?;诖笏?cái)?shù)分解難題的公鑰密碼算法中的n=p*q,若選取過小,可能導(dǎo)致過于簡(jiǎn)單的大數(shù)分解,進(jìn)而破解出用戶私鑰,此類問題也是CTF中的Cryto類的重點(diǎn)考察對(duì)象。
而對(duì)基于ECC算法的公鑰密碼算法而言,隨機(jī)數(shù)k如果固定,在獲取兩個(gè)不同用戶的簽名值的前提下可推導(dǎo)出私鑰。這個(gè)漏洞最出名的安全事件是2010年Sony的PS3事件。
除了RSA和SM2算法以外,還有DSA/ECDSA等算法可用作數(shù)字簽名,而這些公鑰密碼算法除了可做數(shù)字簽名以外還可以用來進(jìn)行數(shù)據(jù)加解密、密鑰協(xié)商等。出于摩爾定律和安全性的考量,目前密鑰長(zhǎng)度在2048位以下的RSA算法以及同等強(qiáng)度的密碼算法已經(jīng)被認(rèn)為不再安全。
在基于橢圓曲線上離散對(duì)數(shù)難題的密碼算法實(shí)現(xiàn)中,算法的強(qiáng)度很大程度取決于選取的橢圓曲線。對(duì)于某些因曲線參數(shù)選取不當(dāng)導(dǎo)致的弱曲線,則存在特殊的算法來顯著降低計(jì)算復(fù)雜度,從而高效地求解離散對(duì)數(shù)問題,即可能存在后門漏洞。因此基于橢圓曲線密碼算法實(shí)現(xiàn)過程中,建議使用我國(guó)商用密碼體系的SM2算法以及GB/T 32918.5-2017《信息安全技術(shù) SM2橢圓曲線公鑰密碼算法 第5部分:參數(shù)定義》標(biāo)準(zhǔn)定義的橢圓曲線參數(shù)。
4.數(shù)字簽名格式解析及驗(yàn)證
4.1 常見數(shù)字簽名格式
PKCS#1
又稱裸簽(Raw Sign),即簽名值中只有簽名信息,不包含消息值、用戶證書等信息的數(shù)字簽名格式。
PKCS#7
即簽名中可以附帶其他信息,如:簽名證書信息、簽名原文信息等。值得一提的是PKCS#7不僅僅可作為數(shù)字簽名的格式規(guī)范,也可以用于封裝證書、數(shù)字信封等。P7格式的數(shù)字簽名又可以細(xì)分為以下兩種。attached模式,又稱P7A,即簽名值中包含被簽名的原文,但明文必須經(jīng)過ASN.1編碼。這樣處理的話在通信過程中就無需重復(fù)傳遞原文,但會(huì)增加簽名值的長(zhǎng)度。detached模式,又稱P7D,格式中不包含被簽名原文信息。因此在對(duì)端進(jìn)行驗(yàn)簽操作的時(shí)候,還需要額外傳遞消息值才可進(jìn)行驗(yàn)證。值得一提的是不管是P7A還是P7D格式的簽名,被簽名的原文可能都經(jīng)過預(yù)處理,當(dāng)驗(yàn)簽不通過,而簽名值、公鑰都沒問題的話,就需要考慮簽名原文的格式是否正確了,需要具體情況具體分析。
4.2 數(shù)字簽名的驗(yàn)證方法
a.密碼產(chǎn)品實(shí)際運(yùn)維過程中的身份鑒別實(shí)例
某密碼廠商的KMS(密鑰管理系統(tǒng))產(chǎn)品在設(shè)備運(yùn)維過程中使用”賬戶名”+“口令”以及Ukey+Pin碼進(jìn)行登錄,這是一個(gè)非常典型的基于挑戰(zhàn)響應(yīng)機(jī)制的SM2算法簽名驗(yàn)簽來保證運(yùn)維用戶身份真實(shí)性的案例。整個(gè)身份鑒別過程的具體步驟如下:1、首次打開設(shè)備運(yùn)維頁(yè)面時(shí)服務(wù)端向客戶端傳遞一個(gè)隨機(jī)數(shù),也就是身份鑒別過程中所謂的challenge“挑戰(zhàn)”。使用代理工具進(jìn)行截包,可以看到服務(wù)端返回了一個(gè)base64格式編碼的random隨機(jī)數(shù)字段。
2、客戶端將該隨機(jī)數(shù)傳遞給本地端口提交簽名請(qǐng)求,智能密碼鑰匙進(jìn)行運(yùn)算得出簽名值并返回。
3、客戶端通過瀏覽器將簽名值及其他登錄的必要參數(shù)傳給服務(wù)端,由服務(wù)端進(jìn)行驗(yàn)簽,通過后完成對(duì)客戶端的身份鑒別及授權(quán)。
下面我們從交互的數(shù)據(jù)包中提取必要的元素進(jìn)行數(shù)字簽名的驗(yàn)證:通過對(duì)簽名字段進(jìn)行分析,發(fā)現(xiàn)是一個(gè)PKCS#7Attached格式的簽名,簽名數(shù)據(jù)中了包含了驗(yàn)簽所需要的三要素:簽名值、公鑰、原文。使用ASN.1分析工具可以看到簽名值中包含了服務(wù)器發(fā)回的隨機(jī)數(shù)字段。
從客戶端用戶的數(shù)字證書中提取SM2算法公鑰:
從簽名字段中找到messageDigest并進(jìn)行提?。ㄏ⒅到?jīng)過預(yù)處理的中間原文),以及最下方的簽名值r+s格式:
將簽名值、公鑰及原文代入算法驗(yàn)證工具后簽名成功通過驗(yàn)證。
b.使用數(shù)字簽名技術(shù)保證電子簽章的不可否認(rèn)性
某公文流轉(zhuǎn)系統(tǒng)中需調(diào)用ukey對(duì)上傳的PDF版報(bào)告進(jìn)行電子簽章,此過程中使用了RSA算法保證簽名的不可否認(rèn)性。具體流程如下:1、客戶端上傳報(bào)告后,服務(wù)端向客戶端返回對(duì)應(yīng)的消息摘要值:
2、客戶端向服務(wù)端發(fā)送客戶端證書及文件id等信息:
3、客戶端向服務(wù)端提交由RSA格式數(shù)字簽名完成電子簽章行為:
下面嘗試使用openssl工具對(duì)此過程中進(jìn)行的RSA數(shù)字簽名操作進(jìn)行驗(yàn)簽。從第一步中把服務(wù)端返回的文件摘要值base64解碼后保存為驗(yàn)簽所需的的原文的文件。
從第2步的數(shù)據(jù)包中提取用戶證書。
使用openssl工具進(jìn)行RSA簽名驗(yàn)證前需要先從cer格式的數(shù)字證書中導(dǎo)出pem格式的公鑰文件。
將pem格式公鑰文件進(jìn)行base64解碼并借用ASN.1分析工具可以看到,文件頭中添加了RSA的算法標(biāo)識(shí)符字段。
將第3步中客戶端提交的簽名值字段同樣base64解碼后另存為簽名文件。
使用openssl工具進(jìn)行RSA驗(yàn)簽,指定數(shù)字證書文件、簽名文件、原文、消息摘要算法,成功通過簽名驗(yàn)證。
5.數(shù)字簽名技術(shù)在密評(píng)及等保中的合規(guī)性判定
上文中提到,數(shù)字簽名技術(shù)主要用來保護(hù)信息系統(tǒng)的真實(shí)性和不可否認(rèn)性,而在我國(guó)的等保和密評(píng)合規(guī)體系的技術(shù)維度中也分別對(duì)相關(guān)的技術(shù)實(shí)現(xiàn)提出了保護(hù)要求,二者的測(cè)評(píng)要求和判定準(zhǔn)則都是有區(qū)別的。前者主要依據(jù)的標(biāo)準(zhǔn)是GB/T 22239《信息安全技術(shù) 網(wǎng)絡(luò)安全等級(jí)保護(hù)基本要求》;后者主要依據(jù)的標(biāo)準(zhǔn)是GB/T 39786《信息安全技術(shù) 信息系統(tǒng)密碼應(yīng)用基本要求》;就測(cè)評(píng)要求而言,密評(píng)考察的更加細(xì)致,技術(shù)層面的測(cè)評(píng)指標(biāo)分為DAK三個(gè)維度進(jìn)行量化打分。
5.1 真實(shí)性
等保三級(jí)系統(tǒng)中涉及到真實(shí)性的測(cè)評(píng)項(xiàng)主要有:8.1.4.1安全計(jì)算環(huán)境-身份鑒別d)應(yīng)采用口令、密碼技術(shù)、生物技術(shù)等兩種或兩種以上組合的鑒別技術(shù)對(duì)用戶進(jìn)行身份鑒別,且其中一種鑒別技術(shù)至少應(yīng)使用密碼技術(shù)來實(shí)現(xiàn)。
密評(píng)三級(jí)系統(tǒng)中涉及到真實(shí)性的測(cè)評(píng)項(xiàng)主要有:8.1 物理和環(huán)境安全a) 宜采用密碼技術(shù)進(jìn)行物理訪問身份鑒別,保證重要區(qū)域進(jìn)入人員身份的真實(shí)性8.2 網(wǎng)絡(luò)和通信安全a) 應(yīng)采用密碼技術(shù)對(duì)通信實(shí)體進(jìn)行身份鑒別,保證通信實(shí)體身份的真實(shí)性e) 可采用密碼技術(shù)對(duì)從外部連接到內(nèi)部網(wǎng)絡(luò)的設(shè)備進(jìn)行接入認(rèn)證,確保接入的設(shè)備身份真實(shí)性8.3 設(shè)備和計(jì)算安全a) 應(yīng)采用密碼技術(shù)對(duì)登錄設(shè)備的用戶進(jìn)行身份鑒別,保證用戶身份的真實(shí)性f) 宜采用密碼技術(shù)對(duì)重要可執(zhí)行程序進(jìn)行完整性保護(hù),并對(duì)其來源進(jìn)行真實(shí)性驗(yàn)證8.4 應(yīng)用和數(shù)據(jù)安全a) 應(yīng)采用密碼技術(shù)對(duì)登錄用戶進(jìn)行身份鑒別,保證應(yīng)用系統(tǒng)用戶身份的真實(shí)性
以上文4.2.a為例,密碼產(chǎn)品的運(yùn)維在等保測(cè)評(píng)中屬于安全計(jì)算環(huán)境層面,在密評(píng)中屬于設(shè)備和計(jì)算安全層面。本案例中,在密碼產(chǎn)品的運(yùn)維過程中使用了基于“挑戰(zhàn)”-“響應(yīng)”機(jī)制的SM2算法數(shù)字簽名技術(shù),輔助賬戶名+口令進(jìn)行身份鑒別。
*從等保的角度來考察,案例中對(duì)密碼產(chǎn)品的運(yùn)維采用的是賬戶名口令以及智能密碼鑰匙的雙因素認(rèn)證,智能密碼鑰匙使用過程中進(jìn)行的數(shù)字簽名是密碼技術(shù)的一種,因此是滿足等級(jí)保護(hù)中安全計(jì)算環(huán)境-身份鑒別測(cè)評(píng)項(xiàng)相關(guān)要求的。
*從密評(píng)的角度來考察,還需要進(jìn)一步分析身份鑒別過程中的算法及密鑰合規(guī)性處理,用于進(jìn)行密碼運(yùn)算智能密碼鑰匙和密鑰管理系統(tǒng)都是取得了國(guó)家密碼管理局商用密碼產(chǎn)品認(rèn)證證書的合規(guī)的密碼產(chǎn)品,因此D、A、K三項(xiàng)都是符合的,也是滿足設(shè)備和計(jì)算層面身份鑒別測(cè)評(píng)項(xiàng)相關(guān)要求的。
5.2 不可否認(rèn)性
等保2.0中在四級(jí)及以上系統(tǒng)中提出了抗抵賴的要求:9.1.4.7安全計(jì)算環(huán)境-數(shù)據(jù)完整性c)在可能涉及法律責(zé)任認(rèn)定的應(yīng)用中,應(yīng)采用密碼技術(shù)提供數(shù)據(jù)原發(fā)證據(jù)和數(shù)據(jù)接收證據(jù),實(shí)現(xiàn)數(shù)據(jù)原發(fā)行為的抗抵賴和數(shù)據(jù)接收行為的抗抵賴
密評(píng)三級(jí)系統(tǒng)中涉及到不可否認(rèn)性的測(cè)評(píng)項(xiàng)主要有以下:8.4 應(yīng)用和數(shù)據(jù)安全-不可否認(rèn)性h)在可能涉及法律責(zé)任認(rèn)定的應(yīng)用中,宜采用密碼技術(shù)提供數(shù)據(jù)原發(fā)證據(jù)和數(shù)據(jù)接收證據(jù),實(shí)現(xiàn)數(shù)據(jù)原發(fā)行為的不可否認(rèn)性和數(shù)據(jù)接收行為的不可否認(rèn)性
以上文中的4.2.b為例,電子簽章發(fā)生在應(yīng)用層面公文流轉(zhuǎn)的業(yè)務(wù)流程中,因此屬于等保測(cè)評(píng)的安全計(jì)算環(huán)境層面,密評(píng)的應(yīng)用和數(shù)據(jù)層面。
*從等保的角度來考察,使用了基于RSA算法的數(shù)字簽名技術(shù)實(shí)現(xiàn)了電子簽章的不可否認(rèn)性。
*從密評(píng)的角度來考察,使用了非合規(guī)的RSA算法,D項(xiàng)可判符合,A項(xiàng)應(yīng)判為不符合,由于參與RSA簽名驗(yàn)簽運(yùn)算的智能密碼鑰匙和電子簽章服務(wù)器均為合規(guī)的商用密碼產(chǎn)品,因此K項(xiàng)應(yīng)判為符合。應(yīng)用和數(shù)據(jù)層面的不可否認(rèn)性測(cè)評(píng)項(xiàng)最終綜合得分為0.5分,部分符合。
6.數(shù)字簽名的新技術(shù)和新應(yīng)用
6.1 新興技術(shù)
為了避免醫(yī)患之間因?yàn)橹委煯a(chǎn)生的醫(yī)療糾紛事件,治療方案可采用群簽名或環(huán)簽名技術(shù),既有醫(yī)生的簽名,同時(shí)也不透露簽名醫(yī)生信息,在一定程度上可避免醫(yī)患之間的糾紛。又如在:機(jī)密信息的批露、領(lǐng)導(dǎo)人的選舉、電子商務(wù)、重要新聞發(fā)布、無線傳感器網(wǎng)絡(luò)等場(chǎng)景中,環(huán)簽名都可發(fā)揮重要作用。在群簽名方案中,群成員可以匿名代表整個(gè)群對(duì)消息簽名,同時(shí)具備不可偽造性、可追蹤性、不關(guān)聯(lián)性和防陷害性等特征。在一個(gè)群簽名方案中,群體中的成員都可以生成群簽名,外界可以驗(yàn)證其合法性,但無法確定到底是哪一個(gè)成員,即匿名性。若外界對(duì)群簽名存在爭(zhēng)議,此時(shí)群管理員只需“打開”爭(zhēng)議的簽名,揭示真正的簽名者,即追蹤性。
6.2 區(qū)塊鏈&Web3
比特幣之父中本聰選用了基于secp256k1橢圓曲線的ECDSA算法來進(jìn)行數(shù)字簽名,這就是數(shù)字簽名在區(qū)塊鏈中的核心應(yīng)用。區(qū)塊鏈通過使用基于共識(shí)機(jī)制來檢測(cè)交易的有效性,使用分布式數(shù)據(jù)庫(kù)來保存數(shù)據(jù)記錄,人們可以在一個(gè)共享賬本中儲(chǔ)存數(shù)據(jù)、交換價(jià)值并記錄交易活動(dòng),而其中的每一筆交易的背后都有數(shù)字簽名技術(shù)的支撐。區(qū)塊鏈技術(shù)同時(shí)也是Web3的支柱,提供了安全的執(zhí)行層,可以在其中創(chuàng)建、發(fā)行并交易加密資產(chǎn),并且開發(fā)可編程的智能合約。