Padding-Oracle
填充預言機是否有加密密鑰?我在現實生活中哪裡能看到這樣的神諭?
所以經過一番搜尋,我有點知道一點一點改變的攻擊過程。但我仍然很困惑這是怎麼可能的。如果我理解正確,攻擊者永遠不會擁有密鑰,或者嘗試迭代密鑰。所以既然預言機可以檢查填充,我猜它自己有加密密鑰?
我可以看到什麼是現實生活中的 oracle 範例?我知道現在應該很好地修補它,但是在修補之前受到什麼影響?我讀到某些類型的 Web 伺服器受到的影響最大,但是伺服器的哪個部分有這種預言機?
在實踐中有很多真正的 padding-oracle 攻擊的例子。SSL/TLS 可以說是最著名的例子。但是,它們無處不在。在 Rizzo 和 Duong 的Practical Padding Oracle Attacks的一篇論文中,他們發現了許多有趣的例子。但是,他們真的到處都是。
在密碼學中,Oracle 在給定協議中建模可以回答某些精確問題的一方。它之所以被稱為神諭,是因為作為神話中的神諭,我們不知道他們是如何得到答案的。該位在經過驗證的安全性中非常重要,因為它允許對通用攻擊者進行建模並針對許多可能的攻擊者證明協議的正確性。
在現實生活中,Oracle 通常由知道密鑰(或任何其他秘密數據)並可以計算挑戰密文的某些功能的伺服器提供。Oracle 傳達答案的方式可能會有所不同:直接消息、錯誤消息、崩潰……
典型的學校案例是 TLS 伺服器,它知道密鑰並根據填充、完整性等給出不同的錯誤消息……另一個例子可能是許可證檢查常式:如果文件格式錯誤或簽名錯誤,則會出現不同的錯誤消息或者……一個(不太可能)的例子可能是你的朋友告訴你“喲,你發給我的 PGP 加密郵件,給了我一個錯誤填充,你能再發一次嗎?”