Categories: AppleiPhone

Apple Pay、Google Pay安全機制大解密:SE、eSE、HCE、StrongBox是什麼?Android數位身分證也將改變

現在用手機刷卡、搭車,甚至拿手機當數位身分證,背後都離不開一套「安全儲存」與「安全運算」機制。

Apple 與 Android 雖然採用不同架構,但目的都一樣:讓信用卡、交通卡與身分證等敏感資料,不會直接暴露在一般手機系統中。

Apple Pay、Google Pay安全機制大解密:SE、eSE、HCE、StrongBox是什麼?Android數位身分證也將改變

Apple Pay為什麼需要Secure Element?

Apple Pay 會把支付所需的卡片資訊儲存在 Secure Element(SE,安全元件),iPhone 採用的是將 SE 直接內建在手機中的 eSE(embedded Secure Element)

SE 可以想成一台非常小型的安全電腦,專門保存信用卡等敏感資料,再透過 NFC Controller 與 NFC 天線完成感應支付。

不過 SE 有一個先天限制:容量非常小,通常只有數 MB。

因此,早期 Apple Pay 對 Wallet 可以加入的卡片數量有所限制,最初甚至曾限制在 8 張左右。

後來隨著新一代 eSE 容量增加,加上 Apple 在 iOS 17 導入 Dynamic Load / Unload(動態載入/卸載) 機制,這個問題才獲得大幅改善。

簡單來說,以前是:

所有卡片都必須一直放在 SE 裡。

現在則變成:

常用卡片留在 SE,不常用的卡片可以暫時移到受到 Secure Enclave 保護的安全區域,需要時再載回 SE。

因此 Wallet 現在可以容納遠比早期更多的卡片。

而設定為 Express Card 的 Suica 等交通卡,因為要求快速感應,因此會維持較高優先級,避免因為動態交換而影響反應速度。

Google Pay則主要採用HCE

Android 的 Google Pay 在信用卡等一般 NFC 感應支付上,主要採用 HCE(Host Card Emulation,主機卡模擬)

與 Apple Pay 的 eSE 不同,HCE 不需要把所有支付資料直接存放在獨立 SE,而是由 Android 系統中的安全環境處理 NFC 支付。

為了降低 Android 主系統遭到攻擊時的風險,HCE 會搭配 TEE(Trusted Execution Environment),建立與一般 Android 系統隔離的安全區域。

另外還會使用 LUK(Limited Use Key),也就是具有使用期限或使用次數限制的安全金鑰。

這與 Apple Pay 使用 Tokenization(代碼化)保護信用卡號的概念類似,目的都是避免直接暴露真正的信用卡資訊。

HCE 的一個特色是必須定期連線更新相關安全資訊,這也是它與 Apple Pay eSE 架構的一項差異。


為什麼日本Android又需要eSE?

問題來到日本,就會變得比較複雜。

因為日本廣泛使用 FeliCa

Google Pay 在日本其實同時存在兩種架構:

信用卡感應支付 → HCE

Suica、PASMO、iD、QUICPay等FeliCa服務 → eSE

FeliCa 的規格與安全需求,使它無法單純使用一般 HCE 完整取代,因此支援「おサイフケータイ」的 Android 手機,需要具備相應的 FeliCa SE。

這也就是為什麼有些 Android 手機雖然具備 NFC,卻仍然無法使用日本的 Suica 等服務。

Android數位身分證將改用StrongBox

另一個有趣的變化,是日本即將推出的新一代 Android版My Number Card(個人編號卡)

目前 Android 版 My Number Card 主要把電子憑證放進 GP-SE,因此支援範圍基本上受到「おサイフケータイ」機種限制。

但新版架構將改變這個做法。

未來會利用 StrongBox 保存 My Number Card 的數位身分資訊,不再完全依賴 FeliCa SE。

StrongBox 可以簡單理解成 Android 世界中,功能概念類似 Apple Secure Enclave 的硬體安全環境,可以用來保護加密金鑰、數位憑證、支付資訊等敏感資料。

同時,新版 Android My Number Card 也將導入 VC(Verifiable Credentials,可驗證憑證),讓手機不只是「把身分證放進去」,而是真正成為數位身分驗證工具。

StrongBox不代表所有Android手機都能使用

不過,這並不代表「手機有 StrongBox,就一定支援 Android 版 My Number Card」。

Android 最大的問題是硬體平台非常分散。

Apple 可以自己控制 iPhone 的 SoC、Secure Enclave、iOS 與安全架構;Android 則可能使用 Qualcomm、MediaTek 或 Google 等不同平台。

例如 Google Pixel 使用 Titan 安全晶片,Qualcomm Snapdragon 則有 SPU(Secure Processing Unit) 等安全處理機制。

因此 StrongBox 透過 HAL(Hardware Abstraction Layer)抽象化底層硬體,讓不同廠商可以用不同的安全硬體實現相同的安全功能。

最終能否使用 My Number Card,仍然要看手機製造商是否完成驗證,以及是否被日本數位廳列入正式支援的白名單。


從「支付」走向「數位身分」

把 Apple Pay、Google Pay 與 Android My Number Card 放在一起看,可以發現手機安全架構正在發生一個很有意思的變化。

Apple 是從 eSE + Secure Enclave 出發,再利用 Dynamic Load / Unload 解決 SE 容量限制。

Android 則是以 HCE + TEE 為主,在日本因為 FeliCa 的需求,再加入 eSE;現在數位身分又開始轉向 StrongBox。

所以未來手機裡的「安全晶片」,不一定只是一顆晶片,而可能是 eSE、TEE、Secure Enclave、StrongBox、專用安全晶片共同組成的一整套安全架構。

手機從以前的「通訊工具」,變成今天的錢包、交通卡,再進一步成為數位身分證。

 

 

 

雲爸

你好,我是雲爸 為了表示親切,叫我爸就可以了~ 專注於各式3C產品的開箱評測,不囉唆不贅字