特別感謝 Vu Vo、Mashbean、Andy Guzman 與 Yanis Meziane 的討論與回饋!
Aadhaar簡介
Aadhaar,印地語(Hindi)中是「基石 / foundation」的意思,是一個由印度政府推動,已有12億人參與(佔印度總人口約90%),目前地表最大的公民數位身分計畫。它於2009年推出,並在2010年9月發出第一組Aadhaar Number,時間上遠早於2020年代被廣泛討論的DID/UID議題。
程序上,只要是一位印度公民,或是過去的一年內在印度居住超過182天的外國公民,都可以自願性的向印度唯一身分識別機構(Unique Identification Authority of India, UIDAI)提出申請。
UIDAI成立於2009年1月,是一個下轄於電子資訊科技部(Ministry of Electronics and Information Technology)的機構,主要權責就是處理Aadhaar號碼的申請、發放、管理與維護。
具體來說,申請者需要提供「姓名、住址、性別、生日、照片、兩個虹膜、十個指紋」等資料,能換得一個12位數字的Unique Identifier (UID),這個UID就是Aadhaar Number,或也被稱作UIDAI Number。
形式上,Aadhaar預設是一張紙,也可以拿到PDF檔案。從2020年開始,也能另外申辦PVC卡片的版本。
從歷史上來看,由於領土邊界爭議、戰爭、非法移民等問題,印度政府大約在2000年左右開始研擬一套統一的身分認證系統。在此之前,印度的身分認證系統相當混亂,例如同時存在護照、選民身分證、駕照、配給卡(ration card)、出生證明、所得稅卡(income-tax PAN card)等多個獨立的體系。
優點
在國家層面推行的UID,可以被理解為一套實名制系統。除了直觀上可以提高行政效率之外,還有許多好處,例如:
福利轉移(Direct Benefit Transfer):印度有一套物資配給的社會福利政策,讓低收入家庭在必要物資上每月享有減免;此外,還有一套天然氣補助政策,讓受補貼者可以以優惠價購買瓦斯,政府則賠償公司的損失。在過去,有心人士可以輕易利用多重身分來詐取政府的福利,例如多申請幾張配給卡,並與瓦斯零售商勾結。採用Aadhaar系統後,政府可以通過Aadhaar直接將補貼轉移到受益人手中,並更容易識別非法或重複領取的配給卡。根據印度政府的數據,2014-2015年間,天然氣補貼的開支減少了24%。當然,這些政府的數據僅供參考。是的,我認為UIDAI專案的初衷就是幫政府節省開支。
公務機關的考勤使用:印度公務員的遲到、早退與無故翹班是常見的,官方用Aadhaar連結公務機關打卡系統,甚至還做了一套全名監督的介面 (貌似國外的IP是點不開的)。
手機SIM的實名化認證:降低一個人同時擁有過多手機號的情況,畢竟通常只有詐騙集團、水軍刷分公司這些垃圾產業從業人口才需要。
加速其他政府文件的申辦:不同的政府文件對於身分識別而言,具有不同的認證強度,因此認證過程的嚴謹程度也有所不同,例如駕照的發行明顯比護照更簡便,Aadhaar卡作為一種相對低階的身分證明系統,可以用它來加速其他嚴謹程度更高的文件的申辦流程。
問題與批評
上述的優點大多是站在國家/政府的角度出發。但如果從人民的角度來看,Aadhaar體系存在許多值得爭議的問題:
隱私權:這無疑是最大的爭議點。Aadhaar系統可能被用於監控和侵犯公民隱私,這是效率與中心化的雙刃劍。例如Aadhaar號碼整合健保系統後,有HIV患者選擇停止治療。也真的有人為此把政府告上法庭(似乎有點作秀的動機),不過目前印度最高法院的判定是利大於弊。
安全性:由於是政府建立的系統(即便是由印度人),資料庫的安全性似乎不足,已經有過多起資料被盜的前例。例如2018年時,前UIDAI總監R. S. Sharma在Twitter上公開他的Aadhaar號碼,想試圖證明系統的安全性;但是很明顯是失敗的,在幾個小時內,Sharma的手機號碼、地址、生日、手機型號、信箱都被公諸於世。在2017時確認曾有過大量資料的洩漏問題,2018年時也有類似的案例。考慮到涉及大量個人敏感資訊,這是一個嚴重問題。(從另一個角度來看,分散且割裂的系統還是有好處的,等於變相做了很多的斷點。)
排除性:法律上,Aadhaar是一個“自願性”的系統,不應因為沒有Aadhaar號碼而進行差異化/歧視性待遇。但實際上,不加入多數人使用的系統,往往意味著被排除在外。例如在台灣,Line是多數人的選擇,所以無論客觀上它做的多垃圾,沒有一個Line帳號是不方便的。因此,不住在印度的印度人或居住在印度的外籍人士可能發現,一些以往容易獲得的服務,如SIM卡,現在變得難以取得。再加上福利政策補貼的配給方式,若Aadaar作為必要認證的要素,將對未持有Aadhaar的申請者造成排他性。這個問題也出現在日本的 My Number 卡與健康福利政策的議題上。
精確度:當政府想利用Aadhaar系統進行判斷時,必須考慮到龐大人口帶來的問題。例如,犯罪現場的指紋如果用Aadhaar數據庫反推嫌犯,即使正確率高達99.999%,在12億用戶的情況下,可能導致萬人被誤判(偽陽性問題,或型一錯誤 Type I Error)。
在考慮Aadhaar系統帶來的潛在問題時,需要明確區分,這些問題是所有UID系統共有的,還是由於Aadhaar這一解決方案獨有的新問題。針對第一點關於隱私權的問題,以下要介紹的Anon Aadhaar,給了我們一個可行的解決方案。
Anon Aadhaar介紹
零知識證明(Zero-Knowledge Proof, ZKP)是Programmable Cryptography學科下的一個重要研究領域。ZKP首次於1989年被提出,在2013年zkSNARKs被提出後得到更廣泛的接受和應用,是保護隱私的關鍵技術。
簡化來說,ZKP允許在不透露證明者輸入(prover’ input)的情況下,證明某個陳述(statement)的真實性。
舉個常見例子:在沒有ZKP的情況下,你(prover)去超市買酒時,需要證明自己超過18歲(statement),必須出示身分證(prover’s input)。但有了ZKP,就無需透露身分證上的其他非相關資訊,如生日、婚姻狀況、戶籍地等。你甚至不需要透露真實的生日/年齡,因為最終只需確定是否“超過18歲”。
Anon Aadhaar是Privacy and Scaling Explorations (PSE) —— 一個隸屬於Ethereum Fundation的超強卻低調團隊 —— 完成的項目,旨在解決Aadhaar系統中的隱私問題。解決方案的邏輯是簡單的:Aadhaar + ZKP = 一個可以保障隱私的Aadhaar(Anon Aadhaar)。
目前Anon Aadhaar還不是官方採用的系統,但作為一套開源的SDK,可以作為其他專案的組件。有關正在進行的相關專案,可以參考PSE撰寫的文章末尾的列表。
雖然ZKP提供了高度的隱私安全性,但距離完美的匿名憑證Anonymous Credentials還是有段差距,例如支持選擇性透露(Selective Disclosure)、身分資料的恢復與轉移(Data Recovery / Migration)、更好的系統可互通/互操作性(Interoperability)、可以快速進行驗證(目前ZKP還需較長時間的circuit計算)。
概念延伸 DID / UID
分散式識別符(Decentralized Identifier, DID)、人格證明(Proof of Personhood, PoP)、獨立識別符(Unique identifier, UID)是三個容易混淆的概念。雖然對這三者的定義尚無完美精確性,但我們可以用樸實的常識來理解:DID強調去中心化與身分數據的可攜性,不一定要,但通常是用區塊鏈技術來實現;PoP強調在數位系統中驗證真實人類身分,以防詐騙、攻擊、操縱;而UID是一個比較廣泛的詞彙,指的是在身分系統中,試圖做到「彼此獨立,互無遺漏」(Mutually Exclusive & Collectively Exhaustive, MECE)。
本文談的Aadhaar是一種UID,或更準確的說是一種Proof of Citizenship (PoC)。我們可以利用這種PoC可以作為一種PoP的形式。例如,如果有台灣自然人憑證(PoC),在Gitcoin Passport系統上,理應要能直接有一個超高分數證明你是真人(PoP)。
關於使用官方推行的PoC來做PoP的優缺點,可以參考以下由PSE改編自Vitalik想法的框架:
結語
隨著帳戶抽象化(AA)和零知識證明(ZKP)等技術逐漸成熟,DID + Wallet類型的專案最近出現了許多有趣的嘗試。舉例來說,「Proof of Passport」是一個利用護照NFC來製作SBT的專案;而「Myna」則是一個將日本政府發行的My Number Card用作硬體錢包的抽象錢包解決方案。需要的技術似乎都已經相當成熟,現在只等待相關法規的完善和有人將其腳踏實地的完成。總的來說,這是一個有趣又令人期待的賽道。
備註
Anon Aadhaar所使用的ZKP,具體來說是zkSNARKs。
關於Selective Disclosure的功能,根據Anon Aadhaar專案核心開發者的說法,他們正在開發,並很快就能推出這項功能。