對稱與非對稱加密

一、 對稱加密(Symmetric Encryption):

  • 雙方通訊是由同一把鑰匙加密。
  • 缺點:通訊不安全。
  • A與B通訊使用同一把鑰匙加密,若A與C通訊則必須使用另一把鑰匙加密。
  • 任何一方把金鑰洩露出去,則破壞安全機制。

二、 非對稱加密(Asymmetric Encryption):

  • 使用一對金鑰來進行加密。
  • 每一方都有一對金鑰,公鑰(public key)和私鑰(private key)。
  • 公鑰可以公開出去,私鑰則是自己保存。
  • A若要與B傳訊,A必須使用B的公鑰進行加密,再將訊息傳給B。
  • B可以透過自己的私鑰來解密。
  • 訊息雖然是由公鑰加密的,但卻無法用公鑰解密,這就是非對稱加密。
  • 使用RSA演算法。

三、 Hash Function

  • 如:MD5
  • 伺服器預先提供一個MD5的checksum,使用者下載完檔案以後,
    用MD5演算法計算下載檔案的checksum,然後通過檢查這兩個checksum是否一致,
    就能判斷下載的檔案是否出錯。
  • 2004年,證實MD5演算法無法防止碰撞,因此無法適用於安全性認證。
  • 演散法的設計要考慮到效率
  • 不同的輸入會得到不同的訊息摘要(Message Digest)
  • 無法從訊息摘要倒推回輸入內容

SSH2與Telnet的運作方式與差別、SSL協定

一、 SSH2

  • 建立在應用層與傳輸層上的安全協定
  • 傳統FTP, Telnet都是明文傳輸,很容易受到「中間人」的攻擊,或是假冒伺服器端來接收資料。
  • SSH可對傳輸資料進行加密,亦可壓縮資料來加快速度。

SSH兩種級別驗證:

  1. 密碼的安全驗證: 知道帳密後可登入主機,傳輸的資料都會被加密,
    但無法避免被中間人攻擊,因為有可能會假冒伺服器端。

  2. 金鑰的安全驗證: 客戶端產生金鑰,把公鑰放在存取的伺服器端上。當伺服器收到客戶端請求金鑰安全驗證時,
    就比對使用者目錄加的公鑰與客戶端傳送過來的公鑰是否相同,
    若相同則用公鑰加密「質詢」,並把它傳送給客戶端。

二、 Telnet

  • 傳輸資料未加密,帳號和密碼容易會被竊聽,很多伺服器都會封鎖Telnet服務,改用更安全的SSH。

三、 SSL與TLS

SSL(Secure Socket Layer)和TLS(Transport Layer Security)在傳輸資料時進行加密,
以保護在網路上傳輸的資料

流程:

  1. Client端傳送ClientHello訊息給Server端
  2. 伺服器選擇要進行的SSL選項,並傳送ServerHello訊息給Client端
  3. Server端用ServerKeyExchange訊息來傳送公開金鑰給Client端
  4. Server端傳送ServerHelloDone訊息結束
  5. Client端利用Server的公鑰來加密交談金鑰(Session Key),並透過ClientKeyExchange訊息來傳送給Server端
  6. Client端傳送ChangeCipherSpec訊息來啟動已達成協議的選項。
  7. Client端傳送Finished訊息,告知Server端可以檢查最新啟動的選項。
  8. Server端傳送ChangeCipherSpec訊息來啟動已達成協議的選項。
  9. Server端傳送Finished訊息,告知Client端可以檢查最新啟動的選項。

results matching ""

    No results matching ""