Kết Hợp Sa Kiểu Tunnel Khi 2 Điểm Cuối Trùng Nhau


tham số trong SA đang tồn tại không xung đột với các tham số chuẩn bị thiết lập, có thể thực hiện lệnh “ping” để chắc chắn về kết nối đã sẵn sàng.

Trụ sở chính

Văn bản được mật mã Văn bản rõ

Certificate Authority

C hể ký sể

Internet

Computer

Computer

Computer

Có thể bạn quan tâm!

Xem toàn bộ 97 trang tài liệu này.

Phiên IKE

Đường ngầm Nhận thực Mật mã

Tìm hiểu công nghệ chuyển mạch nhãn đa giao thức trong VPN - 7

User

Computer

Người dùng


Hình 2.10: Ví dụ về hoạt động của IP-VPN sử dụng IPSec

Trong ví dụ này, người dùng muốn truyền thông an toàn với mạng trụ sở chính. Khi gói dữ liệu tới router người dùng (router này đóng vai trò là một cổng an ninh), router này sẽ kiểm tra chính sách an ninh và nhận ra gói dữ liệu cần truyền thông này là một ứng dụng của IP-VPN, cần được bảo vệ. Chính sách an ninh cấu hình trước cũng cho biết router mạng trụ sở chính sẽ là phía bên kia của đường ngầm IPSec, chính là trạm trụ sở chính của IP-VPN.

Router người dùng kiểm tra xem đã có IPSec SA nào được thiết lập cho phiên truyền thông này hay chưa. Nếu hoàn toàn không có một IPSec SA nào thì bắt đầu quá trình thương lượng IKE. Certificate Authority có chức năng giúp trụ sở chính nhận thực người sử dụng có được phép thực hiện phiên thông tin này hay không, chứng thực này là chữ ký số và được ký bởi một đối tác có quyền ký mà hai bên đều tin tưởng. Ngay sau khi hai router đã thỏa thuận được một IKE SA thì IPSec SA tức thời được tạo ra. Nếu hai bên không thỏa thuận được một IKE SA nào thì nó tiếp tục quá trình thỏa thuận hoặc ngừng kết nối phiên thông tin.

Việc tạo ra các IPSec SA chính là quá trình thỏa thuận giữa các bên về các chính sách an ninh, thuật toán mã hóa được sử dụng (chẳng hạn là DES), thuật toán xác thực (chẳng hạn MD5), và một khóa chia sẻ. Dữ liệu về SA được lưu trong cơ sở dữ liệu cho mỗi bên.

Tới đây, router người sử dụng sẽ đóng gói dữ liệu theo các yêu cầu đã thương lượng trong IPSec SA (thuật toán mật mã, nhận thực, giao thức đóng gói là AH hay


ESP…), thêm các thông tin thích hợp để đưa gói tin được mã hóa này về dạng IP datagram ban đầu và chuyển tới router mạng trung tâm. Khi nhận được gói tin từ router người dùng gửi đến, router mạng trung tâm tìm kiếm IPSec SA, xử lý gói theo yêu cầu, đưa về dạng gói tin ban đầu và chuyển nó tới mạng trung tâm.

2.3 Kết hợp an ninh SA và giao thức trao đổi khóa IKE

2.3.1 Kết hợp an ninh SA

2.3.1.1 Mục tiêu

IPSec cung cấp nhiều lựa chọn để thực hiện các giải pháp mật mã và xác thực ở lớp mạng. Phần này sẽ định nghĩa các thủ tục quản lý SA cho cả IPv4 và IPv6 để thực thi AH hoặc ESP hoặc cả hai, phụ thuộc vào lựa chọn của người sử dụng. Khi thiết lập kết nối IPSec, hai phía phải xác định chính xác các thuật toán nào sẽ được sử dụng, loại dịch vụ nào cần đảm bảo an toàn. Sau đó bắt đầu xử lý thương lượng để chọn một tập các tham số và các giải thuật toán học áp dụng cho mã hóa bảo mật hay nhận thực. Theo IETF thì dịch vụ bảo mật quan hệ giữa hai hoặc nhiều thực thể để thỏa thuận truyền thông an toàn được gọi là SA (Security Association).

