Tải bản đầy đủ (.doc) (18 trang)

Đồ án an toàn và bảo mật mạng kỹ thuật mạng riêng ảo VPN

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (581.45 KB, 18 trang )

Đại Học Công Nghệ Thông Tin – ĐHQG TPHCM
Khoa mạng máy tính và truyền thông
 . 
Đề tài:
Giáo Viên Hướng Dẫn: Võ Văn Khang
Thành Phố Hồ Chí Minh
Mục Lục
Mục Lục 2
II. Giới thiệu 3
III. PPTP và L2TP 6
IV. IP SEC 9
V. SSL 15
I.
2
II. Giới thiệu
Trong thời đại ngày nay, Internet đã phát triển mạnh về mặt mô hình cho đến công nghệ. Với
Internet, những dịch vụ như giáo dục từ xa, mua hàng trực tuyến tư vấn y tế, và rất nhiều điều
khác đã trở thành hiện thực. Tuy nhiên, do Internet có phạm vi toàn cầu và không một tổ chức
chính phủ cụ thể nào quản lý nên rất khó khăn trong việc bảo mật và an toàn dữ liệu cũng như
trong việc quản lý các dịch vụ. Từ đó người ta đã đưa ra một mô hình mạng mới nhằm thỏa
mãn những yêu cầu trên mà vẫn có thể tận dụng lại những cơ sở hạ tầng hiện có của Internet,
đó chính là mô hình mạng riêng ảo (Virtual Private Network - VPN). Với mô hình mơi này
người ta không phải đầu tư thêm nhiều về cơ sở hạ tầng mà các tính năng như bảo mặt, độ tin
cậy vẫn đảm bảo.
1. VPN là gì?
VPN cho phép người sử dụng làm việc tại nhà, trên đường đi hay các văn phòng chi nhánh có
thể kết nối an toàn đến máy chủ của tổ chức mình bằng cơ sở hạ tầng được cung cấp bởi mạng
công cộng. VPN được hiểu đơn giản như là sử dụng các kết nối ảo thông qua các mạng công
cộng để kết nối cùng với các site (LAN) hay nhiều người sử dụng từ xa. Để có thể thực hiện
chức năng bảo mật, dữ liệu được mã hóa cẩn thận. Do đó nếu gói tin bị bắt lại trên đường
truyền thì hacker cũng không đọc được nội dung vì không có khóa giãi mã.


2. Cơ chế làm việc:
Dữ liệu khi được chuyển từ máy này sang máy khác theo cơ chế VPN sẽ có phần mềm hoặc
thiết bị tương ứng đóng gói dữ liệu này. Có 2 cách đóng gói dữ liệu:
• Transport mode
• Tunnel node
Transport mode
Trong chế độ này, dữ liệu layer 4 sẽ
được mã hóa trước khi đóng gói ip.
Trường hợp kẻ tấn công bắt được gói
tin, hắn sẽ biết được địa chỉ ip nguồn
3
và đich, tuy nhiên nếu bạn sử dụng một trong những cơ chế mã hóa của VPN, kẻ tấn công
không thể giải mã được gói tin đó.
Tunnel mode:
Một trong những hạn chế của transport là nó chỉ kết nối dựa trên thiết bị - thiết bị. Giả sử,
LAN 1 có 10 máy tính cần kết nối tới LAN 2 có 10 máy. Khi đó, mỗi máy tính sẽ cần 10 kết
nối tới 10 máy ở mạng kia, mỗi LAN sẽ cần 100 kết nối, 2 LAN sẽ là 200 kết nối. Đây là một
sụ lãng phi tài nguyên.
Thay vì thế, chúng ta sử dụng
Tunnel mode. Trong tunnel
mode, thiết bị nguồn và đích
sẽ không chịu trách nhiệm
bảo vệ gói tin. Trách nhiệm
này sẽ được chuyển cho VPN
Gateway. Gói IP cũ sẽ được
đóng gói vào 1 gói IP khác.
Địa chỉ IP cũ sẽ được mã
hóa, gói địa chỉ IP mới là địa
chỉ của VPNGateway của
LAN kia.

