此为历史版本和 IPFS 入口查阅区,回到作品页
討厭鬼 aka 劉維人
IPFS 指纹 这是什么

作品指纹

2026 g0v summit 主題論壇〈在監控與偽冒之間:建立一個基於「脈絡完整性 × 使用者控制」的數位身分〉逐字稿

討厭鬼 aka 劉維人
·
·

投影片見此

各位好,我是維人。很高興今天來跟大家分享:一個數位身分系統要能夠順利、安全,並保障使用者權利,需要哪些要件。我進場的時候,大家可能正在掃數位皮夾。我之前就在該計畫的智庫擔任研究員,現在恢復成獨立研究者。

今天會來這裡,是想跟大家分享,一個數位身分系統要能夠順利安全地推行,需要落實三個重要概念,並且將其法制化。

第一個概念:停止傳統的識別本人思維

第一個重要的概念是,在數位身分系統中,要停止傳統紙本身份一直使用的「識別本人」。

我們看看什麼叫識別本人。以大家現在很紅的「年齡驗證」來說,像 YouTube 會跟你要一大堆個人資料,例如姓名、手機號碼、甚至叫你自拍對不對?這些東西基本上是從過去紙本時代識別本人的思維一路留下來的。它收集了過多資料,而且並沒有真的比較安全。

以年齡驗證來講,真正需要的東西只有一個:你有沒有滿某一個歲數。整個過程其實不需要任何資料,只要知道「你手上的 18 歲證是真的」就可以了。但無論是系統也好,還是規範也罷,都一直延續紙本時代的思維,造成收集過多資料;大家一看到數位系統,就會擔心監控。

我們知道,絕大多數情況之下,要做任何身分或資格驗證,其實都是一種「資格驗證」。以 18 歲來講,基本上就是一個簡單的 Yes and No 布林值,也就是你有沒有滿 18 歲。

但是,現在我們往往看到,因為你要身分證件,討論時就會出現一個問題:他會擔心你把例如 18 歲證讓給別人使用。之前在數位皮夾智庫案,我就聽到很多這樣的說法。但基本上這是一個嚴重的概念誤解。

因為真正在業界,尤其在 IAM (Identity and Access Management) 業界,例如大家如果有在使用網路銀行,應該都知道有一種東西叫 Authenticator(身分驗證器)。它要做的事情是確保証件綁定你本人,沒有辦法換到別人使用。它不需要,也沒有去跟使用者收任何其他個人資料。

這件事情在業界已經有很成熟的技術,也有可能的國際規範與國際標準。如果只是要防止偽冒、不當使用,或者外借的情況,只要能夠確保「鑰匙在你手上」即可

所以所以再強調一次,數位身分系統要能夠防止變成監控,就必須轉換到 Authentication 這個概念上。所謂 Authentication,意思就是任何一張證件,或者任何一個機器,持續保持在使用者手上。方法有很多,包括 Authenticator,或者現在很紅的 Passkey,或者 Biometrics(生物辨識)。這些方法全部都已經在商業上廣泛使用了。只要使用這些方法把東西綁在你手上,使得你在使用、接受審查,或者要 Access 的時候,系統確保是你就行了。它不需要知道你是誰。

這是任何數位身分系統接下來要推的時候,都必須符合的要件:資格證明或任何證件不應該知道你是誰。我們需要在規範上直接把「要求識別本人」的所有要求都當成例外,原則上一律禁止。只要法律明確規定必須識別本人,且可以正當識別本人的情況,才可以做本人識別。

第二個概念:風險個人化與脈絡完整性(Contextual Integrity)

第二件事情是風險個人化。很多人提到數位身分的時候,都會擔心使用者沒選擇的情況,白話文叫做「不同意就不要用」。

我隨便舉個例子,像學生證。畫面上只是我國其中一個縣市,我國很多縣市都在搞,就是把學生證——這邊指的是有物理卡的學生證——綁各式各樣的東西,什麼門禁、圖書館、悠遊卡、縣市 APP,甚至還有那種可以讓家長知道你的行蹤。

這件事情,如果是有一點數位人權或資安概念的人,一聽就知道是數位監控。可是請大家仔細想想看,這個系統究竟是在哪裡監控?真的是把個資送給每一個系統嗎?還是我們其實把不同系統,全都用同一張學生證,無論這張學生證是物理卡、APP,還是一個 Digital Credential,綁在一起呢?通常很明顯是後者。

