「管理是那種沒有演算法可循的事。有演算法的,那叫行政。」——尼德漢(Roger Needham)
「市場不是資本主義的發明。它已存在數個世紀。它是文明的發明。」——戈巴契夫(Mikhail Gorbachev)
監控與計量:從瓦特的封印計數器談起#
除了上一章討論的防盜警報,你家裡很可能還有許多其他監控裝置:公用事業電表、嬰兒監視器、煙霧偵測器、運動器材、健康追蹤器與連網家電。
使用密碼學與防篡改技術的電子系統,已取代多數較舊的機械系統,並開啟了各式各樣的新應用。 本章有四個案例研究:
- 預付式電表(票證系統的代表)
- 行車紀錄器(tachograph)——歐洲與澳洲用來記錄卡車與客運司機速度與工時的裝置
- 宵禁電子腳鐐(curfew tag)——美國用於審前監控嫌疑人、英國用於假釋者
- 電子郵資機(postage meter)
我們確實開始有 IoT 安全的通用標準(如 ETSI EN 303 645 草案),列出了「不要預設密碼、保護金鑰、軟體可更新、最小化攻擊面、允許使用者刪除個資」這類老生常談。但把基本原則變成好的工程需要功夫,而我們能從已經歷過至少一輪攻防迭代的應用中學到很多。
計量系統比警報更微妙之處#
你會記得要擊敗防盜警報,只要讓它看起來不可靠就夠了。計量系統則增添了更多細微之處。
討論銀行金庫警報時,我們主要關心對通訊的攻擊。但許多計量系統在實體上暴露得多,而且攻擊方向依利害關係而反轉:
- 計程車司機可能想讓計費表顯示比實際更多的里程或分鐘,所以會操縱它多量。
- 卡車司機則相反:他通常想超速、或工作危險地長的時數,所以想讓行車紀錄器忽略部分行駛。
- 公用事業消費者可能想讓電表忽略部分經過的電或瓦斯。
- 刑事被告與假釋者可能想規避宵禁令。
在這些情況下,被監控的對象可能讓裝置做出錯誤讀數、或乾脆讓它故障。 各種漏洞利用也有地下市場。
以郵資戳印系統而言,攻擊者光是造成故障並不夠(那樣他就寄不了信)。而且我們必須理解真實的威脅:郵局主要關心的是阻止大規模詐欺,例如賄賂郵局員工把一卡車郵件塞進系統的黑心直效行銷業者。系統看起來像是設計來阻止外部詐欺,但它真正的焦點是內部。
預付式代幣#
有許多系統是使用者在一處付錢買代幣——不論是一個魔術數字、一張磁條紙卡、一個顯示 QR code 的 app、還是一張可儲值晶片卡——然後在別處使用其儲值。 例子包括交通票券、圖書館影印卡、滑雪場纜車證、大學宿舍洗衣機代幣。
複製單一張票不太難,重複一個魔術數字更容易。若我們讓所有代幣都唯一、所有裝置都連線,就能防止這類詐術。但那讓系統變得脆弱:如果人們在行動網路死角上不了公車、或在資料中心當機時用不了纜車或洗衣機,那會損害生意、花掉真金白銀。
所以重播與偽造偵測有時必須離線完成。但如果我們單純用一把通用主金鑰加密所有代幣,惡棍就能從偷來的終端機萃取它,然後開店賣代幣。
但多數人不會作弊,除非有人把它工業化、讓它看起來又容易又安全。 要極大化營收,小額詐欺至少該有點不方便;而更重要的是,要有機制防止任何人大規模偽造票券。
預付式電表如何運作(STS 系統)#
作者曾有幸參與一個為南非三百萬戶通電的專案(曼德拉掌權時的核心競選承諾)。到 2019 年 12 月,他們開發的 STS 規範已用於 98 個國家的 6,800 萬個電表。
這項技術是由開發程度較低的國家驅動的,最顯著的是南非:許多房屋是非正式搭建的,屋主甚至沒有地址(遑論信用評等),預付是唯一可行的路。 曼德拉總統任內裝設了超過 200 萬個電表,現估計有 1,000 萬個在使用。最大的安裝是印尼的 3,500 萬個。典型的已開發國家可能有約 10% 家戶使用預付表,因為他們領社福或有法院判決在身。
代幣其實只是一或多個指令,用該電表獨有的金鑰加密,內容類似「電表 12345——供應 50 度電!」信用用完時電表就中斷供電。有些代幣還有工程功能,例如改變電價。
通常的策略是把每個代幣綁到唯一的電表(所以沒人能把同一個魔術數字用在兩台不同的電表),並用序號或亂數讓每個代幣唯一(所以同一個代幣不能在同一台電表用兩次)。
但把這個簡單想法發展成穩健的系統,花了驚人的經驗代價。
每台電表都有一把密碼金鑰以驗證來自售賣機的指令。早期系統每個社區有一台。它有一把販售金鑰 K_V(社區的主金鑰),而每台電表有一把由其電表 ID 在販售金鑰下加密而導出的裝置金鑰 K_ID:
K_ID = {ID}K_V但真實生活通常更複雜。 英國電業解除管制後,出現數十家電力公司透過共同基礎設施轉售電力,所以電表會在稅費結構各異的多家電力公司之間易主。 在南非,許多人通勤距離很長,所以他們想在工作地點買票。
於是他們先做了「把客戶電表金鑰從『擁有』該電表的售賣站送到另一站、並反向傳遞銷售資料以對帳結算」的協定,有點像 ATM 網路。2007 年他們引入線上販售:一台中央伺服器有裝著所有販售金鑰的硬體安全模組,客戶可以透過網路或手機購買魔術數字。
統計平衡與「幽靈售賣機」
統計平衡(statistical balancing)用來偵測非技術性損耗,也就是透過竄改電表或非法接線竊電。做法是比較一台饋線電表(可能供應 30 戶)的讀數與賣給那些家戶的代幣總量。
曾發生售賣機被偷走、被用來與電力公司競爭賣代幣的案例。 消滅這種「幽靈售賣商」通常意味著更換當地所有電表的金鑰;至今仍有少數被偷的機器在外流通,由犯罪集團操作。
所以我們有了一套由銷售點的價值計數器強制執行的帳務系統,而非靠電力公司伺服器上的分類帳資料。
不過戰略方向是集中化,以省去管理經銷商的功夫與費用;營運商已用「即時從中央服務取得代幣」的線上販售點取代了離線售賣機。
出了什麼錯#
與防盜警報一樣,環境穩健性至關重要。 除了巨大的溫差,許多地區有嚴重雷暴:電表可以想成一個接著三公里長避雷針的微處理器。
有一款電表只要代幣槽下方的電路被破壞就會給出無限額度,於是阻斷服務攻擊有效到變得流行。
這個 bug 沒被抓到,是因為根本沒規定要做電壓驟降測試——已開發國家的環境標準不足以用於非洲。 責任公司在 10 萬個電表必須拔出來重燒 ROM 之後幾乎倒閉。
其他 bug,以及五條寫下來的教訓
還有許多其他 bug:
- 一款電表販售的不是「指定數量的電」,而是「某某費率下值某某錢的電」。販售人員發現費率可以被設成極小的數額,電表就會幾乎永遠運作下去。
- 另一款允許退款,但被退款的代幣的副本仍然可用。
- 另一款電表只記得最後一個輸入的代幣序號,所以交替輸入兩個代幣的副本就能無限充值。
其他寫下來的教訓:
- 只要你控制行銷通路,預付可能既便宜又簡單;但當你試圖透過便利商店、銀行與超市這類第三方賣代幣時,它會變得昂貴、複雜且有風險。
- 如果安全基礎設施第一次沒做對,改起來可能很貴——例如「必須在遠方商店賣電表代幣以支援通勤者」這個需求。
- 能回收技術就回收,因為它 bug 較少。 他們需要的東西有很多是從提款機的世界借來的。
- 使用多位專家。 單一專家通常無法涵蓋所有議題,即使最好的專家也會漏掉東西。
- 你絕對需要長時間的現場測試。 這是許多錯誤與不切實際之處會首次現身的地方。
初期部署後幾年學到的主要教訓是「把可規模化的詐欺設計掉」,那意味著集中化。 但仍有程序性漏洞:由於任何公司都能成為經銷商(在市場上買電表與售賣站),黑心公司可以在社區住宅區裝設流氓電表,並指示租戶改向他們買代幣。
有一項妥協回頭咬了他們一口。
所以設計新系統時,請把永續性想成的不只是「這系統未來 30 年會沒問題嗎?」而是「未來 100 年會沒問題嗎?」你可能剛好活得夠久,久到會感到難堪!
智慧電表與智慧電網#
2000 年代初,計量業開始推銷智慧電表的概念——一台有即時通訊到中央伺服器、因而能被遠端讀取的電表。自動抄表(AMR)後來被進階計量基礎設施(AMI)取代;後者有雙向通訊,所以能遠端向電表下指令。
賣給公用事業的好處包括降低帳務成本與更容易催收債務。向政府提出的理由則是降低尖峰需求、從而減少所需電廠數量。 行銷人員談「智慧電網」,興奮地說你的電表能控制家電、與市場即時協商費率。
較清醒的說法是智慧電表會靠讓使用者更意識到自己用了多少電、從而省錢來回本。
對電表廠商的好處,是用一個至少 50 美元、大概撐 15 年的產品,取代一個 15 美元、能撐 50 年的產品。
智慧計量有許多問題:
- 隱私:若電表設定成每分鐘甚至每秒監測用量,電力公司就能推算家裡有幾個人、他們何時吃飯、何時洗澡、何時睡覺。 這帶來掠奪式行銷的直接顧慮,以及第三方存取的間接顧慮——不論是透過執法搜索令、對授權存取的濫用、還是廣告生態系或許不可避免的入侵。
- 網路戰:接著我們注意到,在一國所有家戶中放進一個可遠端下令的斷電開關,會製造重大的網路戰威脅;如果敵人能關掉你的電力供應,他們能迅速關閉你的經濟、或勒索你。
- 誘因分歧:但也許最大的一束問題圍繞著各利害關係人分歧的誘因。公用事業想賣很多能源,而政府想省能源、降低尖峰需求。那麼誰會贏?
義大利、西班牙、德國、安大略與英國:一份成敗清單
先行者是義大利,電力公司 ENEL 於 2001 年開始安裝智慧電表。他們主要關心的是竊電,特別是在南義,那裡派去斷電的稽查人員會被黑幫威脅。智慧電表讓欠費者能被遠端切換到預付制。 這被視為成功,於是遊說者開始行動。
- 智慧電網概念隨 2007 年《能源獨立與安全法》成為美國政策,並在歐巴馬總統把 45 億美元撥給它、作為《美國復甦與再投資法》的頭條措施時引起公眾強烈注意。
- 歐洲議會隨後在 2009 年立法,要求成員國在 2012 年前對智慧計量做經濟評估,若發現有益就在 2022 年前強制使用(2020 年前達 80% 普及)。
美國的公用事業多為受管制的地方獨占,歐洲模式則是競爭性發電、受管制的輸配電獨占、加上競爭性零售商。電表屬於配電網營運商還是零售商,是歷史偶然。
德國做了誠實的評估,判定智慧電表不符經濟效益,於是放棄了這個專案。
英國不幸地硬幹了下去。 其能源與氣候變遷部在 2004、2007、2008 年已經做過經濟評估,結果都顯示投資報酬為負。他們毫不氣餒,硬拉成本、效益、電價與利率的假設,在 2009 年生出一份正面評估,並讓英國不只對電、連瓦斯也承諾導入智慧電表。
加拿大安大略省同樣硬推,導致一場昂貴的失敗(記錄於 2014 年審計長年度報告)。
整體能源規劃差到該省最後把剩餘電力賣給美國,以數十億美元的規模補貼了密西根與紐約州的公用事業。
在英國,智慧計量演變成可能是有史以來最大的民用專案災難。
歷屆政府(工黨、聯合政府、保守黨)都承諾在 2020 年前推完智慧電表,因為沒人想被指控不夠「綠」。作者的看法是:浪費 200 億英鎊卻沒省下任何能源、還排擠了本可帶來真實節能的更好專案,大概是你所能做到最不綠的事。
專案在每個層級都被鍍金:每戶最多有四台裝置——瓦斯與電力的智慧電表、把它們連上無線網路的家庭集線器、以及讓付帳者追蹤用量的室內顯示器。(專案 2009 年啟動,正好在人們開始用智慧手機的時候,卻僵化到無法改用 app。)
- 接受某廠商智慧電表、之後為省錢換供應商的英國家戶,通常此後得手動報數。
- 花了好幾年才談定第二代電表的國家標準,而已部署的電表隊多數是不相容的舊型號;廠商為了把自家專利塞進去而纏鬥多年,官員既無技術知識也無政治支持去強壓他們。
- 安全機制是在 2010 年代中期、在我們指出敵對國家能在緊張時刻直接關掉英國家戶電力之後,才驚慌地補上的。
- 威脅要揭露專案失敗(以及成本可能從 110 億漲到 230 億英鎊)的吹哨者,被威脅要坐牢。
- 國家審計署 2018 年底報告專案嚴重落後:原計畫 2020 年底前換掉 80% 的英國電表,但只做了 1,250 萬台,還有 3,900 萬台待做;而且70% 的電表在客戶換供應商時會喪失功能(而你每年都得換才能拿到好價格)。
- 到 2019 年 11 月,只有 230 萬台是新型的。至於節能,毫無跡象。而現在官員根本不想知道:用國家審計署報告的話說,「該部目前沒有在推行完成後繼續與消費者互動的計畫。」
電表廠商在 2000 年代末大力行銷時,曾大談電表能靠創造需量反應與改善量測來穩定電網。當時有經驗的電力工程師所表達的懷疑,後來證明是對的。
電網確實變得更脆弱了,因為發電容量從接在核心輸電網上的大型旋轉機組,移到了嵌在更廣配電系統中的數十萬台風機與太陽能板。近期的大停電(2016 年南澳、2019 年英國)都是串級失效:一個局部事件(澳洲的暴風、英格蘭的雷擊)造成頻率變化率超過安全極限,導致進一步卸載、造成低電壓與更多卸載。
結論不是我們需要智慧電表(即使在變電所層級),而是我們需要系統中有更多慣量——那意味著買電池或同步調相機。我們也需要讓其餘的基礎設施更能容忍停電。
許多國家現在有容量市場,電網營運商能在數秒到數分鐘的時間尺度上買進額外的百萬瓦,但這些是用專用系統運作的:例如有備用柴油發電機、每月必須跑半小時確認堪用的資料中心營運商,會因在需要時啟動它們而獲得報酬。
但做這件事的設備一律與主要的公用電表分開;沒有創業者會想讓自己的容量公司糾纏進計量這團受管制的爛帳。至於「你家的集線器協商能源價格、在價格飆升時關掉你的爐子或熱水器」這個行銷願景,離商業現實很遠:賣爐子與暖器的廠商確實在裡面放 CPU 與通訊,但它們是跟自家伺服器對話,不是跟其他裝置對話;而以為政客會允許零售價飆到跟容量市場一樣高,是天真的。
智慧電表在英國達成的一切,就是讓幾萬名抄表員失業,代價是付帳者的 200 億英鎊。安大略也一樣,只是少一個零。
票證詐欺#
交通票證是比公用事業計量更大的應用,但作者不知道有任何關於火車、公車與地鐵票失效模式的嚴肅公開研究。
以倫敦為例,鐵路解除管制導致火車公司操縱售票地點的問題——把票登記在自己抽成較高的車站。如果你在設計一個在多家業者間分潤的系統,你應該試著把「利害關係人作弊的誘因」設計掉。
我們確實有真實詐欺數據的一種票證,是航空票。
2010 年代出現了一個「詐騙取得的機票 + 其轉售通路」的生態系。票的取得方式五花八門:從盜刷信用卡、航空公司與旅行社的不肖員工、到被偷的哩程與被駭的訂位系統;行銷通路包括垃圾郵件、聯盟行銷、賣給移民社群、以及賣給人口販運者。
關鍵因素是:機票不像地鐵票,它值錢到足以讓這種生態系發展起來;而且雖然有些客戶知道自己拿的是假票,夠多的人只是單純的傻子,所以你不能把每個拿著無效票來搭機的人都逮捕。
計程車計費表、行車紀錄器與卡車速限器#
有若干系統設計來監控與控制車輛。最熟悉的大概是你車上的里程表。 買二手車時,你會擔心車子是否被「調錶(clocking)」過。隨著里程表數位化,調錶變成一種電腦詐欺。
- 引擎控制器是遠端鑰匙進入系統的伺服器端(保護多數現代車輛不被偷);所以若你想在不偷鑰匙的情況下偷車,你可能在街上就換掉控制器,或先把車拖走再換/重寫控制器。
- 人們重寫引擎控制器讓車跑更快,而製造商不喜歡這樣,因為引擎燒毀的保固索賠會增加。所以他們試著讓控制器更防篡改、或至少能顯示篡改痕跡。
任何想在週六夜開車兜風打動女伴的年輕人,都有擊敗那個黑盒子的誘因。
行車紀錄器:類比時代的基準#
這些裝置用來監控卡車司機的速度與工時;在歐洲,傳統類比裝置自 2006 年起被數位裝置取代,而由於一輛卡車約可用十年,如今多數車隊已是數位的。這給了我們關於這類設備如何運作與如何失效的有趣資料;而它也是「轉向數位技術並未讓事情變好」的一個例子。真正需要的不是炫技,而是更多執法。
美國用地磅站與駕駛日誌執法,歐洲則用記錄車輛 24 小時速度史的行車紀錄器。 2005–6 年之前,這記錄在一張圓形蠟紙圖上;此後數位紀錄器被引入,舊系統大致被淘汰。
類比系統使用一張裝入紀錄器(車輛速度/里程表單元的一部分)的蠟紙圖。它在儀器內一個每 24 小時轉一圈的轉盤上緩慢轉動,由一支連到速度表的細探針刻下速度史。
在歐洲,沒有行車紀錄器開卡車是違法的。若是類比的,你必須裝上紙圖,並在上面寫下起始時間與地點;你還必須隨身攜帶數天份的圖表,以證明你遵守了相關的駕駛工時規定(典型是每日 8.5 小時,加上每日休息與每週休假日的規則)。若是數位的,你必須插入駕駛卡;卡片與車輛單元都會保存紀錄。
歐洲法律也把卡車限制在高速公路 100 km/h。這不只由警方測速與行車紀錄器記錄執行,還由同樣受紀錄器驅動的速限器直接執行。 紀錄圖也被用來調查其他犯行(如非法傾倒廢棄物),並被車隊營運商用來偵測偷油。
所以卡車司機有很多想動手腳的理由。這其實是安全工程的一條通則:不該把目標聚合起來。 逼卡車司機為了規避速限器而必須擊敗行車紀錄器(反之亦然),是個設計錯誤——但如今已根深柢固到難以輕易改變。
出了什麼錯#
根據數位系統導入前一份對 1,060 起駕駛與營運商定罪案的調查:
標準手法叫「幽靈換車(ghosting)」:一家在丹地與南安普敦都有據點的公司,若要每天各方向各發一車,本該有四名司機,因為距離約 500 哩、車程約 10 小時——一名司機每天這樣跑是違法的。
於是兩名司機在中途點(如 Penrith)碰頭、交換卡車、在紀錄器裡插入新紙圖。 從南安普敦來的司機現在開著從丹地來的車回家。被攔查要求出示圖表時,他出示當前這張 Penrith→ 南安普敦、前一天的南安普敦 →Penrith、前兩天的 Penrith→ 南安普敦……如此便造成「他每隔一晚都在 Penrith 過夜、因此合法」的假象。
這在歐洲大陸更難偵測,那裡一名司機可能週一在法國的車廠出勤、週二在比利時、週三在荷蘭。
更簡單的詐術、以及對供電與儀器的竄改
更簡單的詐術包括把時鐘設錯、假裝搭便車的人是接班司機、以及把起點記成一個很常見的村名——例如英格蘭的「Milton」或西班牙的「La Hoya」。被攔查時,司機可以宣稱他從附近另一個 Milton 或 La Hoya 出發。
這類技倆常涉及司機與營運商的共謀。當營運商被命令提出圖表與薪資紀錄、地磅單、渡輪票等佐證文件時,他的辦公室很可能就「剛好」失火了。(值得注意的是,有多少卡車公司是在離自家車場一段安全距離的廉價木棚裡辦公的。)
第二大類詐欺(約占 20%)是竄改紀錄器的供應訊號,包括干擾電源與脈衝供應、纜線與封條。
最早的紀錄器用旋轉鋼索(就像 1980 年代初以前汽車的速度表),很難動手腳:若你卡住里程表,很可能會把鋼索扯斷。較新的類比紀錄器是「電子式」的,輸入來自變速箱中的感測器,在傳動軸旋轉時送出電脈衝。這讓動手腳容易多了!
常見攻擊是把感測器旋鬆約十分之一英寸,使脈衝停止、彷彿車輛靜止。 為防止這點,感測器用鋼絲與鉛封固定。於是安裝技師被賄賂,把鋼絲逆時針而非順時針纏繞,使它在感測器被旋鬆時鬆脫而非斷裂。(封條是發給廠而非個別技師,這讓起訴更複雜。)
但多數手法還更簡單:司機把纜線短路、或把紀錄器的保險絲換成燒斷的。(有製造商試著把卡車的防鎖死煞車系統接到同一個保險絲上來阻止這招。許多司機寧可早點回家,也不要開一輛安全的車。)
第三類是竄改紀錄器單元本身,典型是誤校準,通常與技師串通、有時由司機自行破壞裝置封條。這約占 6%,並在 1990 年代下降,因為數位通訊的引入讓改動纜線更容易。
高科技攻擊:調查當時的技術頂點是一個標著「電壓調節器——日本製造」的塑膠圓筒(它當然不是電壓調節器,看來是義大利製)。
這類裝置占不到 1% 的定罪,但一般相信其使用廣泛得多。它極難找到,因為能藏在卡車線束的許多不同位置。 攔下一輛裝有此裝置的超速卡車卻找不到它的警察,很難取得定罪:封條完好、看似校準正確的紀錄器,與他們雷達或攝影機的證據相牴觸。
數位行車紀錄器#
各國對紀錄器竄改的對策不一:英國在路邊隨機攔檢卡車;荷蘭稽查員偏好突襲卡車公司、稽核其送貨文件、司機工時表與燃料紀錄;義大利用高速公路收費站資料起訴平均速度超過速限的司機(你常會看到卡車就停在義大利收費站前面)。
英國制度的弱點是:稽查員攔下卡車發現違規後,會在幾個月後在當地治安法院起訴。外國司機常常就是不出庭。
於是歐盟主導設計一套統一的電子紀錄器系統,用智慧卡取代既有紙圖:每位司機有記錄過去 28 天駕駛時數的駕駛卡;2006 年後註冊的每輛車有能保存一年歷史的車輛單元;另有技師校準用的工廠卡與執法人員路邊讀取用的管制卡。
事實上,那對在丹地與南安普敦之間「幽靈換車」的兩名司機來說,日子還更好過了。換到新系統花了十四年(比一輛卡車的壽命還長),期間一家黑心公司可以同時跑一輛新的數位車與一輛舊的類比車。 每位司機現在有一張圖與一張卡、各記五小時,而不是兩張可能在被攔查時「不小心搞混」的圖。
這個預測站得住腳。到 2008 年約 20% 的車隊已是數位紀錄器——比預期要多——這暗示營運商可能在還不必裝的時候就搶先裝,因為它們更好動手腳。2020 年,司機有多張卡。
1998 年時德國人希望駕駛卡是記憶體裝置,好裝下詳細紀錄;法國人則因其智慧卡產業遊說而堅持要智慧卡。所以駕駛卡記憶體有限,只能容納有限數量的警示事件。
系統層級問題與其他問題
各國對細緻資料喪失的回應不同。 德國建了一套車隊管理系統基礎設施,接受數位紀錄器資料、既有紙圖的數位化版本、燃料資料、送貨資料乃至薪資,全部對帳,不只提供卡車公司管理資訊,也提供警方監控資料。
英國有網路化的自動車牌辨識(ANPR)攝影機,最初裝設在倫敦周邊以增加愛爾蘭共和軍炸彈攻擊的難度;1997 年受難日協議終結該威脅後,ANPR 不但沒被除役,還擴展到全國。 那以偵查逃稅車輛為由被正當化,但我們後來看到 ANPR 資料在越來越多起訴中被引用,從恐怖主義一路到竊盜。
在舊類比制度下,一名平常懶得放圖表的義大利司機,在翻越阿爾卑斯山時會放;同時反向而行的德國卡車司機會把他的圖表拿出來。淨效果是同一國內所有司機受到相同程度的執法。
但如果駕駛資料是從義大利司機的卡片上傳、存在羅馬某卡車公司的 PC 上,他們就受義大利水準的執法(若羅馬警方不在乎德國的事故,甚至更少)。解法是治外法權:在德國被攔下的義大利卡車司機,若無法出示越境前一週在義大利的滿意紀錄,現在可以在德國被起訴。
2018 年 3 月,英國修法允許路邊即時開罰。在此之前,警員只能對進行中的違規開即時罰單,而不能對卡車或司機紀錄中可見的違規開罰。這項改變讓罰款數增加了近十倍。
整體而言,從類比到數位並不是個改善。 官員的看法是:對不合理行程的初始偵測大致相同,但數位破解裝置的精巧程度使它們更難被找到。
其他有趣的問題:
- 數位紀錄器是第一個讓數位簽章大量出現在法庭上的系統。 多年來研究者寫的論文結尾都是「法官接著把 X 的 Y 次方算出來,發現等於 Z,於是把 Bob 送進監獄。」現實不同:法官覺得數位簽章很難,因為它們是以車輛單元印出的小紙條上的十六進位字串呈現的,而且沒有核可的驗證設備。 警方的解法是套用「保全」證據的標準程序:突襲可疑卡車公司時,他們把 PC 硬碟做映像、複製到封進證物袋的 DVD。
- 許多司機有不只一張駕駛卡。 這在哪裡都是犯罪,但那擋不住!他們向只偶爾用卡的朋友借;而拜歐盟遷徙自由之賜,司機能輕易擁有不只一個地址——土魯斯的 Jean Moulin 也可能是安特衛普的 Jean Moulin。跨國偵測重複申請的資料庫 Tachonet 似乎運作不佳(例如司機可能在其中一個居住國「忘記」自己的中間名)。
- 有新型的阻斷服務攻擊:卡車司機可以用市電(連卡車的 24 伏都行)餵他的智慧卡把它毀掉。依規定他在等待換發期間可以開 15 天。由於靜電本來每年就會毀掉約 1% 的卡片,很難因為司機偶爾這麼做就起訴他。
- 細緻冗餘資料的喪失讓執法更難。 舊類比時代,資深稽查員對「圖表不對勁」有一種手感,但類比軌跡被換成了「司機違規/沒違規」的二元訊號。 這也波及其他執法任務:類比圖表常被用來蒐集非法傾倒有毒廢棄物的證據,因為記錄下的速度史往往讓稽查員對卡車的路線有很好的概念。
- 系統中有些卡片非常強大(尤其是設定儀器的工廠卡與警察/稽查員用的管制卡),能被用來抹除不法證據。 例如若你用工廠卡把車輛單元的時鐘從 7 月 10 日往回撥到 7 月 8 日,7 月 9 日與 10 日的記錄就變成不可讀。 有些國家因此極力減少落入壞人手中的工廠卡數量(英國要求卡車技師通過犯罪紀錄查核),但這並非萬無一失,因為被定罪的往往是公司,而黑心維修廠的富有老闆就再開一家新公司。
行車紀錄器世界的一個有趣副產品:
1990 年代末,歐盟法規要求所有數位紀錄器都必須加密從變速箱感測器到車輛單元的脈衝列,以挫敗前述的中斷器。理論上這不該是問題,但金鑰要怎麼分發?
如果只是設一支車廠可以打的熱線,很可能會被濫用(技師與司機串通擊敗系統、車廠人員濫用求助專線取得贓車解鎖資料乃至贓車音響 PIN 碼的歷史很長)。
解法由「復活小鴨」安全政策模型給出,更平實的說法是首次使用即信任(trust on first use)。它得名自「破殼而出的小鴨會把牠看到的第一個會發聲的移動物體認作媽媽」這件事,這叫銘印(imprinting)。
同樣地,一個剛從收縮膜拆出來的「新生」車輛單元,會把第一個送給它秘密金鑰的變速箱感測器認作主人。 感測器在通電時做這件事。金鑰一旦收到,車輛單元就不再是新生兒,會終其一生忠於該感測器。若感測器故障必須更換,工廠卡可以用來「殺死」車輛單元的金鑰庫並讓它復活為新生兒,然後銘印新感測器。每一次復活都不可磨滅地記錄在車輛單元中,讓濫用更難。
(至少理論上如此——實作有點打折:某款單元中「感測器重新設金鑰」的錯誤碼與「電源中斷」的錯誤碼相同。)
感測器攻擊與後續世代#
數位紀錄器開始出貨後,做出中斷器的那批人推出了新產品:一個內含電磁鐵與電子元件、用來模擬變速箱的黑盒子。 違規司機把變速箱感測器旋下來放進這個模擬器,模擬器自帶纜線與一個插進實際變速箱的感測器。
系統現在照舊運作;一聲令下,它會忠實轉送脈衝、或丟棄它們、或濾掉其中一些。 造假的脈衝列一如既往抵達紀錄器,只是這次被三重 DES 漂亮地加密了。安全的感測比看起來更難!
這變得如此惱人,以致歐盟 2009 年專門立法禁止「任何意圖破壞、抑制、操縱或改變任何資料,或意圖干擾記錄設備各元件間電子資料交換之任何部分,或在加密前抑制或改變資料的裝置」,並要求成員國查緝。法規同時升級要求 2012 年起註冊的車輛使用「第三版紀錄器」,需要一個額外的運動感測器作為對感測器攻擊的反制。
第四代——「智慧紀錄器」(2019 年 6 月 15 日起首次註冊的車輛必須配備)增加了:
- 更好的安全機制,讓詐欺更困難;
- 衛星導航系統,記錄卡車在每趟行程起訖時的位置,行程超過三小時則每三小時記錄一次;
- 無線電連結,讓路邊警員能在車輛行進中讀取紀錄器資料。
宵禁電子腳鐐:把 GPS 當警察#
第三個案例研究是刑事嫌疑人與假釋犯戴在腳踝上、用以約束與監控其行動的宵禁腳鐐。 1999 年在英國引入,用來減少監獄人口。多數犯人服完一半刑期後獲釋,並在部分假釋期間受宵禁約束(典型是晚上 7 點到早上 7 點必須待在家)。任何時點大約有 2 萬名犯人「戴著鐐」。
所以貧窮的被告陷入負債,或因未繳而入獄。這很短視,因為坐牢一天要花約 100 美元。
考慮到美國任何時點約有一百萬人在獄中候審,這是個有真實後果的政策議題:配戴者人數超過 12.5 萬並自 2018 年《First Step Act》以來持續上升。法官視監控令為零成本,於是防禦性地簽發,範圍穩定擴大;三分之二的配戴者是非裔美國人;而與交保不同,被告即使被判無罪也拿不回錢。
三場官司:不可靠的技術、混亂的程序與利益衝突#
作者在 2013–6 年間以專家證人身分參與了多起宵禁腳鐐案件。
整體圖像是一項不可靠的技術,外加混亂的程序與利益衝突。 腳鐐承包商 Serco 不只供應腳鐐與後端系統,還供應客服中心與對法院系統的介面。更甚者,如果你違反宵禁,把你送上治安法庭的不是公訴檢察官,而是承包商——並倚賴其某個協助設計系統之分包商的專家證詞。
他們向法院要求取得該案的腳鐐、一整套測試設備、系統規格、誤報統計與稽核報告。承包商隨即回覆:「雖然我們仍認為被告違反了命令,但我們注意到若干因素,讓我能適切地基於公共利益中止程序。」
TPIM 案、承包商詐欺案,以及腳鐐斷裂的材料學實驗
數月後有一起涉及數名受「恐怖主義預防與調查措施(TPIM)」命令者的案件。 TPIM 是 2011 年引入的措施,允許英國政府對「被認為構成恐怖威脅、但證據不足以起訴」的個人施加宵禁,在人權上具爭議。
若干人被限制行動並戴上 GPS 腳鐐。這些腳鐐往往在約六個月後斷落,隨後這些人就因竄改腳鐐被起訴並入獄。 由於此事受保密令涵蓋,這個模式是在一家代表其中三人的倫敦律師事務所注意到後才曝光的。
政府再次拒絕讓任何證據接受專家檢驗,三人獲判無罪,令當時的內政大臣梅伊難堪。幾天後,其中一人在倫敦一間清真寺穿上尼卡布、以女性身分離開,藉此規避監控,引發媒體嘩然。
它們被剝奪合約,案件移送重大詐欺調查署。Serco 最終在 2019 年被罰 1,920 萬英鎊並負擔 370 萬訴訟費;其會計師 Deloitte 因所做的稽核被罰 420 萬;而 2020 年 G4S 被罰 4,440 萬英鎊。
腳鐐的可靠性在 2014 年另一起恐怖主義嫌疑人案中受審。 作者與材料科學系的同事受被告律師委任為專家。
法院遂命令他們兩人與實驗室一名沙烏地研究生戴上 GPS 腳鐐,並裝設加速度計與應變規監測測試。該學生的腳鐐撐過了數天禮拜,但作者的腳鐐在家裡勾到暖氣片時斷落,同事的則在踢足球時斷落。
規格要求腳鐐能承受 50 公斤拉力,而營運公司宣稱其材料不會發生疲勞斷裂。政府以「商業機密」為由拒絕透露那是什麼材料。無妨——對斷裂固定耳一小片試樣的測試顯示,那是一種確實會疲勞斷裂的聚碳酸酯。
法院命令他們交回所有樣本「以保護承包商的智慧財產」,但沒有對其專家報告下保密令。這名嫌疑人最終也被法院釋放。
GPS 到底有多準?#
2015–6 年,肯特警方開始用新供應商的 GPS 腳鐐監控輕罪犯。供應商起初對 GPS 精度做出不準確的宣稱(業務員不喜歡承認任何東西不完美),於是有了幾場官司。這迫使他們研究 GPS(或更廣義的 GNSS)的安全與可靠性。
在這類服務中,一組衛星各自廣播非常精確的時間訊號,而能看到四顆以上的接收器就能解出自己的位置與時間。實務上需要的不只如此。
- 可見衛星若聚在一起會稀釋精度(dilution of precision),這在只有少數衛星可見時可能發生。此時你可以查表估計誤差。(在他們第一起案件的關鍵定位中,只有五顆衛星可見,預期誤差是 45 公尺。)
- 許多消費裝置(如手機)有「貼齊」軟體,自動把裝置放到最近的道路或步道上。
- 更大的誤差可能來自多路徑(multipath)——典型是建築反射的訊號與直達訊號競爭。多路徑與貼齊的組合,正是你在高樓林立的城裡開車或走路時,手機或導航會從一條街跳到另一條街的原因。
直到不久前,GPS 干擾還是政府在做的事,但低成本軟體無線電的出現正在把這種樂子擴散開來。
如果作者是個戴著腳鐐的黑幫分子,他可以用 meaconing 製造不在場證明:它會告訴警方我在家,而我實際上出門開槍殺了人。
要做得比商用設備更好是可能的,不論是使用專業設備、還是使用聰明的訊號處理——例如對連續 GPS 定位施加干涉法,以提升精度並偵測多路徑與多種干擾,可支援約一公尺的精度。
相當比例的竊盜是由「多產慣犯」所為——典型是有毒品與酒精問題、有數十次輕罪前科的男性。如果警方替他們的「常客」戴上宵禁腳鐐,那麼一有竊案通報,他們只要查一下有沒有人曾在 100 碼內,有的話就派車去抓人。
這或許能靠把常客關越來越久來壓低犯罪統計數字;但若它把監獄塞滿了本該去勒戒或接受精神照護的人——或轉移了對更有能力之犯罪者的注意力——在社會層面可能就不那麼理想了。
電子郵資機#
第四個計量案例是郵資機。 郵票由希爾(Rowland Hill)1840 年在英國引入以簡化郵資收費,並發展成一種可用於特定用途的特殊貨幣。大量使用者到 19 世紀末開始覺得郵票不夠好,郵資機遂於 1889 年由 Josef Baumann 發明。
早期郵資機是類比的,會在信件上(或在貼到包裹上的紙帶上)印一枚戳記(indicium)。戳記上有日期,好讓舊戳記不能被撕下重用。 每台機器有一個受實體封條保護的機械價值計數器;你每隔一段時間要把機器帶到郵局讀取並重設。
防詐倚賴使用者把郵件帶到認識他們的當地郵局,櫃員可以檢查日期與機器序號。
1979 年 Pitney Bowes 推出「電話重設」服務,讓公司能透過電話再買 500 美元額度;實作涉及一個機械式一次性密碼本(機器裡有一捲連續充值碼的膠帶)。1981 年升級為 DES 系統,可用任意金額充值;充值碼有一部分是從價值計數器算出的——所以如果公司謊報用了多少郵資,就無法為裝置充值。
真正的威脅是內部人#
1990 年 Pitney Bowes 的 José Pastor 建議用列印的數位簽章取代郵票與戳記。 這引起美國郵政的注意,開始研究密碼學能否幫助做出更好的郵資機。一個顧慮是彩色掃描器與影印機的普及會不會讓郵票與戳記太容易偽造。
由於作弊的大宗郵件商會引起郵政人員疑心,就有誘因把他們拉進來分一杯羹;接著自然就會偽造一個「投遞郵局在別處」的機器印版。
到 1990 年美國郵政的損失已達九位數,而整個 1990 年代有多起操縱郵資機、白拿數百萬美元郵資的大宗郵件商被高調定罪。
這催生了使用數位簽章(由郵資機中的防篡改處理器產生)的開發計畫,並發展成多家廠商競爭可用的開放標準。
私鑰保存在機器的處理器中,對應的公開驗證金鑰則存在郵政以機器序號索引的目錄中。 如此一來,郵政稽查員能在分揀中心大批抽樣郵件,檢查每一件不只有戳印、而且位在從其宣稱來源到目的地的合理路徑上。
美國於 2000 年導入該技術,傳統供應商(如 Pitney Bowes)賣傳統機器,而 stamps.com 這類新創取得授權線上產生戳記、讓客戶下載並在家用電腦列印。德國與英國 2004 年跟進,加拿大 2006 年,其他國家隨後。
從數位簽章退回 MAC#
郵資機是公用事業計量模型的小幅延伸:有一個防篡改處理器(在機器本身、或在線上郵資的情況下附在網頁伺服器上),它有一個價值計數器與一把密碼金鑰,藉由產生戳記來配發價值,直到價值計數器耗盡,然後需要向鏈上更高層的控制單元補充。
平衡控制是 AR + DR = TS(「總設定值」,即該裝置所有已售出或被授權的總額)。若平衡失敗,機器就鎖住,只有稽查員能存取。
簽章之所以吸引人是因為它優雅;但在真實生活中,簽章驗證很昂貴,而且結果證明沒有必要。
大型分揀中心的設備每分鐘必須處理數千件郵件,而郵政通常把戳記驗證當成離線批次作業。偽造的郵件一開始會通過,只有在濫用模式浮現後才被攔截。
一旦驗證集中化,MAC 就比簽章更合理:中央伺服器有硬體安全模組,內含被多樣化成每台機器一把 MAC 金鑰的主金鑰,就像公用事業電表一樣。結果是兩位數的 MAC 就足以在系統性濫用變得嚴重之前偵測到它。
在德國郵政的「Stampit」方案中,使用者購買會在被列印時自行聯絡郵局的「智慧 pdf」檔案,過程完全不與使用者或其軟體互動。如果卡紙、或印表機沒碳粉了,那真是不好意思。所以使用者會想辦法影印那枚郵票、或把它複製成檔案以便必要時再印一次。
英國系統從中學到教訓:郵票在使用者 PC 回報已列印時被列為灰名單,但灰色要等到郵票出現在分揀中心才變黑。
語法上的差別很微妙:德國系統試圖阻止你把郵票印超過一次,而英國系統更現實地試圖阻止你把它用超過一次。
與數位行車紀錄器不同,數位郵資機帶來了真實的效益。
小結#
許多安全系統以某種方式關乎監控或計量環境的某個面向,範圍從公用事業電表到計程車計費表、行車紀錄器與郵資機。
- 數位預付電表是成功的,因為它讓開發中世界的電力公司能把電賣給數億個連地址都沒有、遑論信用評等的人。
- 數位行車紀錄器就沒那麼令人印象深刻;它們只是把舊類比系統做的事做一遍,而且做得更差。其緩慢演化或許是無可避免的,因為有太多根深柢固的利害關係人,而且缺乏顛覆性流程變革的機會——目標畢竟是讓一個成熟產業遵循既有的安全法規。
- 宵禁腳鐐把位置監控從車輛延伸到人身。它支撐了一些創新(因為技術性的犯罪者監控是個新產業),也教了我們在大型複雜系統中使用 GPS 的一些極限。
- 郵資機確實允許了一些競爭性創新,而且是成功的。
金鑰管理可能是個議題,尤其在低成本、廣泛分散的系統中——你沒辦法提供中央金鑰管理設施,也雇不起足夠多值得信任的人。
系統可能得應付眾多互相猜疑的各方,且往往必須實作在盡可能便宜的硬體上。而許多監控裝置就掌握在對手手裡。 還有各式各樣的應用層細節,你想讓設計成功就必須理解它們。
研究問題#
計量應用特別有用,因為其中瀰漫的相互不信任——不只來自互相競爭的商業實體,也來自每個層級都存在的不誠實員工以及不誠實客戶;再加上多數設備就在攻擊者的保管之下。
- 為什麼有些既有計量系統的數位轉型運作良好(公用事業、郵資),有些卻不那麼出色(行車紀錄器)?
- 為什麼有些是顛覆性的(新進者成功挑戰了先前的既有供應商),而在其他案例中(如郵資)既有供應商卻能管理好向更好數位系統的轉型並存活下來,儘管面對來自網路新創的創新競爭?