跳到主要內容區塊

ntuccepaper2019

技術論壇

淺談個資遮罩
  • 卷期:v0040
  • 出版日期:2017-03-20

作者:許凱平 / 計算機及資訊網路中心作業管理組副組長


在個資法推行的這幾年,如何拿捏資訊揭露的尺度,一直是件不容易的事。根據條文,姓名是個資的一種,所以我們可以看到有些文件的姓名被遮罩起來,為的是避免觸法。這些改變,讓我們感到個資法的宣導有了成效,似乎民眾的隱私受到更好的保護,但另一方面,有些資訊的遮罩又會讓人覺得矯枉過正。例如在模範生的公告上學生姓名都成了陳○○或許○○,看到這樣一則公告,我想大部分的人都會懷疑這樣的公告,還有公告的必要嗎?雖然後來教育部做了解釋,獎懲公告屬於姓名的合理使用範圍,不需去識別化,但是已經成為新的積習,大家就繼續沿用,也不管是否真的需要。另外,由於大家對於相同的屬性資料(姓名、身分證號碼等),遮罩方式各有不同,有些遮頭,有些去尾;有心人士稍加拼圖就湊出原始資料的機率其實並不低。

 

聲明

以下人名均取材自歷史人物,如與今人雷同,純屬巧合,或請來信告知。

 

許○○可以嗎?

以醫學院的個案討論為例,在進行病人個案討論時,為保護個案的隱私,報告者通常會將個案的部分姓名以O (○)或X取代。以下我們假借三國時期的人物說明這種作法潛藏的問題。華陀是個名醫,他的學生吳普要和他討論陳登的胃病,於是將陳登的病歷轉貼於投影片。吳普為保護陳登的隱私,於是將病歷上的「陳登」一律以「陳○」取代之。按照這個做法,遇到「曹操」,就將病歷上的「曹操」以「曹○」取代之。這個做法簡單又規律,很容易程式化,只要將姓名的第二個字都換成○就可以了。
碰到要討論的是「蹋頓」的病歷呢?蹋頓是烏丸族的酋長,整本三國演義只有他姓「蹋」,假使我們還是依樣畫葫蘆,那麼熟悉三國人物的人,看到「蹋○」還是知道指的是「蹋頓」。如果遮罩的目的是為了去識別化,顯然這種做法失效的風險不小。除了稀有的姓名會造成去識別運算的失效外,就算是常見的姓氏,也還是有可能結合透過其他從屬資訊間接識別。例如職稱、職業與工作地點等等,結合了這些資料後,即使這個姓氏並不罕見,還是有被識別的可能。例如以上的例子,陳太守可能不只一人,曹丞相卻只有一個,所以大家就推論出這份是曹操的病歷,連帶他頭痛的特種個資也就洩漏了。

職業

姓名

主訴

丞相

曹○

頭痛

太守

陳○

胃痛

酋長

蹋○

骨折

表格一:帶有從屬資料的資料清單

 

如不能確定風險,建議還是將個案資料中的姓名以A先生、B小姐取代之(也不建議如一些新聞媒體使用名相關的字母,例如C代表陳等的做法,一樣有被猜出來的風險)。

 

替代識別

為了避免身分證號碼這種明顯的個資造成困擾,我們常常可以看到用組織內的編碼,例如職工編號、學號或病歷號碼作為替代識別的做法。這樣做是否就不用擔心個資外洩了?還是要考慮綜合運作情境才行。以個案討論的案例來說,如果只保留病歷號碼、出生年月日是否就沒問題了呢?醫院為了方便就診民眾,醫院網站上只要輸入病歷號碼跟出生年月日,就可以線上掛號。為了讓民眾確認,掛號完成後又常常會附帶顯示就診民眾的姓名與約診日期等資訊。就算只保留入院日期跟年齡(yy年m月),有心人士還是能推算大概的出生年月日,不用多久也藉由一些便民服務取得個案的姓名等資訊。

 

以圖形覆蓋敏感資料

在一些簡報或資訊系統的使用說明上,常會看到有人會用「不透明的矩形」覆蓋在敏感的資訊上。以PowerPoint為例,拿到簡報檔的人可以輕易移除這些覆蓋。就算轉換成PDF檔,有心人士還是可以用選取文字的方式取得背後的文字資訊。

 


圖一:PowerPoint覆蓋在文字上的圖形是可以搬移的

 


圖二:PDF圓角矩形覆蓋下的文字是可以複製的

 

原因是這些文字與圖像被程式當成不同的物件處理,雖然圓角矩形覆蓋了文字,我們還是可以用文字選取的方式取得底下的文字。建議完稿前對於原稿要進行截圖處理(用「Print Screen + 小畫家」或「剪取工具」),刪掉原稿上的要遮罩的文字與圖像,貼上截圖即可。

 

身分證統一編號

因為姓名可能會重複,身分證統一編號便成了識別個人的重要依據。以下是幾種常見的處理方式,以下我們將分別討論之。

 

原資料

A223456789

 

A

遮罩後四碼

A22345****

國發會規定

B

只留後四碼

6789

自然人憑證

C

隱中間5碼

A22*****89

國旅卡檢核系統(105年前)

D

間隔遮罩

A*2*4*6*8*

 

E

馬賽克

 

 

F

取代

Y987654321

 

G

MD5

5dd0eac42a8ac8053712be3967616ce4

 

MD5與馬賽克有用嗎?