前面已經提到,數位身分系統要能夠安全、要避免監控,就不應該識別本人。但是我們在實際做的時候,很容易把能夠識別本人的資料連在一起。

這時候很多人會說,只要使用者同意,盡量在每一個場景少給資料,用「選擇性揭露」就可以解決問題。完全不是這樣!用剛剛前面那個狀況舉例,其實圖書館也可以只收集一兩個資料,悠遊卡也可能只有註冊紀錄而已。真的是這樣嗎?才不是嘛!你從圖書館出來,然後上個車,系統就知道你家在哪裡了。

為什麼在「以使用者同意作為個資傳輸跟授權」的架構中,一直沒有辦法解決問題?為什麼一直被大家認為只要是數位身分就是監控?原因是它把權利直接框定並對齊成「使用者按了同意」。可是在絕大多數的情況之下,數位身分系統都是一種基礎建設,使用者很難說我不要用。像剛剛那個學生證就是很明顯的例子。或者在很多國家,如果是 eID 這種情況,eID 直接連到衛福、交通、公共服務的時候,使用者並沒有足夠多 de facto(事實上)的權利,去說我不要用、我不要儲存。

所以真正的問題在於,第一,如何提供 Institution 層保障既然終端使用者無法保障自己的權利,就必須用 Institution(制度/機構)層去保障。第二,如何防止這些不同的每一次傳輸紀錄被串在一起。這是數位身分系統要處理的第二個問題。解決方法可以分成兩項。

第一項是題目提到的 Contextual Integrity(脈絡完整性)。這個概念來自法學家 Helen Nissenbaum 在 2004 年的著作。傳統上,我們都認為隱私就是指你的某一個資訊要不要給別人。但這樣就回到前面講的選擇性揭露,最後都變成只要你同意,法律上、制度上全部都變成允許。

Helen Nissenbaum 質疑了這個概念,主張隱私跟同意是獨立的。她提兩個例子。第一個例子是急診。急診醫生要調你以前的醫療紀錄是可以的,但調你的財力紀錄一定不行。為什麼財力不行?因為我們認為醫療資料是醫護的 Context(脈絡),但財力不是。第二個例子,今天五月報稅季,假設稅務官調了你的財力紀錄,他需要你同意嗎?不需要,那是徵稅的脈絡。如果需要你同意,不就變成是在鼓勵所有人逃漏稅?

Nissenbaum 用這兩個例子主張,為何隱私取決於脈絡而非當事人同意。她把 Context 分為五個要件:

  1. 這是誰的資料;

  2. 從哪裡送到哪裡;

  3. 資料包含哪些東西;

  4. 資料是在怎麼樣的條件;

  5. 跟什麼理由下傳出。

這五個要件決定怎麼樣算是一個 Context,以及我在傳出的過程中,是否溢出了原本的 Context。她藉此主張,如果真的要保護隱私,就應該讓每一個資料預設只有在原本的 Context 中流動。如果溢出 Context,就需要申請。

例如醫療資料可以在醫療的 Context 使用;如果轉移到學術的 Context,就必須提出申請,先申請之後才能過。誰來審核申請?當然是原本 Context 的主管機關或者同儕團體,來決定這個申請是不是合理。

聽起來很麻煩、很複雜,對不對?所以國際間一直在爭論 Contextual Integrity 到底能不能實際使用。幸好最近有一個東西為它展開一線曙光,叫做 Relying Party Registry。

Relying Party Registry 這個東西跟數位皮夾有關,例如歐盟數位皮夾。簡單來講,它就是一張表單,可以在網頁上,也可以在區塊鏈上,讓所有人都可以存取。上面列出一些資料:

  • 服務提供者是誰;

  • 服務提供者屬於哪一個脈絡,例如醫療脈絡、電信脈絡、交通脈絡。藉此判斷你的主管機關、你的同儕團體是誰;

  • 服務提供者索取什麼屬性;

  • 你憑什麼索取?索取屬性是否與目的相符?是否真的有必要性?

當然,Contextual Integrity 的概念更泛用,它不光檢查索取資訊是否與目的相符,而是要檢查是不是溢出原本脈絡。如果索取資訊溢出原本脈絡,你就必須向別人申請。它是一個「原則禁止、例外許可」的狀態。