Kỹ thuật Tunneling yêu cầu 3 giao thức khác nhau:
- Giao thức truyền tải (Carrier Protocol) là giao thức được sử dụng bởi mạng có thông tin
đang đi qua.
- Giao thức mã hóa dữ liệu (Encapsulating Protocol) là giao thức (như GRE, IPSec, L2F,
PPTP, L2TP) được bọc quanh gói dữ liệu gốc.
- Giao thức gói tin (Passenger Protocol) là giao thức của dữ liệu gốc được truyền đi (như IPX,
NetBeui, IP).
3. Các loại VPN
Có 4 loại chính:
• Site-to-Site VPNs
• Remote Access VPNs
• Firewall VPNs
• User-to-User VPNs
Site-to-Site VPNs
Một Site-to-Site sử dụng kiểu kết nối tunnel mode giữa các VPN gateways để bảo vệ traffic
giữa hai hay nhiều nơi. Kết nối site-to-site được dùng phổ biến như là các kết nối Lan-to-
Lan(L2L). Với L2L VPNs, một thiết bị trung tâm ở mỗi vị trí sẽ cung cấp việc bảo vệ traffic
giữa các nơi. Theo đó, trong tiến trình bảo vệ này, transport network sẽ ở giữa hai VPN
gateway, là transparent của thiết bị end-user ở hai nơi.
Remote Access VPNs
4
Remote access VPNs được sử dụng cho bandwith thấp hoặc là các kết nối băng rộng giữa một
thiết bị single- user, ví dụ như PC hay small-office-home-office(SOHO), một client phần
cứng(a Cisco VPN 3002 hardware client, small-end PIX appliance or small-end IOS-based
router), và một VPN gate way. Remote access VPNs sử dụng kết nối tunnel mode . Với
remote access, traffic sẽ được bảo vệ từ thiết bị source tới thiết bị trung gian, nơi xác thực
thông tin bảo vệ (giải mã nếu nó được mã hóa). Thiết bị đích sẽ nhận được thông tin không
bảo mật. Vì thế mà tunnel mode được sử dụng.
Với remote access, VPN endpoints, hoặc client mà kết nối với VPN gateway sẽ cần 2 địa chỉ
IP: một cho NIC của nó và một cho địa chỉ nội bộ, cái mà thỉnh thoảng được coi như địa chỉ

ảo hoặc một phần của địa chỉ logic.
Hình 1.6 mô tả về Remote access VPN. Trong ví dụ này, một cable modem user từ home sử
dụng 1 PC kết nối tới corporate office thông qua một VPN gateway. ISP sử dụng DHCP để
gán địa chỉ IP cho NIC của PC home.Một địa chỉ thứ hai dược dùng để giao tiếp với thiết bị ở
corporate office cấn được bảo vệ, nó chính là địa chỉ nội bộ(internal).
Firewall VPNs
Firewall được hiểu là một L2L hoặc là remote access được tăng cường với phần thêm security
và chức năng firewall.Firewall VPNs được sử dụng khi một nơi của kết nối VPN cần được
tăng cường về security và chức năng firewall dựa tern hệ thống an ninh của công ti đó, và họ
tự giải quyết vấn đề security của họ.
Một vài loại firewall VPNs:
• Stateful filtering
• Application layer filtering
• Advanced address translation policies
• Addressing issues with problematic protocols such as multimedia and voice
User-to - User VPNs
Một User-to -User cơ bản là môt tranport mode VPN kết nối giữa hai thiết bị.Hai thiết bị này
có thể là một PIX appliance và một syslog server, một router và một TFTP server.Một user sử
dụng telnet để truy cập vào một router Cisco,hoặc có thể dùng thiết lập kết nối đôi khác…
5
III. PPTP và L2TP
1. PPTP:
Giao thức quay số truy cập vào Internet phổ
biến nhất là giao thức điểm điểm PPP. PPTP
được xay dựng dựa trên chức năng của PPP,
cung cấp khả năng quay số truy cập tạo ra một
đường hầm bảo mật thông qua Internet đến
site đích, PPTP sử dụng giao thức bọc gói
định tuyến chung GRE được mô tả lại để đóng
và tách gói PPP.