Một SA là một kết nối đơn công, nghĩa là với mỗi cặp truyền thông với nhau, có ít nhất 2 SA (một từ A tới B và một từ B tới A). Khi lưu lượng cần truyền trực tiếp 2 chiều qua VPN, giao thức trao đổi khóa IKE (Internet Key Exchange) thiết lập một cặp SA trực tiếp và sau đó có thể thiết lập thêm nhiều SA khác. Mỗi SA có một thời gian sống riêng. SA được nhận dạng duy nhất bởi bộ 3 gồm có: chỉ dẫn thông số an ninh (SPI), địa chỉ IP đích và một nhận dạng giao thức an toàn (AH hay ESP). Tập các giá trị SPI trong dãy từ 1 đến 255 được để dành bởi IANA để sử dụng cho tương lai. Theo nguyên lý, địa chỉ IP đích có thể là một địa chỉ đơn nhất (unicast), một địa chỉ quảng bá (broadcast) hay một địa chỉ nhóm (multicast). Tuy nhiên, cơ chế quản lý SA IPSec hiện nay được định nghĩa chỉ cho những SA đơn nhất (unicast).

Một lên kết an ninh có thể là một trong hai kiểu: Transport và Tunnel, phụ thuộc vào kiểu của giao thức sử dụng SA. Một SA kiểu Transport là một liên kết an toàn giữa hai host, hoặc liên kết an toàn được yêu cầu giữa hai hệ thống trung gian dọc trên đường truyền. Trong trường hợp khác, kiểu Transport cũng có thể được sử dụng để hỗ trợ IP-in-IP hay đường ngầm GRE qua các SA kiểu Transport. SA kiểu Tunnel là một SA cơ bản được ứng dụng tới một đường ngầm IP. Một SA giữa 2 cổng an toàn là một SA kiểu Tunnel điển hình giống như một SA giữa một host và một cổng an toàn. Tuy nhiên, trong những trường hợp mà lưu lượng đã được định hình từ trước như những


lệnh SNMP, cổng an toàn làm nhiệm vụ như host và kiểu Transport được cho phép.

SA cung cấp nhiều lựa chọn cho các dịch vụ IPSec, nó phụ thuộc vào giao thức an toàn được lựa chọn (AH hay ESP), kiểu SA, điểm kết thúc của SA đó và một sự tuyển chọn của các dịch vụ tùy ý các bên trong giao thức đó. Ví dụ như khi sử dụng AH để xác minh nguồn gốc dữ liệu, tính toàn vẹn phi kết nối cho gói IP, có thể sử dụng dịch vụ chống phát lại hoặc không tùy thuộc vào các bên.

Khi một bên IP-VPN muốn gửi lưu lượng IPSec tới đầu bên kia, nó kiểm tra để biết nếu có một đã tồn tại một SA trong cơ sở dữ liệu hay chưa để hai bên có thể sử dụng dịch vụ an ninh theo yêu cầu. Nếu nó tìm được một SA tồn tại, nó để SPI của SA này trong tiêu đề IPSec, thực hiện các thuật toán mã hóa và gửi gói tin đi. Bên thu sẽ lấy SPI, địa chỉ đích và giao thức IPSec (AH hay ESP) và tìm SA trong cơ sở dữ liệu phù hợp để xử lý gói tin đó. Lưu ý rằng một đầu cuối IP-VPN có thể đồng thời tồn tại nhiều kết nối IPSec, vì vậy cũng có nghĩa là tồn tại nhiều SA.

2.3.1.2 Kết hợp các SA

