如果你發現 iPhoen Restore 後 Apple Wallet 內竟出現數十張陌生卡片與紀錄。當中包含多名不同名字的會員證、電子登機證,以及載有身份證號碼全名出生日期之 COVID-19 疫苗接種資訊,為甚麼會這樣呢?以下有一個實驗幫助大家更有頭緒。
為了實證 Apple Wallet 應用程式內的票證(指電子登機證、疫苗證等資料),在甚麼情況下會留給下一手,我們進行了 2 個實驗。就實驗結果,我們會再講解 Apple Wallet 運作的原理,以向大家解釋
1. 排除大家覺得 Apple ID = link up ALL Wallet Pass 的前設,只要 Local 有 Cache 就視為該 ID 的。
2. 通過實驗,若遇到同樣情況,先思考是用登入過一些 public share device / id 所導致(例如公司機),而非真的洩漏了個人帳戶
3. 實驗得知,信用咭/八達通等 Restore 前有 Apple ID 驗證,不會輕易洩漏。
4 .並非去否定問題不在於 Apple 只是在思考成因前,多一個途徑驗證。
(人話:出左事先諗下係咪以下問題,唔好驚自己資料已經洩漏先,至少信用咭同八達通唔會去左人地 wallet ,如果肯定唔關事,即找 apple 調查)
Step 1)iPhone A 內含很多帳戶 A 的票證,例如八達通、火車票、飛機票、會員證等
Step 2)我將 iPhone A 登出Apple ID(帳戶A) 並以一個全新 Apple ID 登入(帳戶B)
▲實驗 1:同一部 iPhone 登出帳戶A,再登入帳戶B
Step 3)在登入時選擇將之前Apple ID 的資料刪除(但不是重設主機)
Step 4)登入新 Apple ID(帳戶B)後,打開Apple Wallet,發現之前 Apple ID(帳戶A)的票證還在手機中,但帳戶 A 的八達通已經消失
結論1:Apple Wallet 的八達通、信用卡是跟 Apple ID,一旦登出,便會被刪除。但票證(如機票、火車票、會員證)則不在此限,在登出後仍然留在機上,即使再用新 Apple ID 登入,都可繼續閱覽到舊用家的資料。
在實驗1中,我們用新 Apple ID(帳戶B)登入手機,結果發現上一手的票證。現在我們想知道,舊用戶所遺下的票證,是否會經由 iCloud Backup 儲存到新 Apple ID。
Step 1)在實驗1中以新 Apple ID(帳戶B)登入的 iPhone A,執行 iCloud Backup 備份資料;
Step 2)找來一部新手機我們叫 iPhone B,重設手機清除所有內容;
Step 3)重設手機後,以新 Apple ID(帳戶 B)來登入,並選擇不從舊手機轉移資料
Step 4)設定好新手機後,打開「銀包」App,我們發現,即使新機 iPhone B 是用帳戶 B 來登入,之前出現在 iPhone A 的票證, 都會出現在 iPhone B 的 Apple Wallet。
▲一旦帳戶 B 登入了帳戶 A 的 iPhone(左),本來帳戶 A 擁有的票證就會融入到帳戶 B 的 iCloud。即使帳戶 B 買了新 iPhone(右),這些資料都會伴隨加入到新機
結論2:不論票證是否屬於「帳戶B」,萬一他登入過舊 iPhone(iPhone A),舊機內的票證都會轉移到「帳戶 B」。即使帳戶 B 登入到一部已重設的新 iPhone,原本屬於舊用戶(帳戶A)的票證(但不包括八達通)都會隨著帳戶 B 的 iCloud Backup 轉移到屬於帳戶 B 的新機 iPhone B。
也就是說帳戶 B 登入 iPhone A 後,iCloud Backup 會吸收手機所有資料。
經過上述 2 個實驗,每個 Apple ID 所擁有的相、信用咭、Health Data、電話簿等個人資料,都會自動備份到 iCloud,而這些資料也隨著登出而自動刪除。
但是,Apple Wallet 票證例如信用咭、疫苗咭、機票、火車票,甚至 Apple Store 預約證這類票證就不是了。它們都不在上述重要資料之列,也說是說,雖然票證會隨你的 iCloud Backup,但不會跟隨你登出手機後,自動刪除,也就是說這些票證會直接留給下一手使用者。
就等如航空公司可以將你的機票加入 Apple Wallet,但即使你登出或刪除了航空公司 App,機票仍然會留在你的 Apple Wallet。
其實這個機制有好處,也有不好的地方。不好的地方就是如今次事件的女生一樣,萬一不是完全清機(重設手機,並清除所有資料),只是登出帳戶,你的票證有機會留給下一手用家。而好處是,Apple Wallet 與你的手機 App 沒有直接關聯,即使你忘了航空公司 App 的登入密碼,你加到 Apple Wallet 的機票還是可以用。
很多朋友都試過到先達放機,但很多時都是選擇登出 Apple ID,取消「尋找」功能連結便算。這可能是十分危險的做法。正如 Apple 官方介紹,如果你需要轉讓 iPhone,應該先用 iCloud Backup 備份好你的手機,再進入 iPhone 的重設設定,選擇清除手機內的所有內容。你的票證才不會出現於他人的手機。
用家對於這次結論也毋須太過擔心,因為正如實驗 1 的結果,最重要的信用卡、八達通會跟隨你的 Apple ID 加入、刪除,只要你登出 Apple ID,這些資料就會隨之消失。
而最重要的,反而是避免在其他人的手機上登入自己的 Apple ID。像我們 unwire 公司內部的測試機,被多位同事登入,大家都將自己的票證都混在一起了。所以 unwire 同事們私人擁有的 iPhone 內,都會出現其他同事的票證。
建議非必要就不要用自己的主要 Apple ID 帳戶登入他人手機。如有必要,可考慮使用副帳戶登入。我們也建議,將不要的票證刪除,而不是將之隱藏(或 iPhone 自動隱藏),應手動去清除這些不要的舊票證。
PassKit Cache 綁定 Apple ID 和裝置,但不驗證單個 Pass 的「擁有者身份」,允許發行商推送或快取殘留無阻擋。Apple 強調 iCloud 端到端加密和帳號綁定,但 PassKit 依賴發行商(航空公司等)推送,iCloud 假設「信任來源」,無 per-Pass 擁有權檢查。這便利跨裝置同步,但放大伺服器錯誤或快取殘留風險。
後記:
此文章源於一件社交媒體上的事件,原意我們想做實驗證明萬一大家遇到相同情況, 知道可以從甚麼方向去思考,核心部份在於文中的實驗並非抄襲。由於第一版時在引言部份及 Facebook Photo 使用了未得到授權相片,以及未有附上來源連結,這是我們的過失。收到投訴後,我們在事主的 thread 及 fb 上一一對受影響的人作出回應及致歉,並補回 3 個連結、刪除有未經授權的相片,但發現未能把問題解決,現在文章進一步移除有關事主所有描述。在此再一次向受影響的人致歉,如果想了解所有事情 , 連結可以在 fb 中找回。