如何把SUPI加密為SUCI


如何把SUPI加密為SUCI

下圖1所示中我們可以看到兩對秘鑰對,一對是終端側Eph.key pair generation,產生Eph. public key和Eph. private key。另外一對來自運營商網絡, 終端側有Public key of HN(固定存放在USIM中)。這兩對秘鑰均采用橢圓曲線加密算法ECC生成。私鑰可以衍生出唯一的公鑰,但是從公鑰不能反推出私鑰。

終端生成的私鑰與網絡提供的公鑰結合,派生出一對加密秘鑰Eph.shared key(用來加密的原始秘鑰),隨后派生出加密的主密鑰,取高有效位對SUPI進行對稱加密,得到SUCI,即Ciphertext;低有效位對所有的有用信息,包含終端參數,進行一個完整性保護。所以最后終端發出的消息包括:終端生成的公鑰、SUCI和終端參數等系列信息。

下圖2為網絡側對終端身份進行SUCI驗證的方案。網絡側采用私鑰(Private key of HN)與終端所發送的公鑰(Eph.public key of UE)組合成秘鑰Eph.shared key,隨后派生出主密鑰master key。不同於終端加密流程的是,網絡側會先通過秘鑰的低有效位校驗消息的完整性與否(步驟5),若消息經過中間人篡改,則該步驟的驗證無法通過。若驗證通過,才會進一步將信令轉發至UDM中執行SIDF的過程,解密得到SUPI(Plain-text)。

該方案可以順利通過驗證並解密得到SUPI的關鍵也是利用橢圓加密算法的特性:終端私鑰·網絡公鑰=網絡私鑰·終端公鑰(注:密鑰之間的乘法是橢圓曲線上的標量乘法,所以終端與網絡側均采用同一條曲線,即橢圓曲線的參數一致Curve25519 [2]或secp256r1 [3])。







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM