Hash
PAN 可認證的不可逆標記化算法
我需要實現算法來從 PAN 創建可驗證的不可逆令牌,而不使用任何秘密。
可能嗎?協會有什麼標準嗎?
我在考慮 HMAC,但它需要將秘密對稱密鑰分發給所有相關方。如何在不分發加密密鑰的情況下做到這一點?它還應該防止創建一個預言機。
主帳號(例如可以是信用卡號)通常是 16 位十進制數字,前 6 位(發行人辨識號)通常是可以猜到的,最後一個校驗位是其餘的公共功能。這留下了 9 個十進制數字(大約 30 位)的 PAN 熵,在(無根據的)假設下,這 9 個數字是隨機分配的。
因此,如果已知 IIN 的一百萬個標記化 PAN,則平均只需要執行一千次確定性標記化算法即可對 PAN 進行去標記化。
因此確定性標記化必須使用密鑰。此外,必須使其無法被對手使用,至少不能被對手使用。我看不出替代方案(如使用Argon2或其他熵拉伸、隨機化或公鑰)如何在使標記化有用的同時令人滿意地解決問題。但是後來這個問題沒有指定功能要求,所以我只能猜測。
如果 PAN 空間足夠大,那麼您可以使用 SHA3-256(Keccak 系列)並使用所需的輸出位數。我想在這種情況下,您可能必須維護一個 Card-Data 保險庫來進行查找。