目錄橢圓曲率加密演算法 (ECC)是一種非對稱加密演算法,相比于RSA 演算法,汽車行業越來越傾向于使用ECC,因為
- 汽車上芯片資源有限;且
- 達到同樣安全等級,ECC的密鑰長度小于RSA,也就是ECC演算法更省資源,
ECC演算法有很多曲線,本文介紹不同曲線的安全性,
- 定義
- 為什么汽車行業越來越傾向于ECC演算法?
- ECC 演算法的安全性及經驗
- Curve 25519
- NIST 曲線
- SM2 曲線
- brainpool 曲線
- 參考
定義
- ECC: Elliptic curve cryptography 橢圓曲線演算法
為什么汽車行業越來越傾向于ECC演算法?
NIST SP 800-57[1] 比較了不同加密演算法的安全等級,見表 1.
根據表1, 要達到256位安全強度(“Security Strength "列),RSA 密鑰長度為15360位,而ECC密鑰只需要512位,遠遠小于 RSA,
當前推薦達到 128 位安全等級,RSA需要 3072 位,ECC 需要256位,
行業目前使用比較多的是 RSA 2048,不使用 RSA 3072 的一個原因就是密鑰太長了,如果要更高安全等級,更傾向于使用 ECC 256,
不同密碼演算法安全性的比較是很復雜的、很難的作業,除了 NIST 給出了密鑰長度的推薦外,還有其他機構,詳細匯總見網站 www.keylength.com
所有機構給出的結論都認為:達到同樣安全等級,ECC的密鑰長度小于RSA,也就是ECC演算法更省資源,
因為汽車上的芯片資源有限,所有將來大家會更傾向于使用 ECC,
表 1. 不同加密演算法安全等級比較

ECC 演算法的安全性及經驗
ECC 曲線匯總、安全性及選取在網站 http://safecurves.cr.yp.to/ 都有詳細的介紹,
我這里只介紹自己的一些經驗,
汽車行業當前主要用到的曲線是:
- Curve 25519
- brainpool
- NIST Curve
- SM2 (國密)
當前國外的芯片硬體主要支持曲線 1-3,比如英飛凌 HSM 培訓材料[2] 中說支持曲線 1-3,
國內的安全芯片一般會支持曲線4,其他曲線就不清楚了,
聽說國外的芯片因為沒有國密局的批準,所以不能支持 SM2 曲線(不確定真偽),
Curve 25519
Curve 25519 是由 Bernstein 在 2006 年發明的[3],就如 [3] 中標題所說,Curve 25519 特點就是快!它比其他兩個曲線運算速度快,但是性能的提升是有代價的,就是它安全性降低了,更容易受到側信道攻擊[4],
當前Curve 25519 的硬體加速一般沒有做防側信道攻擊的保護,如果要防側信道攻擊,需要軟體做一些措施,但軟體措施會:
- 增加演算法的復雜度,引入漏洞;
- 軟體措施會降低演算法性能,可能最終使 Cureve 25519 的性能和另外兩個演算法差別不大;
- 軟體措施的有效性筆比較難驗證,
NIST 曲線
NIST 是美國政府制定的曲線,
NIST 曲線可以抵御側信道攻擊,但是密碼行業對 NIST 曲線有疑慮,懷疑它有不為人知道的后門,
在 safecurves.cr.yp.to (http://safecurves.cr.yp.to/rigid.html) 中,也是把 NIST 曲線標記為 ”manipulatable“,
如果在 bing (最好是 國際版)中搜索”NIST elliptic curve backdoor“,會彈出很多結果,比如:
- should-we-trust-the-nist-recommended-ecc-parameters: https://crypto.stackexchange.com/questions/10263/should-we-trust-the-nist-recommended-ecc-parameters
- Elliptic Curve Cryptography and Government Backdoors: https://services.math.duke.edu/~bray/Courses/89s-MOU/2016/Papers/BAS_Paper3_EllipticCurveCryptography.pdf
- The NSA Back Door to NIST: http://www.ams.org/notices/201402/rnoti-p190.pdf
SM2 曲線
中國因為擔心 NIST 曲線有后門,所有國密局推出了自主可控的演算法 SM2,演算法詳細規范見國密局官網 https://oscca.gov.cn/sca/xxgk/2010-12/17/content_1002386.shtml
SM2 演算法似乎遇到了類似的問題,就是部分引數在 SM2 規范里面沒有給出令人信服的理由為什么這么選取,比如 [5] 中搜索 SM2 就能找到相關內容,
brainpool 曲線
和中國一樣,歐洲也擔心 NIST 曲線有漏洞,所以推出了 brainpool 曲線,
brianpool 曲線的規范:
- ECC Brainpool. "ECC Brainpool standard curves and curve generation." October 2005. http://www.ecc-brainpool.org/download/Domain-parameters.pdf
- RFC. "Elliptic Curve Cryptography (ECC) Brainpool Standard Curves and Curve Generation". 2010/03. https://www.rfc-editor.org/rfc/rfc5639
bianpool 可以抵御側信道攻擊,其引數選擇也合理,目前密碼行業沒有懷疑它有后門,
參考
[1] NIST. SP 800-57 Recommendation for Key Management, Part 1, Rev 5 [EB/OL]. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r5.pdf, 2020/03.
[2] 英飛凌. AURIX Training Hardware Security Module[EB/OL]. https://www.infineon.com/dgdl/Infineon-AURIX_TC3xx_Hardware_Security_Module_Quick-Training-v01_00-EN.pdf?fileId=5546d46274cf54d50174da4ebc3f2265, 2020/09.
[3] Daniel J. Bernstein. 2006. Curve25519: New Diffie-Hellman speed records. In Public Key Cryptography (Lecture Notes in Computer Science), Moti Yung, Yevgeniy Dodis, Aggelos Kiayias, and Tal Malkin (Eds.), Vol. 3958. Springer, 207--228.
[4] May the Fourth Be With You: A Microarchitectural Side Channel Attack on Several Real-World Applications of Curve25519. ACM, 2017.
[5] Bernstein D J , Chou T , Chuengsatiansup C , et al. How to manipulate curve standards: a white paper for the black hat[J]. 2015.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/296073.html
標籤:其他
上一篇:[強網杯 2019]隨便注