Giao thức này cho phép PPTP mềm dẻo xử lý
các giao thức khác không phải IP như IPX,
NETBEUI chẳng hạn.
Bởi vì PPTP dựa trên PPP nên nó dựa vào cơ
chế xác thực của PPP có tên là PAP và CHAP.
PPTP có thể sử dụng PPP để mã hóa dữ liệu nhưng Microsoft đã đưa ra một phương thức mã
hóa khác mạnh hơn đó là mã hóa điểm điểm MPPE (Microsoft Point to Point Encrytion) để sử
dụng cho PPTP.
Ưu điểm của PPTP là được thiết kế để hoạt động ở lớp thứ 2 trong khi IPSec chạy ở lớp 3.
Bằng cách hỗ trợ việc truyền dữ liệu ở lớp thứ 2, PPTP có thể truyền trong đường hầm bắng
các giao thức khác IP trong khi IPSec chỉ có thể truyền các gói IP trong đường hầm.
PPTP dựa trên PPP để tạo ra kết nối quay số giữa khách hàng và máy chủ truy cập mạng.
PPTP sử dụng PPP để thực thi các chức năng:
Thiết lập và kết thúc kết nối vật lý
Xác thực người dùng
Tạo ra gói dữ liệu PPP
Sau khi PPP thiết lặp kết nối, PPTP sử dụng các quy luật đóng gói của PPP để đóng gói các
gói truyền trong đường hầm
Để tận dụng ưu điểm của kết nối tao ra bởi PPP, PPTP định nghĩa 2 loại gói: gói điểu khiển và
gói dữ liệu và gán chúng vào 2 kênh riêng. Sau đó PPTP phân tách các kênh điều khiển và
kênh dữ liệu thành luồng điều khiển với các giao thức TCP và luồng dữ liệu với giao thức
TIP. Kết nối TCP được tạo giữa client PPTP và máy chủ PPTP được sử dụng để chuyền thông
báo điều khiển.
Các gói dữ liệu là dư liệu thông thường của người dùng. Các gói điều khiển được gửi đi theo
chu kỳ để lấy thông tin về trạng thái kết nối và quản lý báo hiệu giữa client PTP và máy chủ
mạng. Các gói điều khiển cũng được dùng để gửi các thông tin quản lý thiết bị, thông tin cấu
hình giữa 2 đâu đường hầm.
Kênh điều khiển được yêu cầu cho việc thiết lập một đường hầm giữa client PTP và máy chủ
PPTP. Phần mềm client có thể nằm ở máy người dùng từ xa hay nằm ở tại máy chủ của IPS
6

Sau khi đường hầm được thiết lập thì dư liệu người dùng được truyền từ client đến máy chủ
PPTP. Các gói PPTP chứa các gói dữ liệu IP. Gói dữ liệu IP được đóng gói bởi tiêu đề GRE,
sử dụng số ID của hót cho điều khiển truy cập, ACK cho giám sát tốc độ dữ liệu truyền trong
đường hầm.
2. L2TP:
Giao thức định đường hầm lớp 2 L2TP là sự kết hợp giữa 2 giao thức đó là PPTP và chuyến
tiếp lớp 2 – L2F. PPTP do Microsoft đưa ra còn L2F do Cisco khởi xướng. Hai công ty này đã
hợp tác cùng kết hợp 2 giao thức lại và đăng ký chuẩn hóa tại IEFT.
Giống như PPTP, L2F là giao thức đường hầm, nó sử dụng tiêu đê đóng gói riêng cho việc
truyền các gói ở lớp 2. Một điểm khác biệt chính giữa L2F và PPTP là L2F không phụ thuộc
vào IP và GRE, cho phép nó có thể làm việc ở môi trường vật lý khác. Bởi vì GRE không sử
dụng như giao thức đóng gói, nên L2F định nghĩa riêng cách thức các gói được điều khiển
trong môi trường khác. Tương tự như PPTP, L2F tận dụng PPP để xác thực người dùng quay
số truy cập. Nhưng nó cũng hỗ trợ TACACS+ và RADIUS cho việc xác thực. Có 2 mức xác
thực người dùng: đầu tieen ở ISP trước khi thiết lập đường hầm, sau đó là ở cổng nối của
mạng riêng sau khi kết nối được thiết lập.
L2TP mang các đặc tính của PPTP va L2F. Tuy nhiên L2TP định nghĩa riêng một giao thức
đường hầm dữa trên hoạt động của L2F. Nó cho phép L2TP truyền thông qua nhiều môi
trường gói khác nhau như X25, FrameRelay, ATM. Mặc dù nhiều công cụ chủ yếu của L2TP
tập trung cho UDP của mạng IP, nhưng có thể thiết lập một hệ thống L2TP mà không cần
phải sử dụng IP làm giao thức đường hầm. Một mạng ATM hay Frame Relay có thể áp dụng
cho đường hầm L2TP
Do L2TP là giao thưc ở lớp 2 nên nó cho phép người dùng sử dụng các giao thức điều khiển
một cách mềm dẻo khong chỉ là IP mà có thể là IPX hoặc NetBEUI. Cũng giống như PPTP,
L2TP cũng có cơ chế xác thực PAP, CHAP hay RADIUS.
Mặc dù Microsoft đã làm cho PPTP trở nên cách chọn lựa phổ biến khi xây dựng VPN bằng
cách hỗ trợ giao thức này săn trong hệ điều hành Win.
7
Những phần chính của L2TP bao gồm: giao thức điểm – điểm, đường hầm và hệ thống xác
thực. Tuy nhiên để tăng độ bảo mật thì L2TP cũng sử dụng quản lý khóa giống như IPSec.

