text: 在加密學中，密文填塞攻擊是指使用密文的填充驗證資訊來進行解密的攻擊方法。密碼學中，可變長度的明文資訊通常需要經填充後才能相容基礎的。此攻擊方式依賴對密文是否被正確填充的反饋資訊。密文填塞攻擊常常與分組密碼內的密碼塊連結解密模式有關。非對稱加密演算法，如最優非對稱加密填充演算法，也可能易受到密文填充攻擊。對稱加密.在對稱加密中，填充可應用在分組密碼工作模式上，其反饋的“神諭”資訊。對密碼塊連結進行密文填充攻擊.對密碼塊連結進行解密需要先解密所有密文組，再驗證填充，隨後移除PKCS7填充，最後再返回解密後的明文資訊。若伺服器返回“填充無效”資訊而非“解密失敗”錯誤，則攻擊者可利用伺服器本身進行密文填塞來解密資訊。進行密碼塊連結解密的數學公式為formula_1formula_2如上文所述，進行密碼塊連結解密時會將每個明文塊與先前的密文塊進行異或比較。因此，若塊formula_3更改了一個位元組，則塊formula_4中的對應位元組也會被修改。假設攻擊者擁有密文塊formula_5，且欲解密第二個密文塊來獲得明文formula_4。攻擊者可以更改formula_3的最後一個位元組，併發送formula_9至伺服器。伺服器隨後將返回最後一個解密塊。若填充正確，攻擊者則能確定formula_11的最後一個位元組是formula_12，即formula_13。若填充不正確，攻擊者則可以將formula_8的最後一個位元組更改為下一個可能的值。在最不理想的情況下，攻擊者需要進行256次嘗試來尋找formula_4的最後一個位元組。若解密的明文塊內包含填充資訊或用於填充的位元組，攻擊者則還需要進行額外的嘗試來排除不同的可能性。在確定formula_4的最後一個位元組後，攻擊者可以使用相同的手段來獲取formula_4的倒數第二個位元組。攻擊者可將formula_3的最後一個位元組設定為formula_19，進而可將formula_4的相應位元組設定為formula_21。利用上述的相同方式，攻擊者可繼續更改倒數第二個位元組，直到填充正確為止。若一個密文塊包含了128位元，攻擊者可在255x16=4080次嘗試中獲取到明文的formula_4資訊。這比使用暴力破解所需的formula_23次嘗試要快得多。使用密文填塞進行攻擊.使用密文填塞的攻擊方法起初由於2002年釋出。攻擊者隨後利用此方法投入實際，用於應對SSL 和IPSec。除此之外，此攻擊方法也用於多個網頁框架上，如JavaServer Faces、Ruby on Rails、ASP.NET和Steam遊戲客戶端。2012年，此方法被證明為應對加固安全裝置的有效方式。雖然早期的攻擊方法均已被大多數TLS實現修復，但在2013年，網路上出現了名為幸運十三攻擊的新變種，它使用側通道來重新利用軟體中的缺陷。截止2014年上半年，儘管幸運十三攻擊理論上對特定機器依然有效與對老版本不安全協議的密文填充攻擊相結合，進而破解傳輸中的資料。2016年5月，研究人員發現OpenSSL在修復幸運十三時引入了另一個填充神諭，此缺陷被標記為CVE-2016-2107。
metadata: erhwenkuo/wikipedia-zhtw
metadata: 密文填塞攻擊
metadata: https://zh.wikipedia.org/wiki?curid=6647346