Các gói IP truyền qua một SA riêng biệt được cung cấp sự bảo vệ một cách chính xác bởi giao thức an ninh có thể là AH hoặc ESP nhưng không phải là cả hai. Đôi khi một chính sách an toàn có thể được gọi cho một sự kết hợp của các dịch vụ cho một luồng giao thông đặc biệt mà không thể thực hiện được với một SA đơn lẻ. Trong trường hợp đó cần thiết để giao cho nhiều SA thực hiện chính sách an toàn được yêu cầu. Thuật ngữ cụm SA được sử dụng để một chuỗi các SA xuyên qua lưu lượng cần được xử lý để thỏa mãn một tập chính sách an toàn.

Đối với kiểu Tunnel, có 3 trường hợp cơ bản của kết hợp an ninh như sau:

1) Cả hai điểm cuối SA đều trùng nhau: mỗi đường ngầm bên trong hay bên ngoài là AH hay ESP, mặc dù host 1 có thể định rõ cả hai đường ngầm là như nhau, tức là AH bên trong AH và ESP bên trong ESP.



Internet

Security Association 1 (Tunnel)

Security Association 2 (Tunnel)


Host 1

Security Gwy 1

Security Gwy 2


Host 2

Hình 2.11: Kết hợp SA kiểu Tunnel khi 2 điểm cuối trùng nhau


2) Một điểm cuối SA trùng nhau: đường hầm bên trong hay bên ngoài có thể là AH hay ESP.



Internet

Security Association 1 (Tunnel)

Security Association 2 (Tunnel)


Host 1

Security Gwy 1

Security Gwy 2


Host 2

Hình 2.12: Kết hợp SA kiểu Tunnel khi một điểm cuối trùng nhau

3) Không có điểm cuối nào trùng nhau: Mỗi đường hầm bên trong và bên ngoài là AH hay ESP.



Internet

SA 1 (Tunnel)

Security Association 2 (Tunnel)


Host 1

Security Gwy 1

Security Gwy 2


Host 2

Hình 2.13: Kết hợp SA kiểu Tunnel khi không có điểm cuối trùng nhau

Chi tiết về kết hợp các SA có được trình bày trong RFC 2401.

2.3.1.3 Cơ sở dữ liệu SA

Có hai cơ sở dữ liệu, đó là: Cơ sở dữ liệu chính sách an ninh (Security Policy Database SPD) và có sở dữ liệu kết hợp an ninh (Security Association Database SAD).

SPD: chỉ ra các dịch vụ an toàn được đề nghị cho lưu lượng IP, phụ thuộc vào các nhân tố như nguồn, đích, đi ra hay đi về. Nó chứa đựng một danh sách những lối vào chính sách, tồn tại riêng rẽ cho lưu lượng đi vào và đi ra. Các lối vào này có thể nhận định một vài lưu lượng không qua xử lý IPSec, một vài phải được loại bỏ và còn lại thì được xử lý bởi IPSec. Các lối vào này là tương tự cho firewall hay bộ lọc gói.

SAD: chứa thông số về mỗi SA, giống như các tính toán và khóa AH hay ESP, số trình tự, kiểu giao thức và thời gian sống SA. Cho xử lý đi ra, một lối vào SPD trỏ tới một lối vào trong SAD. SAD quyết định SA nào được sử dụng cho một gói đã cho. Cho xử lý đi về, SAD được tham khảo để quyết định gói được xử lý như thế nào.


2.3.2 Giao thức trao đổi khóa IKE

Kết nối IPSec chỉ được hình thành khi SA đã được thiết lập. Tuy nhiên bản thân IPSec không có cơ chế để thiết lập SA. Chính vì vậy, IETF đã chọn phương án chia quá trình ra làm hai phần: IPSec cung cấp việc xử lý ở mức gói, còm IKMP (Internet Key Management Protocol) chịu trách nhiệm thỏa thuận các kết hợp an ninh. Sau khi cân nhắc các phương án, trong đó có SKIP (Simple Key Internet Protocol), và Photuis, IETF đã quyết định chọn IKE (Internet Key Exchange) là chuẩn để cấu hình SA cho IPSec.