Hình trên mô tả kiến trúc của L2TP.
8
IV. IP SEC
1. Định nghĩa:
• IPSec (Internet Protocol Security) là giao thức mạng về bảo mật và thường được liên kết
với VPN (tất nhiên có thể dùng IPsec ở trong mạng cục bộ LAN). IPSec cho phép việc
truyền tải dữ liệu được mã hóa an toàn ở lớp mạng (Network Layer) theo mô hình OSI
thông qua mạng công cộng như Internet.
• IPsec (IP security) bao gồm một hệ thống các giao thức để bảo mật quá trình truyền thông
tin trên nền tảng Internet Protocol (IP). Bao gồm xác thực và/hoặc mã hoá (Authenticating
and/or Encrypting) cho mỗi gói IP (IP packet) trong quá trình truyền thông tin. IPsec cũng
bao gồm những giao thức cung cấp cho mã hoá và xác thực
• Giao thức IPsec được làm việc tại tầng Network Layer – layer 3 của mô hình OSI
2. IPSEC làm việc thế nào?
• Giả sử chúng ta có 2 Computer : Computer A và Computer B, IPSEC policy đã được cấu
hình trên 2 computer này. Sau khi được cấu hình IPSEC policy sẽ báo cho IPSEC driver
cách làm thế nào để vận hành và xác định các liên kết bảo mật giữa 2 computer khi nối kết
được thiết lập. Các liên kết bảo mật ảnh hưởng đến những giao thức mã hóa sẽ được sử
dụng cho những loại thông tin giao tiếp nào và những phương thức xác thực nào sẽ được
đem ra thương lượng.
• Liên kết bảo mật mang tính chất thương lượng. Internet Key Exchange – IKE, sẽ có trách
nhiệm thương lượng để tạo liên kết bảo mật. IKE kết hợp từ 2 giao thức: Internet Security
Association and Key Management Protocol (ISAKMP) và Oakley Key Determination
Protocol. Nếu Computer A yêu cầu xác thực thông qua Certificate và Computer B yêu cầu
dùng giao thức Kerberos, thì IKE sẽ không thể thiết lập liên kết bảo mật giữa 2 Computer.
Nếu dùng Network Monitor để theo dõi IPSEC hoạt động, sẽ không thấy được bất cứ AH
hoặc ESP packet nào, vì giao tiếp IPSEC chưa được thiết lập, có lẽ chúng ta chỉ quan sát
được các ISAKMP packets.
• Nếu như liên kết bảo mật được thiết lập giửa 2 computer IPSEC driver sẽ quan sát tất cả
IP traffic, so sánh các traffic đã được định nghĩa trong các Filter, nếu có hướng đi tiếp các

traffic này sẽ được mã hóa hoặc xác nhận số.
3. Lợi ích của IPSEC:
Thuận lợi chính khi dùng IPSEC, là cung cấp được giải pháp mã hóa cho tất cả các giao thức
hoạt động tại lớp 3 – Network Layer (OSI model), và kể cả các giao thức lớp cao hơn. IPSEC
có khả năng cung cấp:
• Chứng thực 2 chiều trước và trong suốt quá trình giao tiếp. IPSEC quy định cho cả 2
bên tham gia giao tiếp phải xác định chính mình trong suốt quy trình giao tiếp.
Tạo sự tin cậy qua việc mã hóa, và xác nhận số các Packet. IPSEC có 2 chẽ độ
Encapsulating Security Payload (ESP) cung cấp cơ chế mã hóa dùng nhiều thuật toán
khác nhau, và Authentication Header (AH) xác nhận các thông tin chuyển giao, nhưng
không mã hóa.
• Tich hợp các thông tin chuyển giao và sẽ loại ngay bất kì thông tin nào bị chỉnh sửa.
Cả hai loại ESP và AH đều kiểm tra tính tích hợp của các thông tin chuyển giao. Nếu
9
một gói tin đã chỉnh sửa, thì các xác nhận số sẽ không trùng khớp, kết quả gói tin sẽ bị
loại. ESP cũng mã hóa địa chỉ nguồn và địa chỉ đích như một phần của việc mã hóa
thông tin chuyển giao.
• Chống lại các cuộc tấn công Replay (thông tin chuyển giao qua mạng sẽ bị attacker
chặn, chỉnh sữa, và được gửi đi sau đó đến đúng địa chỉ người nhận, người nhận
không hề hay biết và vẫn tin rằng đấy là thông tin hợp pháp. IPSEC dùng kĩ thuật đánh
số liên tiếp cho các Packet Data của mình (Sequence numbers), nhằm làm cho attacker
không thể sử dụng lại các dữ liệu đã chặn được, với ý đồ bất hợp pháp. Dùng
Sequence numbers còn giúp bảo vệ chống việc chặn và đánh cắp dữ liệu, sau đó dùng
những thông tin lấy được để truy cập hợp pháp vào một ngày nào đó.
4. Giao thức bảo mật trong IPSEC:
a) Authentication Header (AH)
AH được sử dụng trong các kết nối không có tính đảm bảo dữ liệu. Hơn nữa nó là lựa chọn
nhằm chống lại các tấn công replay attack bằng cách sử dụng công nghệ tấn công sliding
windows và discarding older packets. AH bảo vệ quá trình truyền dữ liệu khi sử dụng IP.
Trong IPv4, IP header có bao gồm TOS, Flags, Fragment Offset, TTL, và Header Checksum.

