• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

Các chế độ hoạt động của IPSec

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Các chế độ hoạt động của IPSec

    Sinh viên thực hiện : ĐOÀN MINH CHÂU

    1.2. Các chế độ hoạt động của IPSec:

    1.Transport Mode (chế độ vận chuyển)

    - Transport mode cung cấp cơ chế bảo vệ cho dữ liệu của các lớp cao hơn (TCP, UDP hoặc ICMP). Trong Transport mode, phần IPSec header được chèn vào giữa phần IP header và phần header của giao thức tầng trên, như hình mô tả bên dưới, AH và ESP sẽ được đặt sau IP header nguyên thủy. Vì vậy chỉ có tải (IP payload) là được mã hóa và IP header ban đầu là được giữ nguyên vẹn. Transport mode có thể được dùng khi cả hai host hỗ trợ IPSec. Chế độ transport này có thuận lợi là chỉ thêm vào vài bytes cho mỗi packets và nó cũng cho phép các thiết bị trên mạng thấy được địa chỉ đích cuối cùng của gói. Khả năng này cho phép các tác vụ xử lý đặc biệt trên các mạng trung gian dựa trên các thông tin trong IP header. Tuy nhiên các thông tin Layer 4 sẽ bị mã hóa, làm giới hạn khả năng kiểm tra của gói.

    Hình 1.3 – Cấu trúc gói tin IPSec ở chế độ Transport Mode



    - Transport mode thiếu mất quá trình xử lý phần đầu, do đó nó nhanh hơn. Tuy nhiên, nó không hiệu quả trong trường hợp ESP có khả năng không xác nhận mà cũng không mã hóa phần đầu IP.
    - Transport Mode thường dùng cho các kết nối từ đầu cuối đến đầu cuối, ví dụ từ trạm làm việc đến máy chủ hoặc giữa hai trạm làm việc với nhau.

    2.Tunnel Mode (Chế độ đường hầm):
    - Không giống Transport mode, Tunnel mode bảo vệ toàn bộ gói dữ liệu. Toàn bộ gói dữ liệu IP được đóng gói trong một gói dữ liệu IP khác và một IPSec header được chèn vào giữa phần đầu nguyên bản và phần đầu mới của IP.Toàn bộ gói IP ban đầu sẽ bị đóng gói bởi AH hoặc ESP và một IP header mới sẽ được bao bọc xung quanh gói dữ liệu. Toàn bộ các gói IP sẽ được mã hóa và trở thành dữ liệu mới của gói IP mới. Chế độ này cho phép những thiết bị mạng, chẳng hạn như router, hoạt động như một IPSec proxy thực hiện chức năng mã hóa thay cho host. Router nguồn sẽ mã hóa các packets và chuyển chúng dọc theo tunnel. Router đích sẽ giải mã gói IP ban đầu và chuyển nó về hệ thống cuối. Vì vậy header mới sẽ có địa chỉ nguồn chính là gateway.
    - Với tunnel hoạt động giữa hai security gateway, địa chỉ nguồn và đích có thể được mã hóa. Tunnel mode được dùng khi một trong hai đầu của kết nối IPSec là security gateway và địa chỉ đích thật sự phía sau các gateway không có hỗ trợ IPSec


    Hình 1.4 – Cấu trúc gói tin IPSec ở chế độ Tunnel
    - Tunnel Mode thường được dùng trong các SA (Security Association -liên kết bảo mật) nối giữa hai gateway của hai mạng.
    1.3. Các giao thức chính của IPSec:

    1.3.1 Giao thức xác thực AH:

    AH là một trong hai giao thức đóng gói dùng trong IPSec. Mục tiêu chính của AH là đảm bảo tính toàn vẹn của dữ liệu chuyển đi trên mạng IP. AH cho phép xác thực người dùng, xác thực ứng dụng và thực hiện các cơ chế lọc gói tương ứng. Ngoài ra AH còn có khả năng hạn chế các tấn công giả danh (spoofing) và tấn công phát lại (replay).
    1.3.1.a. Cấu trúc gói:
    Cấu trúc tiêu đề gói AH:

    Hình 1.5 – Cấu trúc gói AH



    - Next Header (8 bit): Nhận dạng kiểu tiêu đề đi liền sau tiêu đề của AH, dùng các số nhận dạng IP theo quy định của IANA (Internet Assigned Number Authority).
    - Payload length (8 bit): Chiều dài của gói AH, tính bằng đơn vị 32 bit trừ đi 2. Ví dụ, chiều dài phần dữ liệu xác thực là 96 bit (= 3*32 bit), cộng với chiều dài phần tiêu đề AH (cố định) là 3*32 bit nữa thành 6*32 bit, khi đó giá trị của trường kích thước dữ liệu là 4.
    - Reserved (16 bit): Phần dành riêng, chưa dùng.
    - Security Parameters Index (32 bit): Một chuỗi bit được gán cho SA có tác dụng phân biệt SA này với SA khác. Phía nhận sẽ chọn đúng SA tương ứng để xử lý các gói dữ liệu nhận được.
    - Sequence Number (32 bit): Số thứ tự gói.
    - Authentication Data: Mã xác thực, có chiều dài thay đổi nhưng không phải bội số của 32 bit. Trường này có giá trị kiểm tra ICV (Integrity Check Value) hoặc MAC (Message Authentication Code) cho toàn bộ gói.

    1.3.1.b. Cơ chế chống phát lại:
    Cơ chế này cho phép ngăn chặn các tấn công dạng phát lại (replay), tức là bắt gói, lưu trữ rồi phát lại. Trường số thứ tự (Sequence Number) trong tiêu đề AH được dùng để đánh dấu thứ tự các gói được gửi đi trên một SA. Ban đầu , giá trị này được khởi tạo bằng 0 và tăng dần sau mỗi gói được gởi. Để đảm bảo không có gói lặp lại , khi số thứ tự đạt giá trị cực đại (­232 -1), nó sẽ không được quay lại giá trị 0, mà thay vào đó, một SA với khoá mới được thiết lập để tiếp tục việc truyền dữ liệu. Điều này đảm bảo trên cùng một SA không bao giờ có hai gói dữ liệu có số thứ tự trùng nhau.
    Ở phía nhận, quá trình xử lý các gói nhận được thực hiện phức tạp hơn nhằm phát hiện các gói lặp nhau. Do IP không thiết lập kết nối và không đảm bảo truyền tin cậy, do đó việc sai thứ tự, lặp, hoặc mất gói là điều có thể xảy ra. Việc phát hiện các sự cố này thực hiện theo cơ chế dịch cửa sổ như hình dưới. Cửa sổ là một bộ nhớ đệm được thiết kế theo cơ chế hàng đợi , có kích thước là W (mặc định W=64). Số thứ tự gói trong hàng đợi được xếp tăng dần từ trái qua phải, như vậy, cạnh phải của cửa sổ là gói có số thứ tự là N thì cạnh trái của cửa sổ sẽ là gói có số thứ tự N-W. Mỗi khi nhận được một gói dữ liệu đúng ( kiểm tra bằng mã xác thực) và số thứ tự gói nằm trong khoảng từ N-W+1 đến N, vị trí tương ứng với số thứ tự trong cửa sổ được đánh dấu. Cơ chế thực hiện như sau:

    Hình 1.6 - Cơ chế dịch cửa sổ trong AH



    - Nếu gói nhận được nằm trong vùng hợp lệ của cửa sổ( có số thứ tự từ N-W+1 đến N) và là một gói mới thì giá trị MAC của gói đó sẽ được kiểm tra. Nếu chính xác (tức gói đã được xác thực) thì khe tương ứng trong cửa sổ được đánh dấu.
    - Nếu gói nhận được nằm bên phải của cửa sổ (có số thứ tự lớn hơn N) và là gói mới, giá trị MAC của gói được kiểm tra. Nếu đúng thì cửa sổ dịch được dịch một khe sang bên phải, đồng thời khe tương ứng trong cửa sổ được đánh dấu.
    - Nếu gói nhận được nằm bên trái cửa sổ hoặc giá trị MAC không hợp lệ thì bị huỷ bỏ, đồng thời hệ thống tạo ra cảnh báo tương ứng với sự kiện này.
    1.3.1.c. Xác thực thông tin:
    Mã xác thực (trường Authentication Data) được tạo ra dùng một trong hai cách sau:
    - HMAC-MD5-96: dùng phương pháp HMAC, hàm băm là MD5, cắt lấy 96 bit đầu tiên.
    - HMAC-SHA-1-96: dùng phương pháp HMAC, hàm băm là SHA-1,cắt lấy 96 bit đầu tiên.
    Thuật toán MAC được áp dụng trên các phần thông tin sau đây:
    - Các trường không bị thay đổi trong tiêu đề gói IP khi được chuyển tiếp trên mạng hoặc có thể dự đoán được tại đầu cuối của SA. Những trường còn lại trong tiêu đề gói IP được thay bằng các bit 0 khi tính toán.
    - Các trường trong tiêu đề AH, ngoại trừ trường Authentication Data.Trường này được thay bằng các bit 0 khi tính.
    - Toàn bộ gói dữ liệu của lớp trên (tức phần payload của gói IP).
    Cơ chế tạo mã xác thực MAC được thực hiện như sau:
    HMAC = H[(K opad) | | H[(K ipad) | | M]]
    Trong đó:
    - ipad = 00110110(0x36) lặp lại 64 lần để tạo thành 512 bit.
    - opad = 01011100(0x5c) lặp lại 64 lần để tạo thành 512 bit.
    K là khoá đã thống nhất giữa hai bên khi thiết lập SA và M là toàn bộ các phần thông tin cần xác thực như đã mô tả ở trên.
    Lâm Văn Tú
    Email :
    cntt08520610@gmail.com
    Viet Professionals Co. Ltd. (VnPro)
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel: (08) 35124257 (5 lines)
    Fax (08) 35124314
    Tập tành bước đi....



  • #2
    1.3.1.d. Chế độ hoạt động:
    - Xác thực từ đầu cuối đến đầu cuối (End-to-End Authentication): là trường hợp xác thực trực tiếp giữa hai hệ thống đầu cuối (giữa máy chủ với trạm làm việc hoặc giữa hai trạm làm việc), việc xác thực này có thể diễn ra trên cùng mạng nội bộ hoặc giữa hai mạng khác nhau, chỉ cần hai đầu cuối biết được khoá bí mật của nhau. Trường hợp này sử dụng chế độ vận chuyển (Transport Mode) của AH.
    - Xác thực từ đầu cuối đến trung gian (End-to-Intermediate Authentication): là trường hợp xác thực giữa hệ thống đầu cuối với một thiết bị trung gian (router hoặc firewall). Trường hợp này sử dụng chế độ đường hầm (Tunnel Mode) của AH.

    Hình 1.7 - Hai chế độ xác thực của AH


    Hình 1.8 - Phạm vi áp dụng của AH lên gói dữ liệu ở hai chế độ Transport và Tunnel

    3.1.2 Giao thức đóng gói ESP:
    ESP (Encapsulating Security Payload) là một lựa chọn khác để thực thi IPSec bên cạnh giao thức xác thực thông tin AH. Chức năng chính của ESP là cung cấp tính bảo mật cho dữ liệu truyền trên mạng IP bằng các kỹ thuật mật mã. Tuy nhiên ESP cũng còn một tuỳ chọn khác là cung cấp cả dịch vụ bảo đảm tính toàn vẹn của dữ liệu thông qua cơ chế xác thực. Như vậy khi sử dụng ESP, người dùng có thể chọn hoặc không chọn chức năng xác thực, còn chức năng mã hoá là chức năng mặc định của ESP.

    1.3.2.a. Cấu trúc gói:Gói dữ liệu ESP gồm các thành phần:

    Hình 1.9 – Cấu trúc gói ESP

    • Security Parameters Index (SPI-32 bit): Nhận dạng SA như trong giao thức AH
    • Sequence Number (32 bit): Số thứ tự gói, có chức năng như số thứ tự trong AH
    • Payload Data: Đây là phần dữ liệu được bảo vệ bằng mật mã. Trường này có độ dài thay đổi. Trong chế độ vận chuyển, đây là toàn bộ gói dữ liệu của lớp 4( TCP hoặc UDP). Còn trong chế độ đường hầm, đây là toàn bộ gói IP. ESP chuẩn sử dụng thuật toán mật mã đối xứng DES, tuy nhiên, có thể dùng các thuật toán mật mã khác như 3DES( 3 khoá) ,RC5, IDEA, Tripple IDEA (3 khoá), CAST, Blowfish.
    • Padding (0-255 bytes): dữ liệu chèn. Một số thuật toán mật mã yêu cầu kích thước dữ liệu gốc phải cố định. Các bytes dữ liệu giả được thêm vào để đảm bảo độ dài vùng dữ liệu. Tuy nhiên theo quy định của ESP, chiều dài trường pad-length và trường next-header phải cố định là 32 bit tính từ bên phải, do vậy, phần padding phải có kích thước sao cho toàn bộ phần thông tin cần mã hoá là bội số 32 bit.
    • Pad Length (8 bit): Cho biết số byte của vùng dữ liệu chèn (padding).
    • Next Header (8 bit): Nhận dạng kiểu dữ liệu chứa trong phần payload data bằng cách chứa số nhận dạng IP của giao thức được đóng gói bên trong ESP.
    • Authenication Data : Chứa thông tin xác thực, có chiều dài thay đổi nhưng phải là bội số của 32 bit.Thông tin xác thực được tính trên toàn gói ESP ngoại trừ phần Authentication Data.

    1.3.2.b. Quá trình mã hoá:
    ESP sử dụng mật mã đối xứng để cung cấp sự mật hoá dữ liệu cho các gói tin IPSec. Cho nên, để kết nối của cả hai đầu cuối đều được bảo vệ bởi mã hoá ESP thì hai bên phải sử dụng key giống nhau mới mã hoá và giải mã được gói tin .
    Khi một đầu cuối mã hoá dữ liệu, nó sẽ chia dữ liệu thành các block nhỏ, và sau đó thực hiện thao tác mã hoá nhiều lần sử dụng các block dữ liệu và key. Thuật toán mã hoá hoạt động trong chiều này được xem như blocks cipher algorithms.
    Khi một đầu cuối khác nhận được dữ liệu mã hoá, nó thực hiện giải mã sử dụng key giống nhau và quá trình thực hiện tương tự, nhưng trong bước này ngược với thao tác mã hoá.
    Ví dụ : ESP sử dụng thuật toán mã hoá là AES-Cipher Block Chaining (AES-CBC), AES Counter Mode (AES-CTR), và Triple DES ( 3DES). Khi so sánh với gói tin AH , gói tin ESP có dạng giống với gói tin AH. chuỗi mẫu tự có thể xác định được trong AH-protected Payload nhưng không xác định được trong ESP-protected payload, vì trong ESP nó đã được mã hoá.
    Gói tin ESP có chứa 5 đoạn : Ethernet Header , IP Header, ESP Header, Encrypted Data (Payload và ESP Trailer), và (option) authentication information . Dữ liệu được mã hoá không thể xác định được dù gói tin truyền trong Transport Mode hay Tunnel Mode. Tuy nhiên, vì IP Header không được mã hoá, trường giao thức IP trong Header vẫn phát hiện được giao thức dùng cho Payload ( trong trường hợp này là ESP).

    Hình 1.10 – Gói ESP

    Hình 1.11 – Trường ESP Header từ gói tin mẫu
    Hình trên cho thấy, các trường ESP Header từ 4 gói tin đầu trong ESP session giữa host A và host B . Các trường SPI và Sequence Number trong ESP làm việc một chiều như chúng đã thực hiện trong AH . Mỗi host sử dụng một giá trị SPI khác nhau cho các gói tin của nó, tương thích với kết nối ESP gồm hai thành phần kết nối một chiều.
    Cả hai host cũng bắt đầu thiết lập sequence number là 1, và sẽ tăng dần lên là 2 cho gói tin thứ hai.

    1.3.2.c. Chế độ hoạt động:
    - Chế độ vận chuyển: chức năng mã hóa và xác thực thông tin được thực hiện trên phần dữ liệu (payload data) của gói IP (tức tòan bộ đơn vị dữ liệu của lớp trên IP).
    - Chế độ đường hầm: tòan bộ gói IP được mã hóa và xác thực.

    Sự khác nhau giữa hai chế độ hoạt động:



    Hình 1.12 – Tác dụng của ESP lên gói IP ở 2 chế độ Transport và Tunnel

    Bảng so sánh giữa giao thức AH và ESP

    Last edited by lamvantu; 16-09-2011, 09:18 PM.
    Lâm Văn Tú
    Email :
    cntt08520610@gmail.com
    Viet Professionals Co. Ltd. (VnPro)
    149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
    Tel: (08) 35124257 (5 lines)
    Fax (08) 35124314
    Tập tành bước đi....


    Comment


    • #3
      Thank you very much!

      Comment


      • #4
        bài hay quá!!!!!!
        Lưu Cẩm Huy
        Email: luucamhuy@wifipro.org

        Viet Professionals Co. Ltd. (VnPro)
        149/1D Ung Văn Khiêm P25 Q.Bình thạnh TPHCM
        Tel: (08) 35124257 (5 lines)
        Fax: (08) 35124314
        Home Page : http://www.vnpro.vn
        Support forum : http://vnpro.org
        LiveChat : http://www.vnpro.vn/support
        Wifi forum : http://wifipro.org
        Blog : http://vnpro.org/blog

        Comment

        Working...
        X