你是否想過?為什麼行動支付的 QR Code 要每幾秒就更新一次?
帶你了解:
🔸 為什麼行動支付的 QR Code 要定時更新?
🔸 QR Code 背後藏了什麼資訊?
🔸 如果不更新,會有什麼資安風險?
在日常使用行動支付(例如 iPASS MONEY、LINE Pay、街口支付等)時,你可能注意到一個細節:付款用的 QR Code 會定時重新產生,每隔 30 秒~60 秒就換一個新的圖樣,這不是故障,也不是系統忙碌,而是非常重要的資安設計。
一、動態 QR Code 是資安機制的一環
行動支付的 QR Code 通常是「動態產生」的,也就是所謂的一次性 QR Code。
不像靜態的 QR Code(例如店家門口的付款碼、網址連結),動態 QR Code 是基於即時資料產生、每隔一段時間就會重新生成一次。
主要目的就是為了:
-
避免截圖或錄影後被他人惡意重複使用(Replay Attack)
-
降低資料外洩風險
-
與後端交易系統進行即時驗證(通常含有 Token + 時間戳記)
二、QR Code 裡面藏了什麼?
這些動態 QR Code 通常不單只是付款帳號,而是包含:
-
使用者的付款識別碼(User ID)
-
本次交易的唯一驗證碼(如 Token)
-
驗證有效期限(Timestamp 或 TTL)
-
可能還有裝置識別資訊(Device ID)
這些資訊加密後生成 QR Code,並且後端會對照時間與資料是否有效。
三、如果 QR Code 不更新,會發生什麼事?
想像你在 7-11 排隊結帳前,提前 5 分鐘打開付款 QR Code,結果有人趁你不注意時截圖、複製、甚至印出來再刷一次──
如果沒有時間限制,這張 QR Code 就成了可以被「重複消費」的風險源頭。
動態更新就是為了讓每張碼只能用一次、只在短時間內有效,防止:
-
截圖重複使用
-
交易金額被盜刷
-
資料外洩被濫用
四、這樣的設計也運用在其他安全驗證中
除了行動支付外,類似「時間敏感的驗證碼」也常見於:
-
TOTP 驗證(像 Google Authenticator、Microsoft Authenticator)
-
金融交易 OTP 驗證碼
-
登入 QR Code(例如 LINE 登入時產生的 QR)
這些設計都是為了同一個核心目的:即時產生、即時失效,提高安全性。
結語:支付安全,不只是圖個方便
QR Code 行動支付的便利背後,其實藏著許多看不見的資訊保護機制。
下次你看到那張 QR Code 正在跳動時,不妨想想看——它是你資安防線的一部分。