AH thực hiện trực tiếp trong phần đầu tiên của gói tin IP.AH mang số hiệu 51.
Dưới đây là mô hình của AH header.
0 - 7 bit 8 - 15 bit 16 - 23 bit 24 - 31 bit
Next header Payload length RESERVED
Security parameters index (SPI)
Sequence number
Authentication data (variable)
Ý nghĩa của từng phần:
• Next header : Nhận dạng giao thức trong sử dụng truyền thông tin.
• Payload length : Độ lớn của gói tin AH.
• RESERVED: Sử dụng trong tương lai (cho tới thời điểm này nó được biểu diễn bằng
các số 0).
• Security parameters index (SPI): Nhận ra các thông số bảo mật, được tích hợp với địa
chỉ IP, và nhận dạng các thương lượng bảo mật được kết hợp với gói tin.
• Sequence number: Một số tự động tăng lên mỗi gói tin, sử dụng nhằm chống lại tấn
công dạng replay attacks.
• Authentication data :Bao gồm thông số Integrity check value (ICV) cần thiết trong gói
tin xác thực.
b) Encapsulating Security Payload (ESP)
10
Giao thức ESP cung cấp xác thực, độ toàn vẹn, đảm bảo tính bảo mật cho gói tin. ESP cũng
hỗ trợ tính năng cấu hình sử dụng trong tính huống chỉ cần bảo mã hoá và chỉ cần cho
authentication, nhưng sử dụng mã hoá mà không yêu cầu xác thực không đảm bảo tính bảo
mật. Không như AH, header của gói tin IP, bao gồm các option khác. ESP thực hiện trên top
IP sử dụng giao thức IP và mang số hiệu 50.
0 - 7 bit 8 - 15 bit 16 - 23 bit 24 - 31 bit
Security parameters index (SPI)
Sequence number
Payload data (variable)
Padding (0-255 bytes)

Pad Length Next Header
Authentication Data (variable)
Ý nghĩa của các phần:
• Security parameters index (SPI): Nhận ra các thông số được tích hợp với địa chỉ IP.
• Sequence number: Tự động tăng có tác dụng chống tấn công kiểu replay attacks.
• Payload data :Cho dữ liệu truyền đi
• Padding :Sử dụng vài block mã hoá
• Pad length :Độ lớn của padding.
• Next header :Nhận ra giao thức được sử dụng trong quá trình truyền thông tin.
• Authentication data :Bao gồm dữ liệu để xác thực cho gói tin.
Bảng so sánh giữa giao thức AH và ESP
5. Các mode chính của giao thức IPSec:
11
a) Transport Mode :
-Transport mode bảo vệ giao thức tầng trên và các ứng dụng. 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.
-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.
Figure 3-13: IPSec Transport-mode – a generic representation
Transport mode được dùng để bảo mật kết nối giữa hai host:
hoạt động của ESP trong Transport mode được sử dụng để bảo vệ thông tin giữa hai host cố
định. Bảo vệ các giao thức lớp trên của IP datagram.
Figure 3-14: Transport Mode Tunnel
Trong Transport Mode, AH header được chèn vào trong IP datagram sau IP header và các tuỳ
chọn.
Figure 3-15: Transport Mode Packet
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.
12
b) Tunnel mode:

Figure 3-16: A Tunne Mode – AH Tunnel
Figure 3-17 : An ESP Tunnel – Mode VPN
Không giống như 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 .
13
Figure 3-18: IPSec Tunnel Mode – a generic representation
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ộ gói IP sẽ được mã hoá và trở thành dữ liệu mới của gói
IP mới. Chế độ này cho phép các 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à truyề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ới tunnel hoạt động giữa hai security gateway, địa chỉ nguồn và đích có thể được mã hóa. Ví
dụ : Luồng gói tin được gởi từ host A2 đến host B3:
Figure 3-19: Packet Flow from Host A2 to Host B3
Giả sử rằng host A2 gửi TCP segment đến host B3. IP datagram rời khỏi host A2 đi đến host
B3. khi IP datagram rời khỏi host A2, nó có địa chỉ nguồn là 10.0.1.2 và địa chỉ đích là
10.0.2.3. Trường giao thức trong IP header là 6 (chỉ rằng giao thức lớp dưới là TCP). Host A2
có default route đến GWA hoặc định tuyến đến mạng 10.0.2.0/24 với GWA là next hop, thì
datagram được định tuyến đến GWA.
Khi datagram đến GWA, gateway kiểm tra SPD của nó và thông báo nó chỉ rõ chính sách để
bất kỳ datagram từ mạng 10.0.1.0/24 đến mạng 10.0.2.0/24 nên được đóng gói với mode-
tunnel ESP và gửi đến GWB tại 2.2.2.2. Sau khi GWA đóng gói IP datagram, IP header bên
ngoài có địa chỉ nguồn 1.1.1.1 (GWA) và địa chỉ đích 2.2.2.2 (GWB). trường giao thức của IP
header bên ngoài là 50 (để chỉ rõ giao thức ESP được dùng). Trường giao thức của gói tin
ESP là 4 (để chỉ ra gói tin ESP đang đóng gói IP datagram). Và IP header bên trong không
thay đổi.
Khi đóng gói IP datagram đến tại GWB, gateway thấy rằng nó chứa gói tin ESP và xác thực
lại và key mã hoá từ SA thích hợp, thực hiện kiểm tra xác thực và giải mã ESP Payload. IP

header bên ngoài, ESP header và Trailer, và ICV đã được tách ra khỏi, và IP datagram bên
trong được forward đến đích của nó (10.0.2.3).
14
V. SSL
1. SSL là gì?
Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet đi qua rất nhiều
các hệ thống độc lập mà không có bất kỳ sự bảo vệ nào với các thông tin trên đường truyền.
Không một ai kể cả người sử dụng lẫn Web server có bất kỳ sự kiểm soát nào đối với đường
đi của dữ liệu hay có thể kiểm soát được liệu có ai đó thâm nhập vào thông tin trên đường
truyền. Để bảo vệ những thông tin mật trên mạng Internet hay bất kỳ mạng TCP/IP nào, SSL
đã kết hợp những yếu tố sau để thiết lập được một giao dịch an toàn:
• Xác thực: đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia của kết nối.
Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác thực của người sử dụng.
• Mã hoá: đảm bảo thông tin không thể bị truy cập bởi đối tượng thứ ba. Để loại trừ
việc nghe trộm những thông tin “ nhạy cảm” khi nó được truyền qua Internet, dữ liệu
phải được mã hoá để không thể bị đọc được bởi những người khác ngoài người gửi và
người nhận.
• Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch và nó phải thể hiện chính xác
thông tin gốc gửi đến.
Với việc sử dụng SSL, các Web site có thể cung cấp khả năng bảo mật thông tin, xác thực và
toàn vẹn dữ liệu đến người dùng. SSL được tích hợp sẵn vào các browser và Web server, cho
phép người sử dụng làm việc với các trang Web ở chế độ an toàn. Khi Web browser sử dụng
kết nối SSL tới server, biểu tượng ổ khóa sẽ xuất hiện trên thanh trạng thái của cửa sổ browser
và dòng “http” trong hộp nhập địa chỉ URL sẽ đổi thành “https”. Một phiên giao dịch HTTPS
sử dụng cổng 443 thay vì sử dụng cổng 80 như dùng cho HTTP.
2. Giao thức SSL
Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer (SSL) đã được sử
dụng rộng rãi trên World Wide Web trong việc xác thực và mã hoá thông tin giữa client và
server. Tổ chức IETF (Internet Engineering Task Force ) đã chuẩn hoá SSL và đặt lại tên là
TLS (Transport Layer Security). Mặc dù là có sự thay đổi về tên nhưng TSL chỉ là một phiên

