BÁO CÁO ĐỒ ÁN AN TOÀN MÁY CHỦ WINDOWS TÊN ĐỀ TÀI IPSEC VPN Khoa CÔNG NGHỆ THÔNG TIN Giảng viên hướng dẫn Thầy Tống Thanh Văn Sinh viên thực hiện Lớp 19DTHC2 TP Hồ Chí Minh,2022 CHƯƠNG 1 TỔNG QUAN, GIỚI THIỆU ĐỀ TÀI 7 1 1 Tổng quan về đề tài 7 1 2 Nhiệm vụ đề tài 7 1 3 Cấu trúc đề tài 7 CHƯƠNG 2 Giới thiệu về VPN 9 2 1 Khái quát về VPN 9 2 1 Các giao thức thường dung trong VPN 11 2 2 Nhứng giao thức yếu 12 2 3 Những giao thức có bảo mật tốt hơn 14 2 4 Ưu nhược điểm 17 2 4 1 Ưu điểm 18 2 4 2 Nhược.
Trang 1BÁO CÁO ĐỒ ÁN
AN TOÀN MÁY CHỦ WINDOWS
TÊN ĐỀ TÀI IPSEC VPN
Khoa: CÔNG NGHỆ THÔNG TIN
Giảng viên hướng dẫn : Thầy Tống Thanh Văn
Sinh viên thực hiện :
Lớp : 19DTHC2
TP Hồ Chí Minh,2022
CHƯƠNG 1: TỔNG QUAN, GIỚI THIỆU ĐỀ TÀI 7
1.1 Tổng quan về đề tài 7
1.2 Nhiệm vụ đề tài 7
1.3 Cấu trúc đề tài 7
Trang 2CHƯƠNG 2: Giới thiệu về VPN 9
2.1 Khái quát về VPN 9
2.1 Các giao thức thường dung trong VPN 11
2.2 Nhứng giao thức yếu 12
2.3 Những giao thức có bảo mật tốt hơn 14
2.4 Ưu nhược điểm 17
2.4.1 Ưu điểm 18
2.4.2 Nhược điểm 18
2.4.3 Kết Luận 18
CHƯƠNG 3: Khái quát về IPSec 18
3.1 IPSec là gì 18
3.2 Sơ lược về lịch sử IPSec 19
3.3 Cách thức hoạt động của IPSec 19
3.4 Những giao thức IPSec và các thành phần hỗ trợ 21
CHƯƠNG 4: Mô hình Demo và kết luận 37
4.2.1 Lợi ích khi dùng Vmware 38
Tính năng nổi bật của Wireshark 39
Ưu điểm của IPSec 49
1 An ninh mạng 49
2 Ứng dụng trong phụ thuộc 49
3 Bảo mật dữ liệu 49
4 Hỗ trợ mạng 49
5 Xác thực 49
Nhược điểm của IPSec 50
1 Chi phí CPU 50
2 Tính tương thích 50
3 Các thuật toán 50
4 Phạm vi truy cập 50
5 Hạn chế về tường lửa 50
TÀI LIỆU THAM KHẢO 52
Trang 3LỜI CẢM ƠN
Lời đầu tiên, chúng em xin gửi lời cảm ơn chân thành nhất đến thầy Tống Thanh Văn.Trong quá trình học tập và tim hiểu bộ môn An toàn máy chủ Windows, chúng em đãnhận được sự quan tâm giúp đỡ, hướng dẫn rất tận tình, tâm huyết của thầy Thầy đã giúpchúng em tích lũy thêm nhiều kiến thức để có cái nhìn sâu sắc và hoàn thiện hơn trongcuộc sống Từ những kiến thức mà thầy truyền tải, chúng em đã dần hoàn thiện kỹ năngcủa mình Thông qua bài báo cáo này, chúng em xin trình bày lại những gì mà mình đãtìm hiểu gửi đến thầy Có lẽ kiến thức là vô hạn mà sự tiếp nhận kiến thức của bản thânmỗi người luôn tồn tại những hạn chế nhất định Do đó, trong quá trình hoàn thành báocáo, chắc chắn không tránh khỏi những thiếu sót Bản thân chúng em rất mong nhận đượcnhững góp ý đến từ thầy và các bạn để bài báo cáo của chúng em được hoàn thiện hơn.Kính chúc thầy sức khỏe, hạnh phúc thành công trên con đường sự nghiệp giảng dạy
Trang 4CHƯƠNG 1: TỔNG QUAN, GIỚI THIỆU ĐỀ TÀI
1.1 Tổng quan về đề tài
IPSec, viết tắt của Internet Protocol Security, là một bộ giao thức mật mã bảo vệ lưu lượng dữ liệu qua mạng Internet Protocol (IP) Mạng IP – bao gồm cả World Wide Web – thiếu khả năng mã hoá và bảo vệ quyền riêng tư VPN IPSec giải quyết điểm yếu này, bằng cách cung cấp một framework cho việc giao tiếp được mã hóa và riêng
tư trên web Bài viết này sẽ có cái nhìn sâu hơn về bộ giao thức này, giải thích IPsec
là gì và cách hoạt động của bộ giao thức này như thế nào
IPsec là một nhóm giao thức được sử dụng cùng nhau để thiết lập các kết nối được mãhóa giữa các thiết bị Nó giúp bảo mật dữ liệu được gửi qua public network Nhóm giao thức này này thường được sử dụng để thiết lập VPN Nó hoạt động bằng cách mãhóa IP packet cùng với việc xác thực nguồn của các packet
Trong thuật ngữ “IPsec”, “IP” là viết tắt của “Internet Protocol” và “sec” là
“security” Internet Protocol là một routing protocol chính được sử dụng trên Internet
Nó chỉ định nơi dữ liệu sẽ đi bằng địa chỉ IP Nhóm giao thức này an toàn vì nó thêm
mã hóa và xác thực vào quá trình này
Virtual private network (VPN) là một kết nối được mã hóa giữa hai hoặc nhiều máy tính Kết nối VPN diễn ra qua các public network, nhưng dữ liệu trao đổi qua VPN vẫn là riêng tư vì nó được mã hóa
VPN giúp bạn có thể truy cập và trao đổi dữ liệu bí mật một cách an toàn qua cơ sở hạtầng shared network Ví dụ, khi nhân viên làm việc từ xa thay vì ở văn phòng, họ thường sử dụng VPN để truy cập các file và app của công ty
Nhiều VPN sử dụng IPsec protocol để thiết lập và chạy các kết nối được mã hóa Tuy nhiên, không phải tất cả các VPN đều sử dụng nhóm giao thức này Một giao thức khác cho VPN là SSL/TLS, hoạt động ở một lớp khác trong mô hình OSI so với IPsec (Mô hình OSI là một đại diện trừu tượng của các quá trình là cho Internet hoạt động
1.2 Nhiệm vụ đề tài
Tìm hiểu về các chức năng cũng như cách thức hoạt động của IPSec VPN để có thể
áp dụng vào những bài toán thực tế và phát triển cho các dự án sau này
Trang 5Báo cáo đồ án gồm có 4 chương:
nội dung căn bản của đồ án
ý nghĩa của IPSec trong IPSec VPN
của kết quả thu được
Trang 6CHƯƠNG 2: Giới thiệu về VPN
2.1 Khái quát về VPN
Đối với những bạn mới đi học, mới bước chân vào lĩnh vực Công Nghệ Thông Tin
- CNTT, cho đến những người đi làm chắc hẳn họ đã nhiều lần nghe đến từ VPN,hay mạng riêng ảo, mạng cá nhân ảo Vậy thực sự VPN là gì, ưu nhược điểm của VPN ra sao? Hãy cùng nhóm 9 thảo luận về định nghĩa của VPN, cách ứng dụng
mô hình, hệ thống này trong công việc nhé
VPN là mạng riêng ảo, Virtual Private Network, là một công nghệ mạng giúp tạo kết nối mạng an toàn khi tham gia vào mạng công cộng như Internet hoặc mạng riêng do một nhà cung cấp dịch vụ sở hữu Các tập đoàn lớn, các cơ sở giáo dục và
cơ quan chính phủ sử dụng công nghệ VPN để cho phép người dùng từ xa kết nối
an toàn đến mạng riêng của cơ quan mình
- 1 hệ thống VPN có thể kết nối được nhiều site khác nhau, dựa trên khu vực, diện tích địa lý tượng tự như chuẩn Wide Area Network (WAN) Bên cạnh đó, VPN còn được dùng để "khuếch tán", mở rộng các mô hình Intranet nhằm truyền tải thông tin, dữ liệu tốt hơn Ví dụ, các trường học vẫn phải dùng VPN để nối giữa các khuôn viên của trường (hoặc giữa các chi nhánh với trụ sở chính) lại với nhau.Nếu muốn kết nối vào hệ thống VPN, thì mỗi 1 tài khoản đều phải được xác thực
Trang 7dùng để cấp quyền truy cập thông qua 1 dữ liệu - Personal Identification Number (PIN), các mã PIN này thường chỉ có tác dụng trong 1 khoảng thời gian nhất định (30s hoặc 1 phút).
Khi kết nối máy tính hoặc một thiết bị khác chẳng hạn như điện thoại, máy tính bảng với một VPN, máy tính hoạt động giống như nó nằm trên cùng mạng nội bộ với VPN Tất cả traffic trên mạng được gửi qua kết nối an toàn đến VPN Nhờ đó, bạn có thể truy cập an toàn đến các tài nguyên mạng nội bộ ngay cả khi đang ở rất xa
Bạn cũng có thể sử dụng Internet giống như đang ở vị trí của của VPN, điều này mang lại một số lợi ích khi sử dụng WiFi public hoặc truy cập trang web bị chặn, giới hạn địa lý
Khi duyệt web với VPN, máy tính sẽ liên hệ với trang web thông qua kết nối VPN được mã hóa Mọi yêu cầu, thông tin, dữ liệu trao đổi giữa bạn và website sẽ được truyền đi trong một kết nối an toàn Nếu sử dụng VPN tại Hoa Kỳ để truy cập vào Netflix, Netflix sẽ thấy kết nối của bạn đến từ Hoa Kỳ
Dù nghe có vẻ khá đơn giản, nhưng trên thực tế VPN lại được ứng dụng để làm rất nhiều thứ:
Truy cập vào mạng doanh nghiệp khi ở xa: VPN thường được sử dụng bởi
những người kinh doanh để truy cập vào mạng lưới kinh doanh của họ, bao gồm tất
cả tài nguyên trên mạng cục bộ, trong khi đang đi trên đường, đi du lịch, Các nguồn lực trong mạng nội bộ không cần phải tiếp xúc trực tiếp với Internet, nhờ đó làm tăng tính bảo mật
Truy cập mạng gia đình, dù không ở nhà: Bạn có thể thiết lập VPN riêng để truy
cập khi không ở nhà Thao tác này sẽ cho phép truy cập Windows từ xa thông qua Internet, sử dụng tập tin được chia sẻ trong mạng nội bộ, chơi game trên máy tính qua Internet giống như đang ở trong cùng mạng LAN
Duyệt web ẩn danh: Nếu đang sử dụng WiFi công cộng, duyệt web trên những
trang web không phải https, thì tính an toàn của dữ liệu trao đổi trong mạng sẽ dễ
bị lộ Nếu muốn ẩn hoạt động duyệt web của mình để dữ liệu được bảo mật hơn thìbạn nên kết nối VPN Mọi thông tin truyền qua mạng lúc này sẽ được mã hóa
Truy cập đến những website bị chặn giới hạn địa lý, bỏ qua kiểm duyệt Internet,
vượt tường lửa,
Tải tập tin: Tải BitTorrent trên VPN sẽ giúp tăng tốc độ tải file Điều này cũng có
ích với các traffic mà ISP của bạn có thể gây trở ngại
Trang 82.1 Các giao thức thường dung trong VPN
- Các sản phẩm VPN thường co sự tiện lợi, tính hiệu quả và bảo mật rất đa dạng Nếu bảo mật là một mối quan tâm hàng đầu, thì một tổ chức cần phải chú ý đến các giao thức mà dịch vụ VPN hỗ trợ Một số giao thức được sử dụng rộng rãi có những điểm yếu đáng quan ngại, trong khi những giao thức khác lại cung cấp khả năng bảo mật tiên tiến nhất Những giao thức tốt nhất hiện nay là OpenVPN và IKEv2
Bản chất của giao thức VPN là một tập hợp các giao thức Có một số chức năng mà mọi VPN phải giải quyết được:
- Tunnelling (kỹ thuật truyền dữ liệu qua nhiều mạng có giao thức khác nhau) - Chức
năng cơ bản của VPN là phân phối các gói (packet) từ điểm này đến điểm khác mà không để lộ chúng cho bất kỳ ai trên đường truyền Để làm điều này, VPN đóng gói tất
cả dữ liệu theo định dạng mà cả máy khách và máy chủ đều hiểu được Bên gửi dữ liệuđặt nó vào định dạng tunnelling và bên nhận trích xuất để có được thông tin
- Mã hóa: Tunnelling không cung cấp tính năng bảo vệ Bất cứ ai cũng có thể trích
xuất dữ liệu Dữ liệu cũng cần phải được mã hóa trên đường truyền Bên nhận sẽ biết cách giải mã dữ liệu từ một người gửi nhất định
- Xác thực: Để bảo mật, VPN phải xác nhận danh tính của bất kỳ client nào cố gắng
“giao tiếp” với nó Client cần xác nhận rằng nó đã đến đúng máy chủ dự định
Trang 9- Quản lý phiên: Một khi người dùng được xác thực, VPN cần duy trì phiên để client
có thể tiếp tục “giao tiếp” với nó trong một khoảng thời gian
Nói chung các giao thức VPN coi việc tạo tunnel, xác thực và quản lý phiên như một gói Điểm yếu trong bất kỳ chức năng nào đều là những lỗ hổng bảo mật tiềm ẩn trong giao thức Mã hóa là một chuyên ngành, nó cũng rất khó, nên thay vì cố gắng tạo ra cáimới, các VPN thường sử dụng kết hợp nhiều giao thức mã hóa đáng tin cậy Dưới đây
là những giao thức VPN phổ biến và độ mạnh yếu của chúng
2.2 Nhứng giao thức yếu
Point-To-Point Tunneling Protocol (PPTP)
Giao thức cũ nhất vẫn đang được sử dụng là PPTP (Point-to-Point Tunneling
Protocol) PPTP lần đầu tiên được sử dụng vào năm 1995 PPTP không chỉ định giao thức mã hóa nhưng có thể sử dụng một số giao thức như MPPE-128 mạnh mẽ Việc thiếu sự tiêu chuẩn hóa về giao thức mạnh là một rủi ro, vì nó chỉ có thể sử dụng tiêu chuẩn mã hóa mạnh nhất mà cả 2 phía cùng hỗ trợ Nếu một phía chỉ hỗ trợ tiêu chuẩn yếu hơn thì kết nối phải sử dụng mã hóa yếu hơn người dùng mong đợi
Tuy nhiên, vấn đề thực sự với PPTP là quá trình xác thực PPTP sử dụng giao thức MS-CHAP, có thể dễ dàng bị crack trong giai đoạn hiện nay Kẻ tấn công có thể đăng nhập và mạo danh người dùng được ủy quyền
IP security (IPSec)
Được dùng để bảo mật các giao tiếp, các luồng dữ liệu trong môi trường Internet (môi
trường bên ngoài VPN) Đây là điểm mấu chốt, lượng traffic qua IPSec được dùng chủ
Trang 10yếu bởi các Transport mode, hoặc các tunnel (hay gọi là hầm - khái niệm này hay dùng trong Proxy, SOCKS) để MÃ HÓA dữ liệu trong VPN.
Sự khác biệt giữa các mode này là:
Transport mode chỉ có nhiệm vụ mã hóa dữ liệu bên trong các gói (data
package - hoặc còn biết dưới từ payload) Trong khi các Tunnel mã hóa toàn
Hellman là cách để hai bên thỏa thuận về khóa mã hóa tiếp theo và không ai được biết về khóa này Có một phương pháp có thể “bẻ khóa” quá trình này, đòi hỏi sức mạnh điện toán khá lớn, nhưng sau đó nó cho phép truy cập vào tất cả các giao tiếp trên một VPN nhất định
Trang 11
Secure Sockets Layer (SSL) và Transport Layer Security (TLS)
Có 1 phần tương tự như IPSec, 2 giao thức trên cũng dùng mật khẩu để đảm bảo an toàn giữa các kết nối trong môi trường Internet
Mô hình SSL VPN
Bên cạnh đó, 2 giao thức trên còn sử dụng chế độ Handshake - có liên quan đến quá
trình xác thực tài khoản giữa client và server Để 1 kết nối được coi là thành công, quá
trình xác thực này sẽ dùng đến các Certificate - chính là các khóa xác thực tài khoản
được lưu trữ trên cả server và client
2.3 Những giao thức có bảo mật tốt hơn
IKEv2 (Internet Key Exchange)
Trang 12IKEv2 (Internet Key Exchange) được xếp hạng bảo mật cao trong số các giao thức hiện tại IKEv2 sử dụng IPSec tunnelling và có nhiều lựa chọn giao thức mã hóa IKEv2 được
sử dụng với mã hóa AES-256 nên rất khó bị bẻ khóa IKEv2 sử dụng tính năng xác thực dựa trên chứng chỉ mạnh mẽ và có thể sử dụng thuật toán HMAC để xác minh tính toàn vẹn của dữ liệu được truyền IKEv2 hỗ trợ giao tiếp nhanh và đặc biệt mạnh mẽ trong việc duy trì phiên, ngay cả khi kết nối Internet bị gián đoạn Windows, MacOS, iOS và Android đều hỗ trợ IKEv2 Một số triển khai mã nguồn mở cũng có sẵn
Phiên bản 1 của giao thức được giới thiệu vào năm 1998 và phiên bản 2 vào năm 2005 IKEv2 không phải là một trong những giao thức mới nhất, nhưng được duy trì rất tốt
SSTP (Secure Socket Tunneling Protocol)
SSTP (Secure Socket Tunneling Protocol) là một sản phẩm của Microsoft, được hỗ trợ chủ yếu trên Windows Khi được sử dụng với mã hóa AES và SSL, SSTP cung cấp tính năng bảo mật tốt, xét về mặt lý thuyết Hiện tại chưa tìm thấy lỗ hổng nào của SSTP nhưng rất có thể một điểm yếu nào đó vẫn tồn tại
Một vấn đề thực tế với SSTP là sự hỗ trợ hạn chế trên các hệ thống không phải Windows
Trang 13OpenVPN là một bộ giao thức mở, cung cấp tính năng bảo mật mạnh mẽ và đã trở nên rấtphổ biến OpenVPN được phát hành lần đầu tiên vào năm 2001 theo giấy phép GPL OpenVPN có mã nguồn mở, nên việc kiểm tra lỗ hổng được bảo đảm Chức năng mã hóacủa OpenVPN thường sử dụng thư viện OpenSSL OpenSSL hỗ trợ nhiều thuật toán mã hóa, bao gồm AES
Không có bất kỳ sự hỗ trợ nào cho OpenVPN ở cấp hệ điều hành, nhưng nhiều gói bao gồm các OpenVPN client của riêng chúng
Việc có được sự bảo mật nhất với một giao thức đòi hỏi các quản trị viên phải xử lý một cách chính xác Cộng đồng OpenVPN cung cấp các khuyến nghị để tăng cường bảo mật cho OpenVPN
SoftEther (Software Ethernet)
SoftEther (Software Ethernet) là một cái tên mới, lần đầu tiên ra mắt vào năm 2014 Giống như OpenVPN, SoftEther cũng có mã nguồn mở SoftEther hỗ trợ các giao thức
mã hóa mạnh nhất, bao gồm AES-256 và RSA 4096-bit SoftEther cung cấp tốc độ giao
Trang 14tiếp lớn hơn so với hầu hết các giao thức, bao gồm OpenVPN, ở một tốc độ dữ liệu nhất định Nó không hỗ trợ hệ điều hành riêng nhưng có thể được cài đặt trên nhiều hệ điều hành,
bao gồm Windows, Mac, Android, iOS, Linux và Unix
Là một giao thức mới, SoftEther không được hỗ trợ nhiều như một số giao thức khác SoftEther không tồn tại đủ lâu như OpenVPN, vì vậy người dùng chưa có nhiều thời gian
để kiểm tra những điểm yếu có thể xuất hiện trên giao thức này Tuy nhiên, SoftEther là một ứng cử viên nặng ký cho bất kỳ ai cần chất lượng bảo mật hàng đầu
Vậy nên chọn giao thức nào?
Câu hỏi “Giao thức nào an toàn nhất?” rất khó để đưa ra câu trả lời IKEv2, OpenVPN vàSoftEther đều là những ứng cử viên mạnh OpenVPN và SoftEther có lợi thế là mã nguồn
mở IKEv2 có các triển khai mã nguồn mở nhưng cũng có các triển khai độc quyền Ưu điểm bảo mật chính của IKEv2 là dễ cài đặt, giảm nguy cơ lỗi cấu hình SoftEther cung cấp bảo mật rất tốt, nhưng người dùng chưa có nhiều thời gian trải nghiệm với SoftEther như với hai giao thức còn lại, nên rất có thể SoftEther còn tồn tại những vấn đề mà người dùng chưa phát hiện ra
Code của OpenVPN đã xuất hiện trong nhiều năm để các chuyên gia bảo mật kiểm tra OpenVPN được sử dụng rộng rãi và hỗ trợ các giao thức mã hóa mạnh nhất Việc đưa ra quyết định cuối cùng còn cần xem xét những yếu tố khác, chẳng hạn như sự thuận tiện vàtốc độ, hay vấn đề bảo mật có phải là điều quan tâm lớn nhất hay không
2.4 Ưu nhược điểm
Lý thuyết là như vậy, còn khi áp dụng vào thực tế thì VPN sẽ có những ưu, nhược điểm như thế nào Mời các bạn tiếp tục thảo luận với Quản Trị Mạng
Để xây dựng 1 hệ thống mạng riêng, mạng cá nhân ảo thì dùng VPN là 1 giải pháp không
hề tốn kém Chúng ta có thể tưởng tượng thế này, môi trường Internet là cầu nối, giao tiếp chính để truyền tải dữ liệu, xét về mặt chi phí thì nó hoàn toàn hợp lý so với việc trả tiền để thiết lập 1 đường kết nối riêng với giá thành cao Bên cạnh đó, việc phải sử dụng
hệ thống phần mềm và phần cứng nhằm hỗ trợ cho quá trình xác thực tài khoản cũng không phải là rẻ Việc so sánh sự tiện lợi mà VPN mang lại cùng với chi phí bỏ ra để bạn
tự thiết lập 1 hệ thống như ý muốn, rõ ràng VPN chiếm ưu thế hơn hẳn
Nhưng bên cạnh đó, có nhược điểm rất dễ nhận thấy như:
VPN không có khả năng quản lý Quality of Service (QoS) qua môi trường Internet, do
vậy các gói dữ liệu - Data package vẫn có nguy cơ bị thất lạc, rủi ro Khả năng quản lý
Trang 15của các đơn vị cung cấp VPN là có hạn, không ai có thể ngờ trước được những gì có thể xảy ra với khách hàng của họ, hay nói ngắn gọn là bị hack đó.
2.4.1 Ưu điểm
- Lưu lượng cá nhân của bạn được mã hóa và truyền an toàn qua Internet Điều này giúp bạn tránh xa khỏi các mối đe dọa trên Internet
- VPN khiến tin tặc gặp khó khăn khi xâm nhập hay gây trở ngại tới công việc của
cá nhân hoặc doanh nghiệp
- Bạn có thể yên tâm sử dụng Wifi công cộng và không phải lo nghĩ về những tên tin tặc, đồng thời có thể an toàn kết nối từ xa với máy chủ
Với trình bảo mật cao như vậy, bạn hoàn toàn có thể ẩn danh khi lướt web Không những thế, đa số các VPN còn có giao diện rất dễ cấu hình, những người không rành công nghệ cũng có thể thao tác được
2.4.3 Kết Luận
Khi không có gì để mất thì chúng ta hay coi thường về bảo mật thông tin trên internet Nhưng đến lúc bị hacker ghé thăm và đánh cắp dữ liệu, chúng ta mới nhận ra sức mạnh của bảo mật Internet là môi trường nhiều cạm bẫy, các doanh nghiệp lớn hay có nhiều bí mật và bí quyết công nghệ nên sắm cho mình và tập xàiVPN từ ngay bây giờ đi là vừa
CHƯƠNG 3: Khái quát về IPSec
3.1 IPSec là gì
Trang 16IPSec, viết tắt của Internet Protocol Security, là một bộ giao thức mật mã bảo vệ lưu lượng dữ liệu qua mạng Internet Protocol (IP).
Mạng IP - bao gồm cả World Wide Web - thiếu khả năng mã hoá và bảo vệ quyền riêng
tư VPN IPSec giải quyết điểm yếu này, bằng cách cung cấp một framework cho việc giao tiếp được mã hóa và riêng tư trên web
Dưới đây là cái nhìn sâu hơn về IPSec và cách nó hoạt động với các VPN tunnel để bảo
vệ dữ liệu qua những mạng không bảo mật
3.2 Sơ lược về lịch sử IPSec
Khi Internet Protocol được phát triển vào đầu những năm 80, tính bảo mật không nằm ở
vị trí được ưu tiên cao Tuy nhiên, khi số lượng người dùng Internet tiếp tục phát triển, nhu cầu bảo mật cao cũng vì thế mà ngày càng tăng
Để giải quyết nhu cầu này, Cơ quan An ninh Quốc gia đã tài trợ cho sự phát triển của các giao thức bảo mật vào giữa những năm 80, trong chương trình Secure Data Network Systems (Hệ thống mạng dữ liệu bảo mật) Điều này dẫn đến sự phát triển của Security Protocol (Giao thức bảo mật) ở Layer 3 và cuối cùng là Network Layer Security Protocol.Nhiều kỹ sư đã làm việc trong dự án này trong suốt những năm 90 và IPSec đã phát triển nhờ những nỗ lực này IPSec hiện là một tiêu chuẩn mã nguồn mở và là một phần của IPv4
Trang 17IPSec làm việc với các VPN tunnel để thiết lập kết nối hai chiều riêng tư giữa các thiết bị
thức bảo mật và thuật toán mã hóa, đồng thời trao đổi key mật mã để mở khóa và xem dữliệu đã mã hóa
Đây là lúc IPSec phát huy vai trò IPSec làm việc với các VPN tunnel để thiết lập kết nối hai chiều riêng tư giữa các thiết bị IPSec không phải là một giao thức đơn lẻ; thay vào
đó, đó là một bộ giao thức và tiêu chuẩn hoàn chỉnh, hoạt động cùng nhau để giúp đảm bảo tính bảo mật, toàn vẹn và xác thực của các gói dữ liệu Internet đi qua VPN tunnel.Đây là cách IPSec tạo một VPN tunnel bảo mật:
trình truyền tải
xem dữ liệu
việc đăng nhập trái phép
VPN IPSec bảo vệ dữ liệu truyền từ host đến host, mạng đến mạng, host đến mạng và cổng đến gateway (được gọi là chế độ Tunnel, khi toàn bộ gói IP được mã hóa và xác thực)
- Kết nối bộ giao thức này bao gồm các bước sau:
Trang 18Trao đổi key: Key là yếu tố cần thiết để mã hóa, key là một chuỗi ký tự ngẫu nhiên có
thể được sử dụng để “lock” (mã hóa) và “unlock” (giải mã) thông điệp Nhóm giao thức này thiết lập các key với sự trao đổi key giữa các thiết bị được kết nối Để mỗi thiết bị có thể giải mã tin nhắn của các thiết bị khác
Header và trailer của packet: Tất cả dữ liệu được gửi qua mạng được chia thành các
phần nhỏ hơn gọi là packet Các packet chứa cả payload hoặc dữ liệu thực tế được gửi bao gồm cả các header hoặc thông tin về dữ liệu đó để các máy tính nhận packet biết phảilàm gì với chúng IPsec thêm một số header vào các packet dữ liệu chứa thông tin xác thực và mã hóa Nhóm giao thức này cũng thêm các đoạn trailer, đi sau payload của một packet thay vì trước đó
Xác thực: IPsec cung cấp xác thực cho mỗi packet, giống như một con dấu xác thực trên
một vật phẩm sưu tầm được Điều này đảm bảo rằng các packet đến từ một nguồn đáng tin và không phải là hacker
Mã hóa: IPsec mã hóa payload bên mỗi packet và IP header của mỗi packet Điều này
giữ cho dữ liệu được gửi qua nhóm giao thức này một cách an toàn và riêng tư
Truyền dữ liệu: Các IPsec packet được mã hóa truyền dữ liệu qua một hoặc nhiều mạng
đến đích của chúng bằng cách sử dụng một giao thức truyền tải Ở giai đoạn này, lưu lượng IPsec khác với lưu lượng IP thông thường ở chỗ nó thường sử dụng UDP làm giao thức truyền tải hơn là TCP TCP (Transmission Control Protocol) thiết lập các kết nối chuyên dụng giữa các thiết bị và đảm bảo rằng tất cả các packet đều được truyền đến đích UDP (User Datagram Protocol) không thiết lập các kết nối chuyên dụng này Nhómgiao thức này sử dụng UDP vì nó cho phép các IPsec packet vượt qua firewall
Giải mã: Ở đầu kia của giao tiếp, các packet được giải mã và các app hiện có thể sử dụng
dữ liệu được phân phối
3.4 Những giao thức IPSec và các thành phần hỗ trợ
Tiêu chuẩn IPSec chia thành một số giao thức cốt lõi và các thành phần hỗ trợ
3.4.1 Giao thức IPSec cốt lõi
- IPSec Authentication Header (AH): Giao thức này bảo vệ địa chỉ IP của các máy
tính tham gia vào quá trình trao đổi dữ liệu, để đảm bảo rằng các bit dữ liệu không bị mất, thay đổi hoặc bị hỏng trong quá trình truyền AH cũng xác minh rằng người gửi dữ liệu thực sự đã gửi nó, bảo vệ tunnel khỏi sự xâm nhập của những người dùng trái phép
- Encapsulating Security Payload (ESP): Giao thức ESP cung cấp phần mã hóa của
Trang 19dữ liệu/payload, xác thực payload và nguồn gốc của nó trong bộ giao thức IPSec Giao thức này xáo trộn lưu lượng truy cập Internet một cách hiệu quả, để bất kỳ ai nhìn vào tunnel cũng đều không thể thấy bất cứ gì trong đó.
ESP vừa mã hóa vừa xác thực dữ liệu, trong khi AH chỉ xác thực dữ liệu
Giao thức ESP và giao thức AH là hai giao thức chính trong việc mã hoá và xác thực dữ liệu
- ESP sử dụng IP Protocol number là 50 (ESP được đóng gói bởi giao thức IP và trường protocol trong IP là 50)
- AH sử dụng IP Protocol number là 51 ( AH được đóng gói bởi giao thức IP và trường protocol trong IP là 51)
Bộ giao thức IPSec hoạt động trên 2 mode chính : Tunnel Mode và Transports Mode
- Khi giao thức IPSec hoạt động ở Tunnel Mode thì sau khi đóng gói dữ liệu, giao thức ESP mã hoá toàn bộ Payload, frame Header, IP Header thì nó sẽ thêm một IP Header mớivào gói tin trước khi forward đi
- Khi giao thức IPSec hoạt động ở Transport Mode thì IP Header vẫn được giữ nguyên vàlúc này giao thức ESP sẽ chèn vào giữa Payload và IP Header của gói tin
Tổng quan về ESP Header và AH Header
- Trong trường hợp dùng giao thức ESP : thì giao thức này sẽ làm công việc mã hóa (encryption), xác thực (authentication), bảo đảm tính toàn vẹn dữ liệu ( integrity
protection) Sau khi đóng gói xong bằng ESP, mọi thông tin và mã hoá và giải mã sẽ nằmtrong ESP Header
- Các thuật toán mã hoá sử dụng trong giao thức như : DES, 3DES, AES
Trang 20- các thuật toán hash như : MD5 hoặc SHA-1
- Trong trường hợp dùng giao thức AH : thì AH chỉ làm công việc xác thực
(Authentication), và đảm bảo tính toàn vẹn dữ liệu Giao thức AH không có tính năng mãhoá dữ liệu
Authentication Header (AH)
- AH là một trong những giao thức bảo mật, cung cấp tính năng đảm bảo toàn vẹn packetheaders và data, xác thực nguồn gốc dữ liệu Nó có thể tuỳ chọn cung cấp dịch vụ replay protection và access protection AH không mã hoá bất kỳ phần nào của các gói tin Trongphiên bản đầu của IPSec, giao thức ESP chỉ có thể cung cấp mã hoá, không xác thực Do
đó, người ta kết hợp giao thức AH và ESP với nhau để cung cấp sự cẩn mật và đảm bảo toàn vẹn dữ liệu cho thông tin
a AH Mode
AH có hai mode : Transport và Tunnel
- Trong Tunnel mode, AH tạo 1 IP Header mới cho mỗi gói tin
- Trong Transport mode, AH không tạo IP Header mới
-Trong cấu trúc IPSec mà sử dụng gateway , địa chỉ thật của IP nguồn và đích của các gói tin phải thay đổi thành địa chỉ IP của gateway Vì trong Transport Mode không thay đổi IP Header nguồn hoặc tạo một IP Header mới, Transport Mode thường sử dụng trong cấu trúc host-to-host
AH cung cấp tính năng đảm bảo tính toàn vẹn cho toàn bộ gói tin, bất kỳ mode nào được
sử dụng
AH Tunnel Mode Packet
Trang 21a.AH xác thực và đảm bảo tính toàn vẹn dữ liệu
B1: AH sẽ đem gói dữ liệu (packet ) bao gồm : Payload + IP Header + Key cho chạy qua giải thuật Hash 1 chiều và cho ra 1 chuỗi số và chuỗi số này sẽ được gán vào AH
Header
B2: AH Header này sẽ được chèn vào giữa Payload và IP Header và chuyển sang phía
AH Transport Mode Packet
Trang 22-Next Header : Trường này dài 8 bits , chứa chỉ số giao thức IP Trong Tunnel Mode,
Payload là gói tin IP , giá trị Next Header được cài đặt là 4 Trong Transport Mode , Payload luôn là giao thức Transport-Layer Nếu giao thức lớp Transport là TCP thì trường giao thức trong IP là 6 Nếu giao thức lớp transport là UDP thì trường giao thức trong IP là 17
-Payload Length : Trường này chứa chiều dài của AH Header.
-Reserved : giá trị này được dành để sử dụng trong tương lai ( cho đến thời điểm này nó
được biểu thị bằng các chỉ số 0)
-Security parameter Index (SPI) : mỗi đầu cuối của mỗi kết nối IPSec tuỳ ý chọn giá trị
SPI Hoạt động này chỉ được dùng để nhận dạng cho kết nối Bên nhận sử dụng giá trị SPI cùng với địa chỉ IP đích và loại giao thức IPSec (trường hợp này là AH) để xác định chính sách SA được dùng cho gói tin (Có nghĩa là giao thức IPSec và các thuật toán nào được dùng để áp cho gói tin)
-Sequence Number : chỉ số này tăng lên 1 cho mỗi AH datagram khi một host gửi có
liên quan đến chính sách SA Giá trị bắt đầu của bộ đếm là 1 chuỗi số này không bao giờcho phép ghi đè lên là 0 vì khi host gửi yêu cầu kiểm tra mà nó không bị ghi đè và nó sẽ thoả thuận chính sách SA mới nếu SA này được thiết lập Host nhận sẽ dùng chuỗi số để phát hiện replayed datagrams Nếu kiểm tra bên phía host nhận, bên nhận có thể nói cho bên gửi biết rằng bên nhận không kiểm tra chuỗi số, nhưng đòi hỏi nó phải luôn có trong bên gửi để tăng và gửi chuỗi số
-Authentication Data: Trường này chứa kết quả của giá trị Integrity Check Value (ICV).
Trang 23Trường này luôn là bội của 32-bit (từ) và phải được đệm vào nếu chiều dài của ICV trongcác bytes chưa đầy.
Encapsulaton Secutity Payload (ESP)
ESP là giao thức bảo mật chính thứ hai Trong phiên bản đầu của IPSec , ESP chi cung cấp mã hoá cho packet payload data Khi cần, giao thức AH cung cấp dịch vụ đảm bảo toàn vẹn Trong phiên bản thứ hai của IPSec, ESP trở nên mềm dẻo hơn Nó có thể thực hiện xác thực để cung cấp dịch vụ đảm bảo toàn vẹn, mặc dù không hỗ trợ cho outermost
IP header Sự mã hoá của ESP có thể bị vô hiệu hoá qua thuật toán mã hoá Null ESP algorithm Do đó, ESP có thể cung cấp chỉ mã hoá; mã hoá và đảm bảo toàn vẹn dữ liệu; hoặc chỉ đảm bảo toàn vẹn dữ liệu
a ESP Mode
ESP có hai mode : Transport Mode và Tunnel Mode
Trong Tunnel Mode : ESP tạo một IP Header mới cho mỗi gói tin IP Header mới liệt kêt các đầu cuối của ESP Tunnel ( như hai IPSec gateway) nguồn và đích của gói tin Vì Tunnel mode có thể dùng với tất cả 3 mô hình cấu trúc VPN
ESP Tunnel Mode Packet
ESP Tunnel Mode được sử dụng thường xuyên nhanh hơn ESP Transport Mode
Trong Tunnel Mode, ESP dùng IP header gốc thay vì tạo một IP header mới
Trong Transport Mode, ESP có thể chỉ mã hoá và/hoặc bảo đảm tính toàn vẹn nội dung gói tin và một số các thành phần ESP, nhưng không có với IP header
Giao thức AH, ESP trong Transport mode thường sử dụng trong cấu trúc host-to-host Trong Transport mode không tương thích với NAT
Trang 24ESP Packet Fields
ESP thêm một header và Trailer vào xung quanh nội dung của mỗi gói tin ESP Header được cấu thành bởi hai trường : SPI và Sequence Number
-SPI (32 bits) : mỗi đầu cuỗi của mỗi kêt nối IPSec được tuỳ chọn giá trị SPI Phía nhận
sử dụng giá trị SPI với địa chỉ IP đích và giao thức IPSec để xác định chính sách SA duy nhất mà nó được áp cho gói tin
-Sequence Number : thưòng được dùng để cung cấp dịch vụ anti-replay Khi SA được thiết lập, chỉ số này được khởi đầu về 0 Trước khi mỗi gói tin được gửi, chỉ số này luôn tăng lên 1 và được đặt trong ESP header Để chắc chắn rằng sẽ không có gói tin nào được
Trang 25công nhận, thì chỉ số này không được phép ghi lên bằng 0 Ngay khi chỉ số 232-1 được
sử dụng , một SA mới và khóa xác thực được thiết lập
Phần kế tiếp của gói tin là Payload, nó được tạo bởi Payload data (được mã hoá) và IV không được mã hoá) Giá trị của IV trong suốt quá trình mã hoá là khác nhau trong mỗi gói tin
Phần thứ ba của gói tin là ESP Trailer, nó chứa ít nhất là hai trường
-Padding ( 0-255 bytes) : được thêm vào cho đủ kích thước của mỗi gói tin
-Pad length: chiều dài của Padding
-Next header : Trong Tunnel mode, Payload là gói tin IP, giá trị Next Header được cài đặt
là 4 cho IP-in-IP Trong Transport mode, Payload luôn là giao thức lớp 4 Nếu giao thức lớp 4 là TCP thì trường giao thức trong IP là 6, giao thức lớp 4 là UDP thì trường giao thức IP là 17 Mỗi ESP Trailer chứa một giá trị Next Header
-Authentication data : trường này chứa giá trị Integrity Check Value (ICV) cho gói tin ESP ICV được tính lên toàn bộ gói tin ESP công nhận cho trường dữ liệu xác thực của
nó ICV bắt đầu trên ranh giới 4-byte và phải là bội số của 32-bit (đơn vị từ)
3.4.2 Các thành phần hỗ trợ IPSec
- Security Associations (SA): Security Associations và các chính sách thiết lập những
thỏa thuận bảo mật khác nhau, được sử dụng trong trao đổi Các thỏa thuận này có thể xác định loại mã hóa và thuật toán hash sẽ được sử dụng Những chính sách này thường linh hoạt, cho phép các thiết bị quyết định cách chúng muốn xử lý mọi thứ
- Internet Key Exchange (IKE): Để mã hóa hoạt động, các máy tính liên quan đến việc
trao đổi thông tin liên lạc riêng tư cần phải chia sẻ key mã hóa IKE cho phép hai máy tính trao đổi và chia sẻ key mật mã một cách bảo mật khi thiết lập kết nối VPN
- Encryption and Hashing Algorithms: Key mật mã hoạt động bằng cách sử dụng giá
trị hash, được tạo bằng thuật toán hash AH và ESP rất chung chung, chúng không chỉ định một loại mã hóa cụ thể Tuy nhiên, IPsec thường sử dụng Message Digest 5 hoặc Secure Hash Algorithm 1 để mã hóa
- Bảo vệ chống lại các cuộc tấn công Replay Attack: IPSec cũng kết hợp các tiêu chuẩn
để ngăn việc replay (phát lại) bất kỳ gói dữ liệu nào, một phần của quá trình đăng nhập thành công Tiêu chuẩn này ngăn chặn tin tặc sử dụng thông tin được replay để tự sao chép thông tin đăng nhập
IPSec là một giải pháp giao thức VPN hoàn chỉnh và cũng có thể đóng vai trò như một giao thức mã hóa trong L2TP và IKEv2
3.4.2.1 Khái niệm IKE