1. 程式人生 > >關於RSA中間人攻擊

關於RSA中間人攻擊

一 點睛

中間人攻擊的方法不能破譯RSA,但卻是一種針對機密性的有效攻擊。

所謂中間人攻擊,就是主動攻擊者混入傳送者和接收者中間,對傳送者偽裝成接收者,對接收者偽裝成傳送者的攻擊方式。

二 攻擊過程

場景:傳送者Alice準備向接收者Bob傳送一封郵件,為了解決金鑰配送問題,它們使用了公鑰密碼。攻擊者位於通訊路徑中,我們假設他能夠任意竊聽或篡改郵件的內容,也可以攔截郵件使得對方無法接收到。

通訊過程如下:

1 Alice向Bob傳送郵件索取公鑰。

“To Bob:請把你的公鑰發給我。From Alice”

2 Mallory通過竊聽發現Alice在向Bob索取公鑰。

3 Bob看到Alice的郵件,並將自己的公鑰傳送給Alice。

“To Alice:這是我的公鑰。From Bob”

4 Mallory攔截Bob的郵件,使其無法傳送給Alice。然後,他悄悄地將Bob的公鑰儲存起來,它稍後會用到Bob的公鑰。

5 Mallory偽裝成Bob,將自己的公鑰傳送給Alice。

“to Alice:這是我的公鑰。From Bob”(其實是Mallory)

6 Alice將自己的訊息用Bob的公鑰(其實是Mallory的公鑰)進行加密。

“to Bob:我愛你。From Alice”

但是,Alice所持有的並非Bob的公鑰而是Mallory的公鑰,因此Alice是用Mallory的公鑰對郵件進行加密的。

7 Alice將加密後的訊息傳送給Bob。

8 Mallory攔截Alice的加密郵件。這封加密郵件是用Mallory的公鑰進行加密的,因此Mallory能夠對其進行解密,於是Mallory就看到Alice發給Bob的情書。

9 Mallory偽裝成Alice寫一封假的郵件。

“To Bob:我討厭你,From Alice”(其實是Mallory)

然後他用第4步儲存下來的Bob的公鑰對這封假的郵件進行加密,併發送給Bob。

10 Bob用自己的私鑰對收到的郵件進行解密,然後他看到訊息的內容是:

“To Bob:我討厭你,From Alice”

他傷心極了。

上述過程可以反覆多次,Bob向Alice傳送加密郵件時也可能受到同樣的攻擊,因此Bob即便要發郵件給Alice以詢問她真實的想法,也會被Mallory隨意篡改。

三 Mallory進行中間人攻擊圖例

四 補充

中間人攻擊不僅針對RSA,而是可以針對任意公鑰密碼。在這個過程中,公鑰密碼並沒有被破譯,所有的密碼演算法也都是正常工作並確保了機密性。然而,所謂的機密性並非在Alice和Bob之間,而是在Alice和Mallory之間,以及Mallory和Bob之間成立的。僅靠公鑰密碼本身,是無法防禦中間人攻擊的。