Một đường ngầm IPSec IP-VPN được thiết lập giữa hai bên qua các bước như sau:

Bước 1: Quan tâm đến lưu lượng được nhận hoặc sinh ra từ các bên IPSec IP- VPN tại một giao diện nào đó yêu cầu thiết lập phiên thông tin IPSec cho lưu lượng đó.

Bước 2: Thương lượng chế độ chính (Main Mode) hoặc chế độ tấn công (Aggressive Mode) sử dụng IKE cho kết quả là tạo ra liên kết an ninh IKE (IKE SA) giữa các bên IPSec.

Bước 3: Thương lượng chế độ nhanh (Quick Mode)sử dụng IKE cho kết quả là tạo ra 2 IPSec SA giữa hai bên IPSec.

Bước 4: Dữ liệu bắt đầu truyền qua đường ngầm mã hóa sử dụng kỹ thuật đóng gói ESP hoặc AH (hoặc cả hai).

Bước 5: Kết thúc đường ngầm IPSec VPN. Nguyên nhân có thể là do IPSec SA kết thúc hoặc hết hạn hoặc bị xóa.

Tuy là chia thành 4 bước, nhưng cơ bản là bước thứ 2 và bước thứ 3, hai bước này định ra một cách rõ ràng rằng IKE có tất cả 2 pha. Pha thứ nhất sử dụng chế độ chính hoặc chế độ tấn công để trao đổi giữa các bên, và pha thứ hai được hoàn thành nhờ sử dụng trao đổi chế độ nhanh.

2.4 Những giao thức đang được ứng dụng cho xử lý IPSec

IPSec sử dụng nhiều giao thức đang tồn tại để mật mã, nhận thực, trao đổi khóa. Điều này giống như duy trì IPSec trở thành tiêu chuẩn ứng dụng cơ bản, làm cho nó có khả năng trở thành phổ biến trong thông tin IP. Một vài giao thức tiêu chuẩn được trình bày sau đây:

2.4.1 Mật mã bản tin

Có thể mật mã bản tin khi sử dụng giao thức ESP IPSec, bản tin mật mã cho phép bạn gửi thông tin nhạy cảm cao qua mạng công cộng mà không sợ bị xâm phạm dữ liệu. Có 2 tiêu chuẩn cơ bản để mật mã dữ liệu hiện nay đang được dùng phổ biến


là DES (Data Encryption Standard: tiêu chuẩn mật mã dữ liệu) và tiêu chuẩn phát triển thêm là 3DES (Triple DES: tiêu chuẩn mật mã dữ liệu gấp ba).

2.4.1.1 Tiêu chuẩn mật mã dữ liệu DES

DES là phương pháp mật mã dữ liệu tiêu chuẩn cho một số phát triển VPN. DES áp dụng một khóa 56 bit cho 64 bit dữ liệu. DES có thể cung cấp tới 72*105 khóa đóng gói dữ liệu. DES được IBM phát triển IBM vào năm 1977 và được U.S Department of Defense (cục phòng thủ Mỹ) chọn, DES đã là một trong những kỹ thuật mật mã mạnh. Nó được xem như là không thể bẻ gãy tại thời điểm đó, nhưng khi máy tính tốc độ cao hơn đã bẻ gãy DES trong khoảng thời gian ngắn (ít hơn một ngày), vì vậy DES không được sử dụng lâu dài cho những ứng dụng bảo mật cao.

Kỹ thuật DES-CBC là một trong rất nhiều phương pháp của DES. CBC (Cipher Block Chaining: chế độ chuỗi khối mật mã) yêu cầu một vectơ khởi tạo IV (Initialization Vector) để bắt đầu mật mã. IPSec đảm bảo cả hai phía IP-VPN cùng có một IV hay một khóa bí mật chia sẻ. Khóa bí mật chia sẻ được đặt vào thuật toán mật mã DES để mật mã những khối 64 bit do văn bản rõ (clear text) chia ra. Văn bản rõ được chuyển đổi thành dạng mật mã và được đưa tới ESP để truyền qua bên đợi, khi xử lý ngược lại sử dụng khóa bí mật chia sẻ để tạo lại văn bản rõ.