雖然難以從MD5算出原本的值,但由於身分證號碼的定義域不大,所以要算出所有可能的身分證號碼的MD5其實不難,再用查表法找出即可(Rainbow table)。將機敏資訊加上馬賽克是使用手冊或是推廣研討會的講義上常見的樣態。這些文件會用到不少操作畫面,加上馬賽克處理的部分通常是真實資料(測試資料就不用上馬賽克了)。如果馬賽克的資訊是數字的話,還原的機率就不小。用類似Rainbow table的方式,產生所有可能數字的馬賽克,再加以比對,如果數字範圍不大,其實不需要很多時間就可以還原出原始數字。

 


圖三:比對馬賽克圖形找原始數字

 

不當範例與取代

內政部公布的身分證的樣本A223456789是一個無效的身分證號碼,但是換成A1的話,就真有其人,可以通過身分證檢核規則。當事人已經不堪其擾,我們寫範例時,就不要再用這個身分證號碼了。網路上有不少身分證號碼產生器,可以幫我們產生合格的身分證號碼,但同理也可能真有其人,還是小心謹慎為宜。

 

一致的政策

組織內最好要有一致的處理方式。例如一份文件以遮罩後四碼處理,另一份文件只留後四碼,組合起來就可以還原完整的身分證號。有鑑於大家遮蓋的欄位不一致,可能會被有心人士蒐集破解,國發會在103年發文要求各級政府統一遮後四碼。看到這則公文,心理覺得很欣慰,這個沒有國家級資訊力的資訊產品大國,終於有人出來管事了。可惜的是,可能發文前未考慮到行之有年的自然人憑證,內政部在憑證描述中早已經公布了後四碼,與統一遮罩後四碼的作法搭配起來,一邊提供前六碼,一邊提供後四碼,正好就可以組成完整號碼。如果怕這種情形發生,可以自己到內政部憑證管理中心,將自己憑證設定為不公開,這樣別人就查不到了。憑證系統是政府公開金鑰基礎建設的一個重要組成,大家若是都將自己的憑證設成不公開,還真的是有點奇怪。

 

資料連結造成的揭露

另一個政策不一致的類似情形是姓名的遮罩,什麼時候該遮,什麼時候不遮,怎麼遮,即使在同一個單位,可能都沒有一個定論。以學校的情境為例,生活助學金名冊可能就會對接受助學金的同學的姓名加以保護,遮了名字,又要識別,於是只好配上學號。另一份資料選課名單,就似乎沒有什麼隱私上的考量。兩個資料組合起來,就可以知道「劉玄德申請了助學金」這個隱密資訊。

 


圖四:以學號連結資訊

 

密碼

為了省卻預設寄發密碼通知信的麻煩,許多資訊系統的密碼通常就會以申請人的基本資料產生,身分證號碼跟生日是最常被選來當成密碼的資料,例如信用卡與電信公司的電子帳單就是以身分證號碼加密的,有些學校的選課密碼其實就是學生的生日。綜合以上的論述,身分證號碼其實並不是那麼難以取得,生日的資訊也可以從通訊錄或臉書查到,所以資訊系統的設計者最好不要用這些資訊當密碼。

 

資料外洩防護

有些單位會佈署DLP設施(Data Loss Prevention)防止機敏資料外洩。但這些設備對於轉換成影像的文字通常是沒辦法處理的。

 

遮罩公式與隱藏欄位

在網路上常常可以搜尋到大家對於Excel資料處理的經驗分享,假設A欄位是姓名,B欄位是身分證號碼,按照以下公式就可以完成資料的遮罩

 

A

B

C

D

1

姓名

身分證號碼

姓名

身分證號碼

2

趙子龍

A323751821

=LEFT(A2,1)&"O"&RIGHT(A2,1)

=LEFT(B2,6)&"****"

 

接下來把A, B兩欄隱藏起來就大功告成了。但是其實隱藏的欄位是可以取消隱藏的,所以應該要將C, D兩欄的資料以貼上值的方式,貼到新的試算表才對。

 


圖五:隱藏欄位是可以被取消隱藏的

 

自我檢查與處理

使用Google的進階查詢「keyword site: your_domain filetype:xls」,就可以查出你的網域中的可能外洩。前幾年我就是用這個方式將自己管理的網域內的文件都查了一次,找出不少內含身分證號碼的文件。因為Google有庫存網頁的功能,從自己的網站移除後,還要記得到Google申請移除庫存頁,才能完整清除外露的敏感資訊。

參數

說明

範例

site

你關心的網域

ntu.edu.tw

filetype

文件類型

xls, xlsx, doc, docx, ppt, pptx, pdf

 

結語

身分證號碼也是跨系統資料交換的重要依據,不全的身分證號碼真的很難作業。但是由於太多系統將身分證號碼設為預設密碼,改為公開資訊似乎大家也不能接受。以學號或員工編號代替,也會有連結破解的可能。各種隱藏方式似乎都可能被破解,減少資訊暴露的對象、時間(過公告時間即下架)與地點(限制組織內電腦才能看)才是解決之道。

 

參考資料

[1] 資料遮罩技術讓重要個資不露白, 李宗翰, 2012-12-14, iThome http://www.ithome.com.tw/tech/87443
[2] 個人資料去識別化驗證標準規範說明 - 經濟部標準檢驗局, www.bsmi.gov.tw/bsmiGIP/wSite/public/Data/f1447142556627.pdf
[3] 一般常見把姓名、身分證字號隱碼的做法,其實並不等於將個人資料「去識別化」, 林其樺, 關鍵評論, 2015/12/23, https://www.thenewslens.com/article/33049
[4] 身分證後4碼遮蓋處理, 國家發展委員會函臺北市政府, 103/12/31 http://doit.gov.taipei/public/Attachment/5171223444.pdf