bản mới của SSL. Phiên bản TSL 1.0 tương đương với phiên bản SSL 3.1. Tuy nhiên SSL là
thuật ngữ được sử dụng rộng rãi hơn.
SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ cho rất nhiều
ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức ứng dụng tầng
cao hơn như là HTTP (Hyper Text Transport Protocol), IMAP ( Internet Messaging Access
Protocol) và FTP (File Transport Protocol). Trong khi SSL có thể sử dụng để hỗ trợ các giao
dịch an toàn cho rất nhiều ứng dụng khác nhau trên Internet, thì hiện nay SSL được sử dụng
chính cho các giao dịch trên Web.
SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được chuẩn hoá để thực
hiện các nhiệm vụ bảo mật sau:
• Xác thực server: Cho phép người sử dụng xác thực được server muốn kết nối. Lúc
này, phía browser sử dụng các kỹ thuật mã hoá công khai để chắc chắn rằng certificate
và public ID của server là có giá trị và được cấp phát bởi một CA (certificate
authority) trong danh sách các CA đáng tin cậy của client. Điều này rất quan trọng đối
với người dùng. Ví dụ như khi gửi mã số credit card qua mạng thì người dùng thực sự
15
muốn kiểm tra liệu server sẽ nhận thông tin này có đúng là server mà họ định gửi đến
không.
• Xác thực Client: Cho phép phía server xác thực được người sử dụng muốn kết nối.
Phía server cũng sử dụng các kỹ thuật mã hoá công khai để kiểm tra xem certificate và
public ID của server có giá trị hay không và được cấp phát bởi một CA (certificate
authority) trong danh sách các CA đáng tin cậy của server không. Điều này rất quan
trọng đối với các nhà cung cấp. Ví dụ như khi một ngân hàng định gửi các thông tin
tài chính mang tính bảo mật tới khách hàng thì họ rất muốn kiểm tra định danh của
người nhận.
• Mã hoá kết nối: Tất cả các thông tin trao đổi giữa client và server được mã hoá trên
đường truyền nhằm nâng cao khả năng bảo mật. Điều này rất quan trọng đối với cả hai
bên khi có các giao dịch mang tính riêng tư. Ngoài ra, tất cả các dữ liệu được gửi đi
trên một kết nối SSL đã được mã hoá còn được bảo vệ nhờ cơ chế tự động phát hiện
các xáo trộn, thay đổi trong dữ liệu. ( đó là các thuật toán băm – hash algorithm).

Giao thức SSL bao gồm 2 giao thức con: giao thức SSL record và giao thức SSL handshake.
Giao thức SSL record xác định các định dạng dùng để truyền dữ liệu. Giao thức SSL
handshake (gọi là giao thức bắt tay) sẽ sử dụng SSL record protocol để trao đổi một số thông
tin giữa server và client vào lấn đầu tiên thiết lập kết nối SSL.
3. Các thuật toán mã hoá dùng trong SSL
Các thuật toán mã hoá (cryptographic algorithm hay còn gọi là cipher) là các hàm toán học
được sử dụng để mã hoá và giải mã thông tin. Giao thức SSL hỗ trợ rất nhiều các thuật toán
mã hoá, được sử dụng để thực hiện các công việc trong quá trình xác thực server và client,
truyền tải các certificates và thiết lập các khoá của từng phiên giao dịch (sesion key). Client
và server có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau tuỳ thuộc vào nhiều yếu tố như
phiên bản SSL đang dùng, chính sách của công ty về độ dài khoá mà họ cảm thấy chấp nhận
được - điều này liên quan đến mức độ bảo mật của thông tin, ….
Các bộ mật mã được trình bày ở phần sau sẽ đề cập đến các thuật toán sau:
• DES (Data Encryption Standard) là một thuật toán mã hoá có chiều dài khoá là 56 bit.
• 3-DES (Triple-DES): là thuật toán mã hoá có độ dài khoá gấp 3 lần độ dài khoá trong
mã hoá DES
• DSA (Digital Signature Algorithm): là một phần trong chuẩn về xác thực số đang được
được chính phủ Mỹ sử dụng.
• KEA (Key Exchange Algorithm) là một thuật toán trao đổi khoá đang được chính phủ
Mỹ sử dụng.
• MD5 (Message Digest algorithm) được phát thiển bởi Rivest.
• RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác thực và mã hoá dữ liệu
được Rivest, Shamir, and Adleman phát triển.
• RSA key exchange: là thuật toán trao đổi khoá dùng trong SSL dựa trên thuật toán
RSA.
• RC2 and RC4: là các thuật toán mã hoá được phát triển bởi Rivest dùng cho RSA Data
Security.
16
• SHA-1 (Secure Hash Algorithm): là một thuật toán băm đang được chính phủ Mỹ sử
dụng.