2.4.1.2 Tiêu chuẩn mật mã hóa dữ liệu gấp ba 3DES

Một phiên bản của DES là 3DES, có tên như vậy vì nó thực hiện 3 quá trình mật mã. Nó sử dụng một quá trình đóng gói, một quá trình mở gói và một quá trình đóng gói khác cùng với khóa 56 bit khác nhau. Ba quá trình này tạo ra một tổ hợp khóa 168 bit, cung cấp đóng gói mạnh.

2.4.2 Toàn vẹn bản tin

Toàn vẹn bản tin được thực hiện nhờ sử dụng một hàm băm toán học để tính toán đặc trưng của bản tin hay của file dữ liệu. Đặc trưng này được gọi là tóm tắt bản tin MD (Message Digest) và độ dài phụ thuộc vào hàm băm được sử dụng. Tất cả hoặc một phần của tóm tắt bản tin được truyền với dữ liệu tới host đích, nơi mà sẽ thực hiện cùng hàm băm để tái tạo tóm tắt bản tin này. Tóm tắt bản tin nguồn và đích sẽ được đối chiếu. Bất cứ sai lệch nào đều có nghĩa là bản tin đã biến đổi kể từ khi bản tin nguồn được thiết lập. Sự tương xứng với nhau có nghĩa là chắc chắn dữ liệu không bị biến đổi trong quá trình truyền.

Khi sử dụng giao thức IPSec, bản tin tóm tắt được thiết lập nhờ sử dụng trường


không biến đổi từ gói tin IP và trường biến đổi được thay thế bằng giá trị 0 hoặc giá trị có thể dự đoán được. Tính toán MD và sau đó là đặt nó vào trường dữ liệu nhận thực (ICV) của AH. Thiết bị đích sau đó copy MD từ AH và tách trường dữ liệu nhận thực trước khi tính toán lại MD.

Với giao thức IPSec ESP, việc xử lý cũng tương tự, tóm tắt bản tin được tạo nhờ sử dụng dữ liệu không biến đổi trong gói tin IP bắt đầu từ ESP header và kết thúc là ESP trailer. MD tính toán được sau đó đặt vào trường ICV tại cuối của gói tin. Với ESP, host đích không cần tách trường ICV bởi vì nó đặt bên ngoài phạm vi hàm băm thông thường.

Có 2 thuật toán chính để hỗ trợ toàn vẹn bản tin, đó là MD5 và SHA-1 (Secure Hash Algorithm-1: thuật toán băm an toàn-1), chúng sử dụng chơ chế khóa băm gọi là HMAC (Hashed-keyed Message Authenticaiton Code: mã nhận thực bản tin băm). Sau đây là tổng quan ba công cụ cho toàn vẹn bản tin này.

2.4.2.1 Mã nhận thực bản tin băm HMAC

RFC 2104 trình bày về thuật toán HMAC, bởi vì nó được phát triển để làm việc cùng với thuật toán băm đang tồn tại là MD5 và SHA-1. Nhiều quá trình xử lý an ninh phức tạp trong chia sẻ dữ liệu yêu cầu sử dụng khóa bí mật và một cơ chế được gọi là mã nhận thực bản tin (MAC: Message Authentication Code). Một bên tạo MAC sử dụng khóa bí mật và truyền MAC tới bên kia. Bên kia tạo lại MAC sử dụng cùng một khóa bí mật và so sánh 2 giá trị MAC.