我非常希望,不光是數位皮夾,而是台灣任何或世界任何的數位身分系統,能夠有一個類似 Relying Party Registry 的東西,讓大家判斷索取資訊是否合理。這樣就可以避免把所有風險全部推給使用者同意。

不可連結性(Unlinkability)

接下來分享解決問題的第二個元件。我們剛剛提到,一張學生證有不同功能。很多人會以為,我只要不釋出身分證字號就可以了。沒這麼簡單,因為各位有技術背景都知道——我本身還沒有技術背景——我們送出去的東西其實都有指紋,都有 Transaction Footprint。你只要能夠把 Footprint 連在一起,甚至不需要有一個機器或程式的識別碼,都可以把各項記錄聚合成一整包使用者檔案。

這件事情其實有辦法解。它在技術上的概念叫 Unlinkability(不可連結性)。權威定義是畫面上這樣,但白話很簡單:我是一個使用者,我手上拿著兩筆資料去跟系統互動;你是系統,你不知道這兩筆資料是不是來自同一個人。如果你沒有辦法分辨,表示這個 Unlinkability 是成立的。

如果系統沒有辦法分辨兩筆資料是否來自同一個來源,那系統對於每一筆資料就是獨立處理的。要把這些資料聚合起來,會需要非常非常大的功夫。這可以從發證端就大幅降低數位身分被監控,以及資料被聚合的可能。

第三個概念:獨立稽核

第三個概念各位可能都很懂。怎麼知道系統真的有做?答案就是「獨立稽核」。大家都聽過畫面上的戶政資料爭議。目前爭議中,內政部的說法跟其他證據好像不太相似。這件事為什麼會變成爭議?就是因為事前並沒有一個獨立的物料清單、傳輸流程、資料流,能夠讓第三方獨立檢查。

更早之前也發生過更誇張的事情,例如大家很愛提的愛沙尼亞 eID。實際上,愛沙尼亞 eID 曾經出現 RSA 演算法金鑰太糟的事情。問題大到什麼程度呢?大到愛沙尼亞的 eID 曾經整批暫停使用。如果我們要推數位身分,這種事情是絕對不能允許的。你想想看,如果我們的身分證不能使用半年,會怎麼樣?所以數位身分系統要能夠安全上線,第三方甚至半公開的稽核是一定需要的。

此外,這邊的稽核是什麼?大家如果有一點資安概念,應該知道光是拿到資安標章是完全不夠的,因為真正要判斷的是,系統有沒有做預期外的行為。這需要紅隊,甚至是直接看 Code 跟架構,才有辦法事先避免。

另外是開源。很多數位身分系統的開源,都留下了兩個問題沒解決:第一,Spec 有沒有明定?如果沒有明定,開源只是變成一個開放場域,所有人都可以加入,但根本不知道哪個實作是安全的。第二,光是開源,並無法實際稽核 On-production 的東西。這樣大家還是不知道你實際部署的東西是不是跟你在 GitHub 上面放的軟硬體 Code 一樣。所以除了開源,依然需要 On-production Audit 。

以隱私為例,你要知道資料有沒有外流,其實要能夠事先知道哪些節點,以及 Sub-processor 的整個清單,讓外面的人能夠事先檢查。這不是說要完全防止問題,而是至少可以把事後出了問題之後的風險,大幅移轉到事情發生之前。


講了這麼多,聽起來好像數位身分系統要上線,需要一大堆準備。幸好,不管是從剛開始講到的 Authenticator、Passkey,到 Contextual Integrity,還有公開稽核,其實在國際間的技術標準與法規中,都已經有很多範例。我們可以把這些當成像樂高積木一樣,組合成真正需要的數位身分系統。

對目前來說,需要馬上處理的,就是這次分享的三個概念。第一個,數位身分系統必須不再識別本人;第二個,必須建立制度性的要件,例如 Relying Party Registry,去落實Contextual Integrity;第三個,整個數位身分系統都必須能夠開放稽核。

這三個要件都需要法制化,甚至必須直接寫成法條。我本人接下來也會繼續推動這些要件。我會繼續研究相關標準,也可能會試寫一下可能的法制化方案。

這個過程會非常需要各位的幫忙。謝謝大家。

CC BY-NC-ND 4.0 授权