Các thuật toán trao đổi khoá như KEA, RSA key exchange được sử dụng để 2 bên client và
server xác lập khoá đối xứng mà họ sẽ sử dụng trong suốt phiên giao dịch SSL. Và thuật toán
được sử dụng phổ biến là RSA key exchange.
Các phiên bản SSL 2.0 và SSL 3.0 hỗ trợ cho hầu hết các bộ mã hoá. Người quản trị có thể
tuỳ chọn bộ mã hoá sẽ dùng cho cả client và server. Khi một client và server trao đổi thông tin
trong giai đoạn bắt tay (handshake), họ sẽ xác định bộ mã hoá mạnh nhất có thể và sử dụng
chúng trong phiên giao dịch SSL.
4. Các bộ mã hoá sử dụng thuật toán trao đổi khoá RSA
Đây là danh sách các bộ mã hoá được hỗ trợ trong SSL mà sử dụng thuật toán trao đổi khoá
RSA và được liệt kê theo khả năng bảo mật từ mạnh đến yếu.
Mạnh nhất
• Thuật toán mã hoá 3- DES, thuật toán xác thực SHA-1
Mạnh
• Thuật toán mã hoá RC4 (với độ dài khoá 128 bit), thuật toán xác thực MD5
• Thuật toán mã hoá RC2 (với độ dài khoá 128 bit), thuật toán xác thực MD5
• Thuật toán mã hoá DES (với độ dài khoá 56 bit), thuật toán xác thực SHA –1
Tương đối mạnh
• Thuật toán mã hoá RC4 (với độ dài khoá 40 bit), thuật toán xác thực MD5
• Thuật toán mã hoá RC2 (với độ dài khoá 40 bit), thuật toán xác thực MD5
Yếu nhất
• Không mã hoá thông tin, chi dùng thuật toán xác thực MD5
Chú ý: Khi nói các thuật toán mã hoá RC4 và RC2 có độ dài khoá mã hoá là 40 bit thì thực
chất độ dài khoá vẫn là 128 bit nhưng chỉ có 40 bit được dùng để mã hoá.
5. SSL handshake
Giao thức SSL sử dụng kết hợp 2 loại mã hoá đối xứng và công khai. Sử dụng mã hoá đối
xứng nhanh hơn rất nhiều so với mã hoá công khai khi truyền dữ liệu, nhưng mã hoá công
khai lại là giải pháp tốt nhất trong qúa trình xác thực. Một giao dịch SSL thường bắt đầu bởi
quá trình “bắt tay” giữa hai bên (SSL handshake). Các bước trong quá trình “bắt tay” có thể
tóm tắt như sau:
1. Client sẽ gửi cho server số phiên bản SSL đang dùng, các tham số của thuật toán mã hoá,

dữ liệu được tạo ra ngẫu nhiên (đó chính là digital signature) và một số thông tin khác mà
server cần để thiết lập kết nối với client.
2. Server gửi cho client số phiên bản SSL đang dùng, các tham số của thuật toán mã hoá, dữ
liệu được tạo ra ngẫu nhiên và một số thông tin khác mà client cần để thiết lập kết nối với
server. Ngoài ra server cũng gửi certificate của nó đến client, và yêu cầu certificate của
client nếu cần.
17
3. Client sử dụng một số thông tin mà server gửi đến để xác thực server. Nếu như server
không được xác thực thì người sử dụng sẽ được cảnh báo và kết nối không được thiết lập.
Còn nếu như xác thực được server thì phía client sẽ thực hiện tiếp bước 4.
4. Sử dụng tất cả các thông tin được tạo ra trong giai đoạn bắt tay ở trên, client (cùng với sự
cộng tác của server và phụ thuộc vào thuật toán được sử dụng) sẽ tạo ra premaster secret
cho phiên làm việc, mã hoá bằng khoá công khai (public key) mà server gửi đến trong
certificate ở bước 2, và gửi đến server.
5. Nếu server có yêu cầu xác thực client, thì phía client sẽ đánh dấu vào phần thông tin riêng
chỉ liên quan đến quá trình “bắt tay” này mà hai bên đều biết. Trong trường hợp này,
client sẽ gửi cả thông tin được đánh dấu và certificate của mình cùng với premaster secret
đã được mã hoá tới server.
6. Server sẽ xác thực client. Trường hợp client không được xác thực, phiên làm việc sẽ bị
ngắt. Còn nếu client được xác thực thành công, server sẽ sử dụng khoá bí mật (private
key) để giải mã premaster secret, sau đó thực hiện một số bước để tạo ra master secret.
7. Client và server sẽ sử dụng master secret để tạo ra các session key, đó chính là các khoá
đối xứng được sử dụng để mã hoá và giải mã các thông tin trong phiên làm việc và kiểm
tra tính toàn vẹn dữ liệu.
8. Client sẽ gửi một lời nhắn đến server thông báo rằng các message tiếp theo sẽ được mã
hoá bằng session key. Sau đó nó gửi một lời nhắn đã được mã hoá để thông báo rằng phía
client đã kết thúc giai đoạn “bắt tay”.
9. Server cũng gửi một lời nhắn đến client thông báo rằng các message tiếp theo sẽ được mã
hoá bằng session key. Sau đó nó gửi một lời nhắn đã được mã hoá để thông báo rằng
server đã kết thúc giai đoạn “bắt tay”.

10. Lúc này giai đoạn “bắt tay” đã hoàn thành, và phiên làm việc SSL bắt đầu. Cả hai phía
client và server sẽ sử dụng các session key để mã hoá và giải mã thông tin trao đổi giữa
hai bên, và kiểm tra tính toàn vẹn dữ liệu
18

×