MD5 và SHA-1 có khái niệm tương tự nhau, nhưng chúng sử dụng khóa bí mật khác nhau. Điều này chính là yêu cầu có HMAC. HMAC được phát triển thêm vào một khóa bí mật cho tiêu chuẩn thuật toán băm tính toán tóm tắt bản tin. Khóa bí mật được thêm vào theo thể thức cùng độ dài nhưng kết quả tóm tắt bản tin khác nhau khi sử dụng thuật toán khác nhau.

2.4.2.2 Thuật toán MD5

Thuật toán tóm tắt bản tin MD5 thực hiện tóm tắt bất kì bản tin hay trường dữ liệu nào cũng miêu tả cô đọng lại còn 128 bít. Với HMAC-MD5-96, khóa bí mật có độ dài là 128 bít. Với AH và ESP, HMAC chỉ sử dụng có 96 bit nằm bên trái, đặt chúng vào trường nhận thực. Bên đích sau đó tính toán lại 128 bit tóm tắt bản tin nhưng chỉ sử dụng 96 bit nằm bên trái để so sánh với giá trị được lưu trong trường nhận thực.

MD5 tạo ra một tóm tắt bản tin ngắn hơn SHA-1 và được xem như là ít an toàn


hơn nhưng kết quả lại được thực hiện tốt hơn. MD5 không có HMAC được biết như là yếu hơn cho những lựa chọn dịch vụ chất lượng bảo mật cao.

2.4.2.3 Thuật toán băm an toàn SHA

Thuật toán băm an toàn được diễn tả trong RFC 2404. SHA-1 tạo ra một tóm tắt bản tin dài 160 bit, và sử dụng khóa bí mật 160 bit. Có thể với một vài sản phẩm thì nó sẽ lấy 96 bít bên trái của tóm tắt bản tin để gửi vào trường nhận thực. Bên thu tạo lại tóm tắt bản tin 160 bit sử dụng khóa bí mật dài 160 bit và chỉ so sánh 96 bit với tóm tắt bản tin trong khung của trường nhận thực.

Tóm tắt bản tin SHA-1 dài 160 bit an toàn hơn so với MD5 dài 128 bit. Điều này được xem như là quá an toàn nhưng nếu như bạn cần một an toàn cao cho toàn vẹn bản tin thì có thể chọn thuật toán HMAC-SHA-1.

2.4.3 Nhận thực các bên

Một trong những xử lý IKE là thực hiện nhận thực các bên. Quá trình này diễn ra trong pha thứ nhất sử dụng thuật toán khóa băm cùng với một trong 3 loại khóa sau:

- Khóa chia sẻ trước

- Chữ ký số RSA

- RSA mật mã nonces

Đây là ba loại khóa và chúng kết hợp với xử lý nhận thực như phác thảo sau

2.4.3.1 Khóa chia sẻ trước

Xử lý khóa chia sẻ trước là thủ công. Người quản lý tại một đầu cuối của IPSec IP-VPN đồng ý về khóa được sử dụng và sau đó đặt khóa vào thiết bị là host hoặc gateway một cách thủ công. Phương pháp này đơn giản, nhưng không được ứng dụng rộng rãi.

2.4.3.2 Chữ ký số RSA

Một giấy chứng nhận của người có quyền chứng nhận (Certificate Authority: CA) cung cấp chữ ký số RSA vào lúc đăng ký với CA. Chữ ký số cho phép an ninh hơn là khóa chia sẻ. Một khi cấu hình ban đầu đã được hoàn thành, các bên sử dụng chữ ký số RSA có thể nhận thực đối phương không cần can thiệp của người điều hành.

Khi một chữ ký số RSA được yêu cầu, một cặp khóa công cộng và khóa riêng được sinh ra. Host sử dụng khóa riêng tạo ra một chữ ký số. Host này sẽ gửi chữ ký số của nó tới bên kia IPSec. Bên sử dụng khóa công cộng từ chữ ký số để phê chuẩn chữ ký số nhận được từ bên kia.

Xem toàn bộ nội dung bài viết ᛨ

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 23/05/2023