CÁC TỪ VIẾT TẮTACL Access Control List - Danh sách kiểm soát truy nhập AES Advanced Encryption Standard - Chuẩn mã hoá dữ liệu tiên tiến AS Authentication Server – Máy chủ xác thực CA Ce
Trang 1BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ
Trang 2MỞ ĐẦU
Giáo trình này cung cấp các kiến thức cơ bản và kỹ năng chuyên sâu về
việc ứng dụng các giao thức an toàn mạng trong bảo mật thông tin truyền
trên mạng máy tính Tài liệu gồm những nội dung chính sau:
Chương I: Giới thiệu tổng quan về mạng máy tính, các nguy cơ và lỗhổng bảo mật liên quan đến an toàn giao thức mạng, các kỹ thuật mật mã liênquan
Chương II: Trình bày về các giao thức xác thực như PAP/CHAP,Kerberos, Radius
Chương III: Giới thiệu về công nghệ mạng riêng ảo, phân tích chi tiếtgiao thức SSL-VPN và giao thức IPSEC-VPN
Chương IV: Giới thiệu về các giao thức truyền tin an toàn như giaothức an toàn thư điện tử, giao thức bảo mật Web, giao thức truyền file có bảomật
Chương V: Các giao thức bảo mật mạng không dây Trình bày về cácđiểm yếu của mạng không dây, các giao thức bảo mật mạng LAN không dâynhư WEP/WPA, 802.11i Giao thức bảo mật WTLS
Trọng tâm của giáo trình này sẽ là các giao thức bảo mật mạng máytinh, vấn đề an ninh an toàn mạng máy tính sinh viên có thể tham khảo ở cáccuốn giáo trình khác Tài liệu không chỉ đề cập đến các vấn đề lý thuyết màcòn đưa ra một số bài tập thực hành, có một số giao thức mật mã chỉ mới ởmức giới thiệu sơ lược cho bạn đọc nhưng có một số giao thức được trình bàykhá chi tiết, hy vọng điều này sẽ giúp ích cho các bạn sinh viên và nhữngngười làm trong lĩnh vực bảo mật mạng máy tính Giáo trình này được viếtdựa trên cơ sở đề cương chi tiết môn học Giao thức An toàn Mạng máy tínhcủa Học viện Kỹ thuật Mật mã; sự tham khảo các giáo trình đã viết trước đó,cùng với các tài liệu của các tác giả nước ngoài Chúng tôi xin cảm ơn Lãnhđạo Ban Cơ yếu Chính phủ, Lãnh đạo Học viện Kỹ thuật Mật mã và các cơquan chức năng đã tạo điều kiện để chúng tôi hoàn thành giáo trình này Tàiliệu được biên soạn lần đầu nên không tránh khỏi những thiếu sót do khả năng
và trình độ còn hạn chế, mong nhận được sự góp ý từ phía bạn đọc để chúngtôi bổ xung, hiệu chỉnh
Hà Nội, tháng 9-2013
Nhóm tác giả
Trang 3MỤC LỤC
MỞ ĐẦU 2
MỤC LỤC 3
CÁC TỪ VIẾT TẮT 5
DANH MỤC CÁC HÌNH VẼ 7
CHƯƠNG I: TỔNG QUAN VỀ AN TOÀN MẠNG 9
1.1 Giới thiệu 9
1.2 Các kiểu tấn công 10
1.3 Các kỹ thuật và dịch vụ an toàn mạng 11
1.4 Các giao thức an toàn mạng 13
CHƯƠNG II: CÁC GIAO THỨC XÁC THỰC 15
2.1 Khái niệm về giao thức xác thực 15
2.2 Các giao thức PAP/CHAP 16
2.3 Giao thức Kerberos 18
2.4 Giao thức xác thực mở rộng EAP và RADIUS 23
2.4.1 Tổng quan về giao thức EAP 23
2.4.2 Giao thức RADIUS 26
2.4.3 Kết hợp giữa RADIUS và EAP 30
2.4.4 Giao thức RADIUS, EAP-TLS và 802.1x 30
2.5 Bài tập 32
CHƯƠNG III: CÁC GIAO THỨC BẢO MẬT MẠNG RIÊNG ẢO 33
3.1 Tổng quan về các giao thức mạng riêng ảo 33
3.2 Giao thức mạng riêng ảo dựa trên SSL 34
3.2.1 Giao thức SSL 3.0 34
3.2.2 Giao thức mạng riêng ảo dựa trên SSL 39
3.2.3 Cấu trúc của bộ chương trình OpenVPN 41
3.2.4 Các chế độ trao đổi khoá trong OpenVPN 42
3.2.5 Các chế độ mã hoá và xác thực trong OpenVPN 43
3.2.6 Cơ chế hoạt động của giao thức SSL-VPN 43
3.2.7 Mô hình tạo mạng riêng ảo và mã hóa/giải mã 47
3.2.8 Quá trình xử lý mã hoá và giải mã luồng dữ liệu vào ra 48
3.2.9 Các thách thức đối với giao thức SSL VPN 50
3.3 Giao thức IPSEC 50
3.3.1 Kiến trúc của IPSec 51
3.3.2 Tổ hợp an toàn của IPSec 52
3.3.3 Giao thức xác thực tiêu đề (AH) 53
3.3.4 Giao thức ESP 57
3.3.5 Sự kết hợp giữa AH và ESP 60
3.3.6 Giao thức trao đổi khóa trong IPSEC 61
Trang 43.3.7 Quá trình thiết lập Tổ hợp an toàn cho IPSEC mã nguồn mở 71
3.4 Bài tập 77
CHƯƠNG IV: CÁC GIAO THỨC BẢO MẬT DỊCH VỤ 78
4.1 Các giao thức an toàn thư điện tử 78
4.1.1 Tổng quan về an toàn thư điện tử 78
4.1.2 Các giao thức truyền/nhận thư điện tử 79
4.1.3 Các giao thức an toàn cho thư điện tử 80
4.1.4 Một số tài nguyên trên Internet về bảo mật thư điện tử 83
4.2 Giao thức bảo mật dịch vụ Web 84
4.3 Các giao thức truyền file bảo mật 88
4.4 Bài tập 90
CHƯƠNG V: CÁC GIAO THỨC BẢO MẬT MẠNG KHÔNG DÂY 91
5.1 Tổng quan về mạng không dây 91
5.2 Các giao thức bảo mật mạng không dây cục bộ WLAN 802.11 92
5.3 Các tấn công và điểm yếu của giao thức bảo mật WEP/WPA 95
5.3.1 Các tấn công đối với mạng WLAN 95
5.3.2 Những yếu điểm của WEP 97
5.3.3 Những yếu điểm của WPA 98
5.4 Giao thức bảo mật 802.11i 99
5.4.1 Mô hình hoạt động của giao thức 802.11i 99
5.4.2 Giai đoạn 1: Trao đổi khóa và xác thực 100
5.4.3 Giai đoạn 2 và 3: Quá trình dẫn xuất khóa và chuyển khóa 102
5.4.4 Giai đoạn 4: Giao thức bắt tay 4 bước 103
5.4.5 Giai đoạn 5: Trao đổi khóa nhóm 105
5.4.6 Giai đoạn 6: Mã hóa và xác thực dữ liệu 107
5.5 Phân tích độ an toàn của 802.11i 112
5.5.1 Đánh giá chung về các thành phần chính trong 802.11i 112
5.5.2 Cơ chế chống tấn công lặp lại trong CCMP 112
5.5.3 Các điểm yếu về an ninh an toàn của 802.11i 113
5.5.4 Đánh giá chung về độ an toàn của giao thức 802.11i 115
5.6 Giao thức bảo mật WTLS 116
5.6.1 Tổng quan về giao thức ứng dụng không dây WAP 116
5.6.2 Mô hình hoạt động của giao thức WAP 117
5.6.3 Kiến trúc giao thức WAP 119
5.6.4 Giao thức bảo mật mạng ứng dụng không dây (WTLS) 120
5.7 Bài tập 130
TÀI LIỆU THAM KHẢO 131
Trang 5CÁC TỪ VIẾT TẮT
ACL Access Control List - Danh sách kiểm soát truy nhập
AES Advanced Encryption Standard - Chuẩn mã hoá dữ liệu tiên tiến
AS Authentication Server – Máy chủ xác thực
CA Certificate Authority - Cơ quan chứng thực
CHAP Challenge Handshake Authentication Protocol - Giao thức xác thực bắt tay
thách thức
DCE Distributed Computing Environment - Môi trường tính toán phân tán
DES Data Encryption Standard - Chuẩn mã hoá dữ liệu
DLP Discrete Logarithm Problem – Bài toán logarith rời rạc
DNS Domain Name Server - Máy chủ tên miền
DSA Digital Signature Algorithm - Thuật toán chữ ký số
DSS Digital Signature Standard - Chuẩn chữ ký số
ECC Elliptic Curve Cryptography – Mật mã đường cong elliptic
FTP File Transfer Protocol - Giao thức truyền tệp
FTPS Secure File Transfer Protocol - Giao thức truyền tệp an toàn
HMAC Hash Message Authentication Code – Mã xác thực thông báo dựa trên hàm
băm
HTML Hypertext Markup Language - Ngôn ngữ đánh dấu siêu văn bản
HTTP Hypertext Transfer Protocol - Giao thức truyền siêu văn bản
IPSEC Internet Protocol Security – Giao thức Internet an toàn
ISP Internet Service Provider - Nhà cung cấp dịch vụ Internet
KDC Key Distribution Center - Trung tâm phân phối khoá
L2TP Layer 2 Tunneling Protocol
LDAP Lightweight Directory Access Protocol - Giao thức truy nhập thư mục hạng nhẹ
Trang 6MAC Message Authentication Code – Mã xác thực thông báo
MIME Multipurpose Internet Mail Extensions – Chuẩn mở rộng định dạng của mail
NAP Network Access Point - Điểm truy nhập mạng
OSI Open Systems Interconnection - Kết nối các hệ thống mở
PAP Password Authentication Protocol – Giao thức xác thực dùng mật khẩu
PIN Personal Identification Number - Số hiệu nhận dạng cá nhân
PKIX Public Key Infrastructure (X.509) - Cơ sở hạ tầng khoá công khai (X.509)
PPP Point-to-Point Protocol
PPTP Point-to-Point Tunneling Protocol
PRF Pseudo Random Function – Hàm sinh giả ngẫu nhiên
RSA Hệ mật khóa công khai
SET Secure Electronic Transaction - Giao dịch điện tử an toàn
SHA Secure Hash Algorithm - Thuật toán băm an toàn
S/MIME Secure/Multipurpose Internet Mail Extensions – Chuẩn mã hóa khóa công
khai cho dữ liệu MIME
SSH Secure Shell - Giao thức đăng nhập, kết nối có bảo mật
HTTPS Secure Hypertext Transfer Protocol - Giao thức truyền siêu văn bản an toàn
SNMPv3 Simple Network Management Protocol Version 3 - Giao thức quản lý mạng
đơn giản phiên bản 3
SPKI Simple Public-Key Infrastructure - Cơ sở hạ tầng khoá công khai đơn giản
SSL Secure Socket Layer - Tầng Socket an toàn
STA Station – Một máy trạm trong hệ thống mạng
TCP/IP Chuẩn giao thức truyền thông trên mạng Internet
TLS Transport Layer Security - An toàn tầng giao vận (mô hình TCP/IP)
Trang 7VPN Virtual Private Network - Mạng riêng ảo
WAE Wireless Application Environment – Môi trường ứng dụng không dây WDP Wireless Datagram Protocol – Giao thức gói dữ liệu không dây
WEP Wired Equivalent Privacy - An toàn tương đương mạng có dây
WPA Wi-Fi Protected Access - Giao thức truy cập không dây có bảo mật
WSP Wireless Session Protocol – Giao thức phiên không dây
WTLS Wireless Transport Layer Security - An toàn tầng giao vận không dây
WTP Wireless Transaction Protocol – Giao thức giao dịch không dây
DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Giao thức xác thực PAP 17
Hình 2.2 Giao thức xác thực CHAP 18
Hình 2.3 Hệ thống xác thực Kerberos 19
Hình 2.4 Mô hình kiến trúc của giao thức xác thực mở rộng EAP 24
Hình 2.5 Mô hình kết hợp giữa các tầng trong giao thức EAP 25
Hình 2.6 Mô hình kết hợp đầy đủ giữa các tầng trong giao thức EAP 25
Hình 2.7 Mô hình xử lý của FreeRADIS 28
Hình 2.8 Giao thức RAIDUS/EAP-TLS/802.1x 31
Hình 3.1 Mô hình hoạt động của SSL-VPN 44
Hình 3.2 Quy trình đóng gói và mã hóa SSL-VPN 48
Hình 3.3 Quy trình đóng gói và mã hóa SSL-VPN 48
Hình 3.4 Vòng lặp xử lý gói tin theo giao thức UDP trong OpenVPN 49
Hình 3.5 Kiến trúc của IPSec 51
Hình 3.6 Ba trường của một IPSec SA 52
Hình 3.7 Khuôn dạng gói tin IPSec 54
Hình 3.8 Gói tin IP trước và sau khi xử lý AH - chế độ Transport 55
Hình 3.9 Khuôn dạng gói tin AH - chế độ Tunnel 55
Hình 3.10 Gói IP sau khi tiêu đề ESP và Trailer ESP được thêm vào 57
Hình 3.11 Khuôn dạng gói tin ESP 57
Hình 3.12 Chế độ ESP-Transport 58
Hình 3.13 Chế độ ESP-Tunnel 59
Trang 8Hình 3.14 Kết hợp AH và ESP trong chế độ Transport 61
Hình 3.15 Kết hợp AH và ESP trong chế độ Tunnel 61
Hình 3.16 Một IKE SA 62
Hình 3.17 Hoạt động của giao thức IKEv2 67
Hình 3.18 Ví dụ về các SA 72
Hình 3.19 Mối quan hệ của PFKEY/SA và IPSEC 73
Hình 5.1 Tổng quan về giao thức 802.11i 86
Hình 5.2 Security layer trong mạng WLAN 89
Hình 5.3 Trao đổi khóa tự động trong 802.11i 93
Hình 5.4 Trao đổi khóa EAP-TLS 95
Hình 5.5 Kiến trúc khóa trong 802.11i 96
Hình 5.6 Giao thức bắt tay 4 bước 97
Hình 5.7 Mô hình quản lý khóa PTK giữa AP và STA 99
Hình 5.8 Giao thức bắt tay khóa nhóm 100
Hình 5.9 Kiến trúc khóa nhóm 100
Hình 5.10 Mô hình khóa nhóm GTK 101
Hình 5.11 Các bước xử lý một MPDU theo CCMP 102
Hình 5.12 Quá trình mã hóa CCMP 103
Hình 5.13 Định dạng 8-bytes CCMP header 104
Hình 5.14 Định dạng khối đầu tiên cho CBC-MAC 104
Hình 5.15 Xây dựng bộ đếm cho CCMP Counter Mode 104
Hình 5.16 Quá trình giải mã MPDU theo CCMP 105
Hình 5.17 Các giai đoạn chính trong giao thức 802.11i 106
Hình 5.18 Mô hình hoạt động của giao thức WAP 112
Hình 5.19 Hạ tầng cơ sở WAP 113
Hình 5.20 Cổng ra vào WTP 1.X 113
Hình 5.21 Chồng giao thức WTLS 117
Hình 5.22 Hoạt động của giao thức bản ghi WTLS 118
Hình 5.23 Khuôn dạng Bản ghi WTLS 119
Trang 9CHƯƠNG I: TỔNG QUAN VỀ AN TOÀN MẠNG
1.1 Giới thiệu
Các yêu cầu về an toàn thông tin trong các tổ chức đã trải qua hai thayđổi lớn trong vài chục năm trở lại đây Trước khi sử dụng rộng rãi các thiết bị
xử lý dữ liệu, an toàn thông tin trong một tổ chức thường đồng nghĩa với vấn
đề an toàn vật lý và phương thức quản lý của tổ chức Chẳng hạn, để bảo vệnhững tài liệu quan trọng người ta lưu giữ trong các tủ an toàn rồi khóa cẩnthận trong một phòng hoặc khu vực được bảo vệ chắc chắn
Cùng với việc sử dụng rộng rãi máy tính thì những công cụ tự động bảo
vệ file dữ liệu và các thông tin lưu trữ trên máy tính là hết sức cần thiết Kháiniệm chung để chỉ những công cụ được thiết kế nhằm bảo vệ dữ liệu trên máy
tính là An toàn máy tính.
Một khái niệm an toàn tiếp theo liên quan đến việc sử dụng rộng rãi các
hệ thống phân tán, mạng máy tính và các thiết bị truyền thông để vận chuyển
dữ liệu giữa các máy tính Các biện pháp An toàn mạng máy tính là hết sức
cần thiết để bảo vệ dữ liệu tác nghiệp trên mạng
Không có những đường Ranh giới rõ ràng giữa hai dạng an toàn trên
Ví dụ, một trong những dạng tấn công phổ biến vào các hệ thống thông tin làVirus máy tính Virus có thể thâm nhập máy tính thông qua các thiết bị mangtin như ổ USB khi kết nối với máy tính hoặc thông qua đường mạng Trong
cả hai trường hợp như vậy, một khi Virus đã thâm nhập được vào máy tính rồithì các công cụ an toàn máy tính phải phát hiện ra và tiêu diệt nó
Để đánh giá sự cần thiết an toàn đối với một tổ chức và ước lượng, lựachọn các sản phẩm và chính sách an toàn, người quản lý cần phải xác địnhmột cách hệ thống những yêu cầu an toàn và cách tiếp cận như thế nào Thôngthường một tiếp cận được xem xét ở ba khía cạnh an toàn thông tin sau:
Các tấn công: là một hành động dẫn đến lộ thông tin của một tổchức
Các dịch vụ an toàn: Dịch vụ nâng cao an toàn của các hệ thống xử
lý dữ liệu và truyền tin của một tổ chức Các dịch vụ này nhằmchống lại các tấn công của các tin tặc và sử dụng một hay nhiều cơchế an toàn để cung cấp dịch vụ
Các kỹ thuật đảm bảo an toàn: Các kỹ thuật được thiết kế để pháthiện, ngăn ngừa hoặc loại bỏ tấn công
Trang 101.2 Các kiểu tấn công
Mục đích của an toàn thông tin là làm sao ngăn chặn, phát hiện đượccác gian lận trong các hệ thống thông tin Các hành động gian lận có thể phânthành các loại sau:
Truy nhập thông tin bất hợp pháp
Mạo danh để:
- Tạo thông tin giả
- Thay đổi thông tin
- Truy nhập bất hợp pháp
- Gian lận trong các giao dịch
Từ chối trách nhiệm đối với thông tin mà những người gian lận đãtạo ra
Chối bỏ gửi tin
Chối bỏ nhận tin
Ngăn chặn truyền tin giữa các người sử dụng
Một dòng thông tin từ nguồn tới đích có thể bị các dạng tấn công sau:
Làm gián đoạn: Loại tấn công này làm cho thông tin bị phá hủyhoặc không sẵn sàng phục vụ
Chặn bắt thông tin: Loại tấn công này thực hiện truy nhập bất hợppháp tới thông tin
Thay đổi nội dung thông tin: Loại tấn công này thực hiện thay đổibất hợp pháp nội dung thông tin Tấn công vào tính toàn vẹn củathông tin
Giả mạo: Loại tấn công này nhằm đưa những thông tin giả mạo vào
hệ thống Tấn công này liên quan đến các vấn đề xác thực thông tin.Các dạng tấn công trên có thể phân làm hai loại: Thụ động và chủđộng
Loại thụ động liên quan đến chặn bắt nhằm có được nội dung thông tinhoặc phân tích lưu lượng Đối với tấn công nhằm có được nội dung thông tinthì tương đối dễ hiểu Các cuộc hội thoại, thư điện tử hoặc file truyền có thểchứa những thông tin quan trọng Chúng ta cần phải ngăn chặn loại tấn côngnày Tấn công thụ động rất khó bị phát hiện bởi vì chúng không thay đổi bất
kỳ dữ liệu nào Tuy nhiên chúng ta có thể ngăn chặn những kiểu tấn công này
Các tấn công chủ động kéo theo sự thay đổi dữ liệu và có thể chia làm
Trang 11Tấn công từ chối dịch vụ: nhằm ngăn chặn việc sử dụng bình thườngcác trang thiết bị truyền thông Tấn công này có đích xác định Một dạng kháccủa tấn công từ chối dịch vụ là phá vỡ toàn bộ mạng bằng việc làm mất khảnăng hoạt động hoặc quá tải bởi các thông báo.
Việc phát hiện các tấn công thụ động là rất khó khăn Hiện đã có cácphương pháp ngăn chặn các tấn công này có hiệu quả Việc ngăn chặn các tấncông chủ động khá phức tạp bởi vì để làm được việc này cần bảo vệ vật lý tất
cả các thiết bị truyền thông và các kênh mọi lúc Đối với dạng tấn công nàythì phương pháp bảo vệ là làm thế nào phát hiện được chúng và phục hồi lạinhững hỏng hóc của hệ thống do chúng gây ra
Trang 12Các dịch vụ an toàn: Các dịch vụ an toàn có thể phân loại như sau:
Bảo mật: Đảm bảo thông tin trong các hệ thống máy tính và thôngtin truyền trên mạng chỉ được truy cập bởi những người có thẩmquyền Dạng truy cập bao gồm: In, hiển thị và các dạng khám pháthông tin
Xác thực: Đảm bảo nguồn gốc của đối tượng cần xác thực được xácđịnh chính xác
Đảm bảo tính toàn vẹn: Đảm bảo rằng chỉ những đối tượng có thẩmquyền mới có thể thay đổi các tài nguyên của hệ thống máy tính vàcác thông tin đã được truyền Việc thay đổi bao gồm: ghi, thay đổi,thay đổi trạng thái, xóa, tạo, làm trễ hoặc gửi lại các thông tin đãđược truyền
Chống chối bỏ: Đảm bảo sự chối bỏ tham gia truyền tin của cảngười gửi và người nhận tin
Kiểm soát truy cập: Đảm bảo việc truy nhập các tài nguyên thôngtin được kiểm soát bởi hệ thống
Sẵn sàng: Đảm bảo sự sẵn sàng phục vụ của các tài nguyên mạngđối với người sử dụng hợp pháp
Dịch vụ Bảo mật: Nhằm chống lại các tấn công thụ động vào dữ liệu
truyền trên kênh Đối với loại đánh cắp nội dung thông tin, thì một vài mứcbảo vệ có thể được chỉ ra Đây là loại dịch vụ nhằm bảo vệ dữ liệu trên kênhgiữa hai người dùng trong một khoảng thời gian Dạng dịch vụ này cũng cóthể được sử dụng để bảo vệ một thông báo hoặc một trường xác định trongmột thông báo
Một hướng bảo mật khác là bảo vệ cả một kênh nhằm chống lại các tấncông phân tích kênh Như vậy sẽ ngăn chặn kẻ tấn công quan sát nguồn, đích,tần xuất, độ dài và các đặc tính khác của luồng dữ liệu trên thiết bị truyền tin
Dịch vụ Xác thực: Dịch vụ xác thực liên quan đến việc xác thực trong
truyền thông Trong trường hợp nhận một thông báo, dịch vụ xác thực đảmbảo người nhận xác thực được nguồn gốc thông báo Trong trường hợp tươngtác diễn ra trong một khoảng thời gian thì dịch vụ xác thực đảm bảo:
Tại thời điểm thiết lập kết nối, dịch vụ xác thực đảm bảo hai thựcthể tham gia kết nối xác thực được lẫn nhau;
Trong thời gian kết nối, dịch vụ đảm bảo không thể có một bên thứ
ba đóng giả một trong hai thực thể truyền thông hợp pháp
Dịch vụ Đảm bảo tính toàn vẹn: Cũng như dịch vụ bảo mật, dịch vụ
này có thể áp dụng cho một dòng dữ liệu hoặc một hoặc một phần thông báo
Một dịch vụ Đảm bảo tính toàn vẹn hướng kết nối đảm bảo dòng dữ
Trang 13liệu nhận được cũng như gửi không thể bị lặp, chèn thêm vào, thay đổi, thayđổi trật tự cũng như gửi lại Dịch vụ này nhắm vào cả những thay đổi đối vớidòng dữ liệu cũng như vấn đề từ chối dịch vụ.
Đối với dịch vụ Đảm bảo tính toàn vẹn không kết nối thì chỉ liên quanvới từng thông báo riêng rẽ và nói chung chỉ nhằm chống lại việc thay đổi nộidung thông báo
Dịch vụ Chống chối bỏ: Dich vụ này nhằm ngăn chặn người gửi hoặc
người nhận chối bỏ việc đã gửi thông báo hoặc đã nhận thông báo Như vậykhi thông báo đã được gửi, người nhận có thể chứng minh được rằng ai làngười đã gửi thông báo Tương tự, khi thông báo đã được nhận, người gửi cóthể chứng minh được ai là người đã nhận thông báo
Dịch vụ Kiểm soát truy nhập: Dịch vụ này nhằm hạn chế và kiểm soát
truy nhập tới các hệ thống máy chủ hoặc các ứng dụng qua các kênh truyềnthông Để thực hiện kiểm soát, mỗi thực thể muốn truy nhập trước hết phảiđược xác định hoặc xác thực từ đó xác định các quyền truy nhập phù hợp
Dịch vụ Đảm bảo tính sẵn sàng: Đảm bảo ngăn ngừa hoặc phục hồi lại
sự sẵn sàng của các tài nguyên trong hệ thống
1.4 Các giao thức an toàn mạng
Một giao thức an toàn (giao thức mật mã hoặc giao thức mã hóa) là
một giao thức trừu tượng hay cụ thể mà thực hiện một chức năng liên quanđến an toàn và áp dụng các phương pháp mật mã Các giao thức mã hóa được
sử dụng rộng rãi để chuyển tải dữ liệu một cách an toàn Nó thường được kếthợp với ít nhất một trong số những khía cạnh:
Trao đổi, thỏa thuận khóa
Xác thực thực thể
Mã hóa đối xứng và xác thực thông báo
An toàn truyền thông dữ liệu ở mức ứng dụng
Các phương pháp chống chối bỏ
Giao thức an toàn mạng là một kiểu của giao thức mật mã được sử
dụng để bảo vệ dữ liệu trên máy tính và dữ liệu truyền thông Công cụ chính
là dùng mật mã Nói chung, mật mã làm việc cùng với một tập hợp các thủtục hoặc giao thức thực hiện việc quản lý, trao đổi dữ liệu giữa các thiết bị vàmạng Cùng với đó, các giao thức mật mã tăng cường tính an toàn của dữ liệutruyền thông trên mạng
Nếu thiếu các giao thức an toàn mạng, các dịch vụ Internet như thươngmại điện tử sẽ không thể hoạt động Bảo mật kênh truyền thông là cần thiết đểngăn chặn việc nghe lén, sửa đổi, giả mạo thông tin trao đổi giữa các hệthống Một số tác vụ chính của các giao thức an toàn mạng thường là bảo mật
Trang 14việc truyền file, giao dịch Web và mạng riêng ảo
Phương pháp chung nhất để truyền file là sử dụng giao thức FTP Mộtvấn đề đặt ra đối với FTP là giao thức này gửi các file dữ liệu ở dạng rõ,nghĩa là chúng không được mã hóa khi truyền trên mạng và như vậy dữ liệu
có thể bị lộ Như một sự thay thế, giao thức truyền file an toàn SFTP cung cấpmột cách truyền file an toàn hơn SFTP thường được xây dựng dựa trên giaothức SSH và có thể mã hoá các lệnh và dữ liệu truyền qua mạng, do đó làmgiảm khả năng xảy ra các cuộc tấn công chặn bắt ở giữa Các giao thức mãhóa SSH chống lại các cuộc tấn công mạo danh nhờ sử dụng hệ thống chứngthực chữ ký số
Ngoài SSH, giao thức SSL/TLS có thể được sử dụng như các giao thức
cơ bản cho SFTP Như SSH, SSL/TLS xác nhận danh tính của cả hai máy chủ
và khách hàng, cũng như mã hóa thông tin liên lạc giữa hai bên Ngoài việc
sử dụng cho truyền file an toàn SFTP, SSL/TLS được sử dụng để đảm bảo antoàn cho dịch vụ E-mail và dịch vụ Web SSL/TLS cũng được sử dụng kếthợp với HTTP để mã hóa thông tin liên lạc giữa các trình duyệt và máy chủweb và tạo ra giao thức HTTPS
Một lĩnh vực khác của giao thức bảo mật mạng đóng một vai trò rấtquan trọng, đặc biệt là cho các doanh nghiệp hiện đại, là trong trao đổi dữ liệugiữa các mạng LAN qua kết nối Internet công cộng Đây được gọi là dịch vụmạng riêng ảo (VPN), nó rất quan trọng cho doanh nghiệp bởi vì họ kết nốibảo mật từ xa giữa các văn phòng trên toàn thế giới Các giao thức an toànmạng thường được tích hợp tương ứng với các VPN ở các tầng khác nhau của
mô hình TCP/IP Chẳng hạn, các VPN ở tầng Transport thường sử dụng VPN; các VPN ở tầng Network thường sử dụng IPSEC; các VPN ở tầngDatalink sử dụng L2TP, PPTP
SSL-Giáo trình này trình bày về các giao thức an toàn mạng sau đây
Các giao thức xác thực: PAP/CHAP, Kerberos, Radius
Giao thức bảo mật mạng riêng ảo: SSL-VPN, IPSEC-VPN
Các giao thức bảo mật dịch vụ: S/MIME, PGP, SFTP, FTPS,SCP, HTTPS
Giao thức bảo mật mạng không dây 802.11i và WTLS
Trang 15CHƯƠNG II: CÁC GIAO THỨC XÁC THỰC
2.1 Khái niệm về giao thức xác thực
Xác thực là hành vi xác nhận sự thật một thuộc tính của một dữ kiện
hoặc tổ chức Điều này có thể liên quan đến việc xác nhận danh tính của mộtngười hoặc một chương trình phần mềm, dữ liệu máy tính, truy tìm nguồn gốccủa một vật, và đảm bảo các sản phẩm đã được công bố công khai là củamình Xác thực thường bao gồm việc xác minh tính hợp lệ của ít nhất mộtdạng định danh
Một giao thức xác thực là một kiểu của giao thức mật mã với mục
đích xác thực các thực thể có nhu cầu truyền thông an toàn Có rất nhiều kiểugiao thức xác thực khác nhau như:
Extensible Authentication Protocol (EAP)
Host Identity Protocol (HIP)
Kerberos
MS-CHAP và MS-CHAPv2
LAN Manager
NTLM (NT LAN Manager)
Password-authenticated key agreement protocols
Password Authentication Protocol (PAP)
Protected Extensible Authentication Protocol (PEAP)
Protocol for Carrying Authentication for Network Access (PANA)
RADIUS
Secure Remote Password protocol (SRP)
TACACS and TACACS+
RFID-Authentication Protocols
Trang 16 Woo Lam 92 (protocol)
Network Access Server (NAS):
Server cung cấp dịch vụ truy cập vào mạng NAS cũng được coi như làAuthenticator hoặc RADIUS client
AAA (Authentication, Authorization, Accouting):
Cung cấp mô hình, hạ tầng (framework) cho cơ chế điểu khiển truynhập mạng Các dịch vụ điều khiển truy nhập mạng được cung cấp bởi AAAlà:
Authentication: Dịch vụ kiểm tra định danh của người dùng hoặcthiết bị
Authorization: Dịch vụ gán quyền cho một yêu cầu truy nhập mạng
Accounting: Kiểm toán (auditing), phân tích (analysis) hoặc tínhcước (billing)
2.2 Các giao thức PAP/CHAP
a) Giao thức PAP
PAP là một giao thức xác thực có sử dụng một mật khẩu PAP được sửdụng bởi giao thức PPP (Point-to-Point Protocol) để xác nhận người dùngtrước khi cho phép họ truy cập vào tài nguyên hệ thống Hầu như tất cả các hệthống máy chủ cho phép truy cập từ xa đều hỗ trợ PAP
Xác thực dựa trên mật khẩu là giao thức mà hai thực thể chia sẻ một
Trang 17mật khẩu trước và sử dụng mật khẩu như là cơ sở xác thực Hệ thống xác thựcmật khẩu hiện tại có thể được phân thành hai loại: hệ thống xác thực mậtkhẩu-yếu và hệ thống xác thực mật khẩu-mạnh Khi so sánh với các chươngtrình xác thực mật khẩu-mạnh, chương trình mật khẩu-yếu có xu hướng tínhtoán với chi phí nhẹ hơn, thiết kế đơn giản hơn, thực hiện dễ dàng hơn, và làmcho chúng đặc biệt thích hợp với một số môi trường hạn chế PAP thực hiệnhai bước xác thực cơ bản sau:
Client (Remote User) gửi yêu cầu xác thực Request) cho Server (Authenticator): User_ID, Passwd
(Authentication- Server gửi trả “Xác thực-OK” (Authentication-Ack) nếu thông tin
về User_ID và Passwd là chính xác, còn không thì gửi trả Xác thực” (authentication-nak)
Trang 18CHAP định kỳ xác minh danh tính của đối tác bằng cách sử dụng kiểubắt tay ba bước Điều này xảy ra tại thời điểm khởi tạo liên kết (LCP), và cóthể xảy ra bất kỳ lúc nào sau đó Việc xác minh được dựa trên một bí mậtđược chia sẻ (chẳng hạn như mật khẩu người dùng của khách hàng) Sau khihoàn thành giai đoạn khởi tạo liên kết, thực thể xác thực sẽ thực hiện cácbước sau:
Bước 1): Gửi một thông điệp "thách thức" đến đối tác
Bước 2): Các đối tác đáp ứng lại với một giá trị tính toán bằng cách
sử dụng hàm băm trên thách thức kết hợp với khóa bí mật
Bước 3): Thực thể xác thực sẽ kiểm tra giá trị băm Nếu phù hợp sẽchấp nhận việc chứng thực, còn không thì nó sẽ hủy bỏ kết nối.Chú ý rằng thực thể xác thực sẽ gửi một thách thức mới cho các đối táctrong một khoảng thời gian ngẫu nhiên và lặp đi lặp lại các bước từ 1) đến 3)
Hình 2.2.Giao thức xác thực CHAP
2.3 Giao thức Kerberos
Kerberos là một giao thức xác thực mạng máy tính trong đó các hoạtđộng dựa trên cơ sở các tickets cho phép các nút giao tiếp với nhau qua mộtmạng không an toàn nhằm chứng minh danh tính của họ một cách an toàn
Thiết kế của Kerberos dựa trên mô hình client-server và nó cung cấpchứng thực hai chiều Các thông điệp của giao thức Kerberos được bảo vệchống lại tấn công nghe trộm và tấn công lặp Kerberos được xây dựng dựatrên mã hóa khóa đối xứng và yêu cầu một bên thứ ba đáng tin cậy (KDC), và
có thể tùy chọn sử dụng mật mã khóa công khai trong các giai đoạn xác thựcnhất định Kerberos sử dụng cổng TCP/88 theo mặc định
Trang 19Máy chủ xác thực AS (Authentication Server)
Kerberos System (Ticket Granting Server - TGS, Password Database, KDC)
Cách thức hoạt động chung của Kerberos:
Người sử dụng nhận thực mình với máy chủ xác thực AS, sau đó chứngminh với máy chủ cấp vé TGS rằng mình đã được nhận thực để nhận vé, cuốicùng chứng minh với máy chủ dịch vụ SS rằng mình đã được chấp thuận để
sử dụng dịch vụ Các bước thực hiện cụ thể như sau:
Bước 1): Người dùng (user) nhập tên và mật khẩu tại máy tính củamình Phần mềm Kerberos trên máy user (máy khách) thực hiệnhàm băm một chiều trên mật khẩu nhận được và kết quả sẽ đượcdùng làm khóa bí mật của người sử dụng
Bước 2): Phần mềm máy khách gửi một gói tin (không mã hóa) tớimáy chủ dịch vụ AS để yêu cầu dịch vụ Nội dung của gói tin có thểdiễn đạt ở ngôn ngữ nói là: "userN muốn sử dụng dịch vụ" Cần chú
ý rằng cả khoá bí mật lẫn mật khẩu đều không được gửi tới AS
Bước 3): AS kiểm tra nhân dạnh của user yêu cầu có nằm trong cơ
sở dữ liệu của mình không Nếu có thì AS gửi 2 gói tin sau tới user:
- Gói tin A: "Khóa phiên TGS/máy khách" được mã hóa với khóa
bí mật của người sử dụng
Trang 20- Gói tin B: "Vé chấp thuận" (bao gồm định danh người sử dụng(ID) và địa chỉ mạng của người sử dụng, thời hạn của vé và
"Khóa phiên TGS/máy khách") được mã hóa với khóa bí mật củaTGS
Bước 4): Khi nhận được 2 gói tin trên, phần mềm máy khách giải
mã gói tin A để có khóa phiên với TGS (Người sử dụng không thểgiải mã được gói tin B vì nó được mã hóa với khóa bí mật củaTGS) Đến thời điểm này, người dùng có thể nhận thực mình vớiTGS
Bước 5): Khi yêu cầu dịch vụ, người sử dụng gửi 2 gói tin sau tớiTGS:
- Gói tin C: Bao gồm "Vé chấp thuận" từ gói tin B và định danh(ID) của yêu cầu dịch vụ
- Gói tin D: Phần nhận thực (bao gồm định danh người sử dụng vàthời điểm yêu cầu), mã hóa với "Khóa phiên TGS/máy khách"
Bước 6): Khi nhận được 2 gói tin C và D, TGS giải mã D rồi gửi 2gói tin sau tới người sử dụng:
- Gói tin E: "Vé" (bao gồm định danh người sử dụng, địa chỉ mạngngười sử dụng, thời hạn sử dụng và "Khóa phiên máy chủ/máykhách") được mã hóa với khóa bí mật của máy chủ cung cấp dịch
vụ SS
- Gói tin F: "Khóa phiên máy chủ/máy khách" được mã hóa với
"Khóa phiên TGS/máy khách"
Bước 7): Khi nhận được 2 gói tin E và F, người sử dụng đã có đủthông tin để nhận thực với máy chủ cung cấp dịch vụ SS Máykhách gửi tới SS 2 gói tin sau:
- Gói tin E thu được từ bước trước (trong đó có "Khóa phiên máychủ/máy khách" được mã hóa với khóa bí mật của SS)
- Gói tin G: giai đoạn nhận thực mới, bao gồm định danh người sửdụng, thời điểm yêu cầu và được mã hóa với "Khóa phiên máychủ/máy khách"
Bước 8): SS giải mã "Vé" bằng khóa bí mật của mình và gửi gói tinsau tới người sử dụng để xác nhận định danh của mình và khẳngđịnh sự đồng ý cung cấp dịch vụ:
- Gói tin H: Thời điểm trong gói tin yêu cầu dịch vụ cộng thêm 1,
mã hóa với "Khóa phiên máy chủ/máy khách"
Bước 9): Máy khách giải mã gói tin xác nhận và kiểm tra thời gian
có được cập nhật chính xác hay không Nếu đúng thì người sử dụng
Trang 21có thể tin tưởng vào máy chủ SS và bắt đầu gửi yêu cầu sử dụngdịch vụ.
Bước 10): Máy chủ SS cung cấp dịch vụ cho người sử dụng
Các vấn đề an toàn của giao thức xác thực Kerberos:
Theo lý thuyết Kerberos là khá an toàn, tuy nhiên Kerberos chỉ cungcấp dịch vụ chứng thực; do đó nó không ngăn chặn được dạng thỏa hiệp gây
ra do lỗi phần mềm máy chủ, quản trị viên cấp giấy phép cho người sử dụngtrái phép, hoặc việc lựa chọn các mật khẩu yếu Dưới đây là một số điểm yếuđiển hình đối với Kerberos
Thỏa hiệp gốc (root compromise) máy chủ KDC: Việc máy chủKDC bị thỏa hiệp dẫn đến kẻ tấn công có toàn quyền kiểm soát hệthống xác thực Kerberos Mặc dù CSDL mật khẩu được mã hóa trên
ổ cứng với khóa Kerberos master nhưng khóa này được lưu trữ trựctiếp trên ổ cứng và khi KDC hoạt động nó cũng không yêu cầu nhậpmật khẩu Kerberos master nên hệ thống hoàn toàn bị kiểm soát
Để lộ mật khẩu của người quản trị hệ thống Kerberos: Nếu 1 hackerlấyđược mật khẩu của người quản trị, hacker có thể hoàn thành tấncông trêntoàn bộ CSDL của Kerberos
Thỏa hiệp một gốc máy chủ dịch vụ: Để giao thức Kerberos làmviệc, một dịch vụ phải có truy cập đến một dịch vụ chính Nếu một
kẻ tấn công lấy được quyền truy cập vào một máy chủ, tất cả cácdịch vụ được xác thực bởi Kerberos đang chạy trên máy đều có thể
bị tổn hại
Thỏa hiệp gốc một máy khách: Một thỏa hiệp gốc của một máyclient sẽ cung cấp khả năng tấn công tất cả các vé đã được lưu trênmáy đó Khi các vé có giới hạn thời gian, nó không phải là một thỏahiệp quan trọng như một kẻ tấn công lấy mật khẩu của người dùng.Tuy nhiên, với sự truy cập gốc đến máy client, những kẻ tấn công bímật có thể cài đặt một chương trình gián điệp để nắm bắt mật khẩungười dùng khi đăng nhập vào máy tính của họ
Thỏa hiệp thông tin của người dùng: Có 2 khả năng trong kịch bảnnày: hoặc bộ nhớ lưu vé người dùng đã bị lộ, hoặc mật khẩu củangười dùng bị thỏa hiệp Nếu hacker lấy được bộ nhớ các vé chưađược mã hóa, các vé chứa trong bộ nhớ cache mà chỉ có hiệu lựctrong khoảng thời gian quy định trong vé Mặt khác, nếu kẻ tấn công
sử dụng lại mật khẩu của người dùng, kẻ tấn công có thể mạo danhngười dùng đó cho đến khi người dùng thay đổi mật khẩu của mình
Từ những điểm yếu trên, thực tế cho thấy việc giữ tất cả các máy trongmạng an toàn là điều rất cần thiết Cài đặt Kerberos trên mạng không làm
Trang 22giảm tầm quan trọng của việc giữ tất cả các máy móc, máy tính người dùng
an toàn từ các cuộc tấn công bên ngoài Việc thỏa hiệp của bất kì một máynào trong mạng sẽ có dẫn đến hiệu ứng bất lợi về bảo mật đối với hệ thốngxác thực Kerberos
Các vấn đề liên quan đến bảo mật của giao thức xác thực Kerberos:
Tấn công vét cạn: Trong giao thức Kerberos phiên bản 4 gốc, cácKDC tạo một TGT được mã hóa cho khách hàng nào có yêu cầu nó.TGT được mã hóa với khóa bí mật của người dùng An toàn của hệthống phụ thuộc vào việc không thể giải mã thông điệp này Do đó,nếu một kẻ tấn công muốn có được mật khẩu của người dùng, nó cóthể yêu cầu các KDC cho một TGT hợp lệ với tên người dùng nạnnhân Trong khi không có cách để phá vỡ những phương pháp mãhóa được sử dụng trong “Vé” Kerberos một cách trực tiếp, những kẻtấn công có thể sử dụng tấn công vét cạn và từ điển ngoại tuyến đểgiải mã TGT nhằm tìm khóa bí mật Hơn nữa, Kerberos 4 sử dụngDES-56 bít hiện nay không còn an toàn Giao thức Kerberos 5 cảitiến bằng việc sử dụng một số tính năng mới cũng như cập nhật cácthuật toán mã hóa an toàn hơn Giai đoạn tiền xác thực đã được bổsung, các client phải chứng thực danh tính trước khi KDC cung cấp
vé cho client Tiền xác thực hạn chế được các vấn đề của tấn côngvét cạn sử dụng từ điển Thay vào đó, một hacker từ xa phải liên lạcvới KDC mỗi khi hacker cố gắng tìm một mật khẩu mới Tuy nhiên,các phương pháp mã hóa mới trong Ker v5 và đặc tính tiền xác thựckhông hoàn toàn chống lại được tấn công vét cạn Kẻ tấn công cóthể sử dụng một mạng lưới "sniffer" để có được các phản hồi-response từ KDC khi chúng được gửi đến client Những responses
sẽ bao gồm vé được mã hóa với khóa người dùng Chú ý rằng, hầuhết sự thực thi Kerberos đều không bắt buộc sử dụng tiền xác thựctheo mặc định
Tấn công lặp lại (replay attacks): Tất cả các giao thức trao đổi là cácthông báo được gởi qua một mạng máy tính, kẻ tấn công có thể lắngnghe các thông báo một mạng lưới trao đổi đã được xác thực thànhcông, tạo một bản sao của thông báo đó, và phát lại chúng ở lần sau.Những kẻ tấn công không cần phải đoán mật khẩu của người dùnghoặc giải mã thông điệp nào trong tấn công này Kể từ khi cuộc tấncông replay yêu cầu truy cập để nghe tất cả các thông báo trongmạng cũng như khả năng gửi thông báo giả, một cuộc tấn côngreplay là một cuộc tấn công chủ động Tuy nhiên, giao thứcKerberos đã được thiết lập để bảo vệ chống lại replay attacks.Những sự bảo vệ đó là: sử dụng trường địa chỉ trong “Vé”; sử dụngtem thời gian timestamp và cách phòng thủ cuối cùng là sử dụng bộnhớ cache để chống tấn công lặp lại Khi dịch vụ nhận được nhận
Trang 23thực, nó sẽ kiểm tra bộ nhớ replay caches Nếu dịch vụ tìm thấy mộtbản sao của nhận thực đã có trong bộ nhớ cache, nó từ chối yêu cầu.Nếu không, dịch vụ chấp nhận yêu cầu và bổ sung xác thực vàotrong bộ nhớ replay caches cho các yêu cầu hợp lệ lần sau.
2.4 Giao thức xác thực mở rộng EAP và RADIUS
2.4.1 Tổng quan về giao thức EAP
Giao thức xác thực mở rộng EAP – Extensible Authentication Protocol
là một framework xác thực thường được sử dụng trong mạng wireless vàtrong các kết nối điểm-điểm EAP hoạt động ở tầng Data Link trong mô hìnhOSI Mục đích của việc thiết kế giao thức EAP là cho phép dễ dàng thêm vàomột phương thức xác thực mới EAP hỗ trợ cho việc vận chuyển và sử dụngcác khóa mật mã và các tham số an toàn được sinh ra bởi các giao thức xácthực khác sử dụng EAP Có nhiều phương thức xác thực khác nhau có thểhoạt động được trên nền giao thức EAP là vì EAP chỉ định nghĩa định dạngcủa các thông báo, định nghĩa các hàm, các phương thức, thủ tục thỏa thuậncác tham số, lựa chọn phương thức EAP được sử dụng để xác thực… Cácphương thức xác thực cụ thể dựa trên EAP sẽ tự định nghĩa việc đóng gói cácthông báo xác thực của chúng vào thông báo EAP để thực hiện trao đổi thôngtin
Ưu điểm của giao thức EAP là tính linh hoạt trong triển khai Nó được
sử dụng để lựa chọn ra phương thức xác thực EAP sẽ được sử dụng cho thủtục xác thực giữa hai bên – authenticator và peer EAP không đòi hỏi phíaauthenticator cần phải biết phía client sử dụng phương thức xác thực nào, thayvào đó nó cho phép sử dụng một server xác thực đứng sau authenticator đểthực hiện các thủ tục kiểm tra định danh của client thay cho authenticator.Server xác thực này sẽ được cài đặt một vài hoặc tất cả các phương thức xácthực được sử dụng để xác thực client Khi đó authenticator sẽ đóng vai tròchuyển tiếp tất cả các thông báo EAP giữa client và server xác thực
Các thành phần trong giao thức EAP bao gồm: EAP peer, EAPauthenticator và Server xác thực Vai trò của chúng được mô tả như dướihình
Authenticator:
Là thành phần khởi chạy giao thức EAP đóng vai trò phân phối cácthông báo EAP được gửi từ client tới server xác thực và ngược lại Trong môhình mạng thực tế, authenticator thường là NAS server
Trang 24EAP chỉ là một giao thức vận chuyển (transport protocol) cho mục đíchxác thực, chính nó không phải là một phương thức xác thực Khi sử dụngEAP, ta cần chọn một phương thức xác thực cụ thể, như CHAP, TLS, TTLS
Hình 2.4.Mô hình kiến trúc của giao thức xác thực mở rộng EAP
Giao thức EAP được thiết kế theo kiến trúc phân tầng để có thể cungcấp các dịch vụ cho các thành phần của nó như – EAP peer, EAPauthenticator, server xác thực
Tầng Data Link (Lower): Tầng này chịu trách nhiệm giám sát việctruyền và nhận các khung dữ liệu theo đúng thứ tự giữa EAPauthenticator và EAP peer
Tầng EAP: Tầng này chịu trách nhiệm đảm bảo độ tin cậy cho việctruyền và nhận các khung dữ liệu thông qua tầng Lower Nó thựchiện các yêu cầu truyền lại, phát lại, phát hiện ra những gói tin trùnglặp giữa EAP authenticator và EAP peer Tầng này thực hiện gửi vànhận những thông báo tới tầng EAP peer hoặc EAP authenticator
Tầng EAP method: Là tầng được cài đặt các phương thức xác thựcEAP cụ thể, nó nhận và gửi các thông báo EAP thông qua các dịch
vụ được cung cấp bởi các tầng phía dưới EAP method có thể chứa
Tầng x/thực (EAP Method)
PPP Ethernet 802.3 Token Ring 802.5 Wireless 802.11 Data Link Tầng
802.1X (EAP Over LAN) Extensible Authentication Protocol (EAP)
Trang 25tầng EAP authenticator hoặc EAP peer là các vùng đệm dữ liệu đểgửi và nhận thông báo từ tầng EAP Tùy thuộc vào loại gói tin màchúng sẽ được phân tới tầng EAP authentication hay EAP peer Cácgói tin có trường Code là 1, 3, 4 tương ứng với các gói tin Request,Success, Failure sẽ được chuyển tới tầng EAP peer, các gói tin EAP
có trường Code là 2 tương ứng với gói tin Response sẽ được gửi tớitầng EAP authenticator
Hình sau mô tả sự kết hợp các tầng trong kiến trúc của giao thức EAP:
Hình 2.5.Mô hình kết hợp giữa các tầng trong giao thức EAP
Mô hình ở trên mô tả sự kết hợp giữa các tầng trong giao thức EAPgiữa EAP peer và server xác thực EAP authenticator chỉ đóng vai trò chuyểntiếp các thông báo giữa EAP peer và server xác thực Nó chỉ thực hiện việckiểm tra các trường như trường Code, Identifier, Length trong thông báo EAP
mà nó nhận được, từ đó nó chuyển tiếp thông báo tới thành phần thích hợp –thông báo có trường code = 2 ( thông báo Response) tới server xác thực vàcác thông báo có trường code = 1 ( Request), code = 3 ( Success), code = 4( Failure) tới EAP peer Mô hình hoạt động đầy đủ kết hợp giữa các tầng vàcác thành phần của giao thức EAP có thể được mô tả trong hình dưới đây
Hình 2.6.Mô hình kết hợp đầy đủ giữa các tầng trong giao thức EAP
EAP - Layer
Lower Layer
EAP Auth Auth. EAP
EAP - Layer
AAA/IP
EAP - Method EAP Auth.
EAP - Layer
AAA/IP
Trang 262.4.2 Giao thức RADIUS
a) Các đặc điểm chính của RADIUS
Mô hình Client/Server: Một server truy cập mạng NAS hoạt độngnhư một RADIUS client Client này chịu trách nhiệm chuyển cácthông tin người dùng tới RADIUS server RADIUS xử lý yêu cầukết nối của user, xác thực user và sau đó trả về tất cả các thông tincấu hình cần thiết cho RADIUS client để phân phối dịch vụ chouser
An toàn mạng: Giao dịch giữa RADIUS client và server được mãhóa và xác thực sử dụng một khóa bí mật chia sẻ trước
Các cơ chế xác thực linh hoạt: RADIUS server có thể hỗ trợ nhiềuphương pháp xác thực khác nhau như PAP, CHAP, TLS …
Có thể mở rộng giao thức: Các giao dịch sử dụng sự kết hợp của 3thành phần có độ dài thay đổi là Thuộc tính – Độ dài – Giá trị (Attr– Len - Value) Các giá trị mới có thể thêm vào mà không làm xáotrộn các cài đặt sẵn có của giao thức
b) Hoạt động của RADIUS
Khi một client được cấu hình sử dụng RADIUS, một user bất kỳ củaclient sẽ cung cấp thông tin xác thực cho client Khi client nhận được thôngtin xác thực từ user, client sẽ tạo một yêu cầu truy cập "Access-Request" chứacác thuộc tính như username, password, ID … Yêu cầu này sẽ được chuyểnđến RADIUS server Khi server nhận được nó sẽ kiểm tra tính hợp lệ của yêucầu "Access-Request" sử dụng khóa bí mật đã chia sẻ trước
Nếu như client là hợp lệ, RADIUS server sẽ tìm thông tin phù hợp vớiclient trong cơ sở dữ liệu của mình Các mục người sử dụng trong cơ sở dữliệu chứa một danh sách các request nào đó phải được đáp ứng để gán truycập cho user Các RADIUS server có thể tạo những request tới các máy chủkhác để đáp ứng trong trường hợp nó hoạt động như một client
Nếu có thuộc tính Proxy-State trong Access-Request thì chúng phảiđược sao chép nguyên vẹn và đúng thứ tự trong gói tin trả lời Các thuộc tínhkhác có thể được đặt trước, sau hoặc thậm chí giữa các các thuộc tính Proxy-State
Nếu bất kỳ điều kiện nào không được đáp ứng, RADIUS server gửimột trả lời "Access-Reject" chỉ ra rằng request của người gửi là không hợp lệ.Không có thuộc tính nào (ngoại trừ Proxy-State) được cho phép trong một
Trang 27message để thông báo cho client biết đây là thông báo thách thức.
Nếu client nhận được một "Access-Challenge" và hỗ trợ kiểuChallenge/Response, nó có thể hiển thị các text message, nếu có, đến user đểyêu cầu user sử dụng một Response đối với "Access-Challenge" để gửi choclient Các client sau đó gửi lại "Access-Request" ban đầu của nó với một ID-Request mới, với thuộc tính user-password được thay thế bởi Response củauser (được mã bằng khóa bí mật chia sẻ trước giữa RADIUS client và server)
và bao gồm cả các thuộc tính State từ Access-Challenge (nếu có) RADIUSserver có thể trả lời Access-Request mới này bởi hoặc Access-Accept, hoặcAccess-Reject hoặc Access-Challenge
Nếu tất cả các điều kiện được đáp ứng, danh sách các giá trị cấu hìnhcủa user sẽ được RADIUS server đưa vào thông báo trả lời "Access-Accept"(loại hình dịch vụ như SLIP, PPP … và các giá trị cần thiết để cung cấp dịch
vụ như địa chỉ IP, MTU …)
c) Kiểu xác thực Challenge/Response trong RADIUS
Trong kiểu xác thực Challenge/Response, user được cho một số ngẫunhiên không thể đoán trước và yêu cầu mã hóa rồi trả lại kết quả User đượcphép trang bị các thiết bị đặc biệt như smart card hoặc phần mềm tạo điềukiện thuận lợi trong việc tính toán chính xác thách đố một cách dễ dàng Userkhông hợp lệ (không được trang bị phần cứng hoặc phần mềm) chỉ có thểđoán thách đố
User sau đó thực hiện trả lời thách đố và gửi cho RADIUS client đểchuyển tiếp đến RADIUS server, nếu gói tin trả lời là hợp lệ thì RADIUSserver sẽ gửi thông báo "Access-Accept", còn không là thông báo "Access-Reject"
d) RADIUS server mã nguồn mở: FreeRADIUS
Một số đặc điểm chính của FreeRADIUS là:
Thực hiện chức năng AAA (Authentication, Authority, Accouting)
Tương thích và hỗ trợ cho sản phẩm NAS (Network Access Server)của nhiều hãng khác nhau như Mirosoft, PortMater, Cisco,Cistron
Hỗ trợ nhiều kiểu xác thực người dùng: PAP, CHAP, EAP, MD5, EAP-TLS, PAM, UNIX, OTP
EAP- Quản lý cơ sở dữ liệu xác thực người dùng dạng file, database(LDAP, SQL)
Hỗ trợ xác thực proxy
e) Cơ chế xử lý yêu cầu xác thực trong FreeRADIUS
Trang 28Khi nhận được một gói yêu cầu truy nhập (Access-Request) từAuthenticator, Authentication Server sẽ xử lý gói này theo trình tự như hìnhsau:
Hình 2.7.Mô hình xử lý của FreeRADIS
Đầu tiên gói này sẽ được tiền xử lý (preproccess) bằng cách kiểm trathuộc tính của gói với tệp hints trong thư mục cấu hình của Freeradius là /usr/etc/raddb (một số thuộc tính của gói phải thoả mãn cấu hình trong hai tệpnày) Sau đó module realm sẽ kiểm tra xem liệu người dùng có thuộc vùng(realm) mà Authentication Server xác thực không (bằng cách kiểm tra realmtrong tên đăng nhập của người dùng, ví dụ người dùng đăng nhập vào mạngvới tên là bob@pvkh.vn thì realm của người là pvkh.vn), nếu không thuộcvùng mà Server này xác thực thì nó sẽ chuyển yêu cầu truy nhập (Access-Request) tới một Server xác thực ở xa (Remote Authentication Server) tươngứng (kiểu xác thực này còn gọi là proxy) để xác thực và uỷ quyền Server xácthực từ xa sẽ gửi trả lại các thông tin xác thực và uỷ quyền cho người dùng đótới Authentication Server Còn nếu realm của người dùng đó thuộc vùng màAuthentication Server xác thực thì Authentication Server sẽ kiểm tra tệp users
để xác thực và uỷ quyền cho người dùng đó
Tệp cấu hình users là một database dạng text trên AuthenticationServer Nó chứa các thông tin xác thực và uỷ quyền cho tất cả người dùngđược xác thực bởi Authentication Server Các thông tin xác thực và uỷ quyềncho mỗi người dùng truy cập phải được để ở trong một biên dạng (profile)
Access-Request /Challenge
Authentication
Server
(nếu có)
Trang 29gồm 3 phần: Tên người dùng (username), danh sách các mục kiểm tra (checkitems) và danh sách các mục trả lời (reply items):
Ví dụ sau là một profile khai báo cho một user có tên là steve:
Bảng 1: Profile cho một user FreeRadius
Các mục kiểm tra (Check Items): Các mục kiểm tra được để trêndòng đầu tiên trong một biên dạng người dùng (user profile) Dòngnày chứa tên người dùng (username) và các mục kiểm tra được táchnhau bởi một ký tự cách (white space), các mục kiểm tra được táchnhau bởi dấu phẩy, không đặt dấu phẩy sau mục kiểm tra cuối cùng
Các mục trả lời (Reply Items): Mỗi một mục trả lời được đặt trênmột dòng Mỗi dòng bắt đầu với dấu cách (hoặc tab) và kết thúcbằng dấu phẩy trừ mục trả lời cuối cùng Các mục trả lời này chính
là các thông tin uỷ quyền cho người dùng đó và được chuyển tớiNAS
Khi một người dùng đăng nhập vào mạng thông qua Authenticator,Authenticator sẽ chuyển các yêu đó tơí Authentication Server (gói Access-Request) Sau khi đã tiền xử lý gói tin và kiểm tra realm thấy đây là gói tin
mà thuộc chính RADIUS Server này thì Authentication Server sẽ duyệt fileuser từ đầu đến cuối để tìm ra một mục profile tương ứng Các thành phần saucủa một profile phải giống trong yêu cầu truy nhập (Access-Request) nhằmmục đích xác thực là:
1 Tên người dùng (username)
2 Mục kiểm tra mật khẩu (password check items) (nếu có)
Framed-Compression = Van-Jacobsen-TCP-IP
final reply item
1 st reply item
2 nd reply item
username Check-Item == Value, , Check-Item == Value
Reply-Item = Value,
Reply-Item = Value
Trang 30tìm thấy có một mục giống thì Server sẽ dừng quá trình tìm kiếm nếu bạn đặt(Fall-Through = no), và nó sẽ tiếp tục tìm kiếm các mục profile tiếp theo nếubạn đặt (Fall-Through = yes), Authentication Server sẽ xác thực và cấp quyềncho người dùng với các thông tin trong user profile đó Nếu không có mộtmục profile nào mà username phù hợp với tên người dùng trong gói Access-Request thì mục profile có tên là DEFAULT sẽ được sử dụng và RADIUS sẽ
sử các thông tin trong mục DEFAULT đó để xác thực và cấp quyền chongười dùng Có thể có nhiều profile có tên là DEFAULT
2.4.3 Kết hợp giữa RADIUS và EAP
Giao thức EAP và RADIUS có nhiều đặc điểm giống nhau: Cả hai đều
sử dụng để xác thực, đều định nghĩa các giao diện để phục vụ các phươngthức xác thực, hỗ trợ sử dụng các server xác thực… Tuy nhiên, giao thứcEAP hoạt động ở tầng Datalink trong mô hình OSI – môi trường không đòihỏi phải sử dụng địa chỉ IP như môi trường mạng không dây, kết nối PPP…Trong khi đó, giao thức xác thực RADIUS hoạt động ở tầng Applicationtrong mô hình OSI
Một trong những lợi thế của kiến trúc EAP là tính linh hoạt EAP được
sử dụng để lựa chọn một cơ chế xác thực riêng Thay vì yêu cầu NAS phảicập nhật một phương pháp xác thực mới, EAP cho phép sử dụng một serverxác thực để cung cấp các phương pháp xác thực khác nhau, NAS khi đó chỉhoạt động như một proxy chuyển tiếp
Trong mô hình RADIUS/EAP, RADIUS được sử dụng để chuyển tiếpcác gói tin EAP đã được đóng gói thành RADIUS giữa NAS và một serverxác thực AS
2.4.4 Giao thức RADIUS, EAP-TLS và 802.1x
IEEE 802.1x cho phép truy cập xác thực đến các phương tiện truyềnthông theo chuẩn IEEE 802, bao gồm Ethernet, Token Ring và mạng LANkhông dây 802.11 RADIUS/EAP là một dịch vụ tùy chọn trong IEEE 802.1x,các IEEE 802.1x Authenticator hoạt động như một RADIUS client IEEE802.1x không yêu cầu sử dụng một máy chủ xác thực phụ trợ, và như vậy cóthể được triển khai với kiểu cầu-nối độc lập hoặc các Access Point giống như
mô hình quản lý tập chung
Một số đặc điểm của IEEE 802.1x:
Thừa kế từ kiến trúc EAP
Được định nghĩa trong IEEE STD 802.1X-2001
Các thông báo của EAP được vận chuyển trong định dạng của802.1x
Chạy trên tất cả các giao thức 802 LANs
Trang 31Một số đặc điểm của EAP-TLS:
Phương pháp xác thực này kế thừa những ưu điểm của giao thứcTLS như thoả thuận bộ mã (ciphersuite negotiation), xác thực 2chiều (mutual authentication) và khả năng quản lý khoá Nó là mộtchuẩn mở mà hầu như các hãng đều hỗ trợ
Sử dụng bắt tay TLS để xác thực cả client và server
Xác thực theo giao thức EAP-TLS dựa trên mô hình RADIUS
Đây là giao thức sử dụng chứng chỉ số để xác thực người dùng vàxác thực Server
Hình 2.8.Giao thức RAIDUS/EAP-TLS/802.1x
Tóm tắt giao thức trên thành 3 bước chính như sau:
RADIUS Access Challenge/
EAP-Request
Session KEY = PRF( random 1 || random 2 )
802.1X/EAP-Request ID 802.1X/EAP-Response ID EAPOL Start
Authentication Server (RADIUS server)
RADIUS Access Challenge/
EAP-Request
802.1X/EAP-Request (TLS ServerHello(random
2 ) || TLS Certificate || TLS CertificateRequest ||
TLS server_key_exchange || TLS
server_done)
802.1X/EAP-Response (TLS client_key_exchange || TLS || TLS
finished) 802.1X/EAP-Response RADIUS Access Request/ EAP-Response ID
RADIUS Accept/EAP-Success 802.1X/EAP-Success
RADIUS Access Request/
EAP-Response ID
Trang 32 Bước 1) Khởi tạo giao thức EAP-TLS: Đầu tiên Authenticator sẽ
gửi một gói tin EAP-Request/Identity yêu cầu nhận danh User mà sẽđược xác thực, khi nhận được gói đó User sẽ đáp lại một gói EAP-Response/Identity chứa tên để nhận danh mình tới Authenticator.Authenticator sẽ lưu giữ lại tên của User đó (tên này sẽ được sửdụng trong suốt quá trình xác thực), đồng thời đóng gói lại thành góiRAIDUS và gửi tới Authentication Khi nhận được gói tin đó,RADIUS sẽ đáp lại một gói tin EAP-Start tới User thông quaAuthenticator
Bước 2) Thực hiện giao thức bắt tay TLS: Quá trình bắt tay này
hoàn toàn tương tự như giao thức TLS, nếu cần biết thêm bạn nêntham khảo tài liệu về giao thức TLS hoặc SSLv3.0
Bước 3) Chấp nhận hoặc từ chối kết nối: Khi đã thực hiện xong
quá trình xác thực TLS, Authentication sẽ gửi trả lại gói tin chophép hay từ chối kết nối cùng các thuộc tính uỷ quyền cho user đótrong gói Access-Accept hoặc Access-Reject tới Authenticator Căn
cứ vào đó Authenticator sẽ chấp nhận hoặc từ chối kết nối và xử lýcác thuộc tính uỷ quyền cho User đó
2.5 Bài tập
1) Trình bày các điểm yếu của giao thức PAP/CHAP
2) Phân tích, tìm hiểu giao thức Kerberos version 5
3) Trình bày các điểm yếu của giao thức Kerberos
4) Phân tích, tìm hiểu giao thức Radius
5) Thực hành cài đặt FreeRadius
6) Thực hành cài đặt giao thức xác thực sử dụng EAP-TLS
Trang 33CHƯƠNG III: CÁC GIAO THỨC BẢO MẬT MẠNG RIÊNG ẢO
3.1 Tổng quan về các giao thức mạng riêng ảo
Mạng riêng ảo (VPN- Virtual Private Network) là một mạng liên lạcriêng thường được sử dụng để kết nối giữa các bộ phận trong một công ty,một tổ chức, hoặc giữa các công ty, các tổ chức với nhau thông qua mạngcông cộng (intranet, internet) sử dụng các giao thức chuẩn
Bảo mật mạng riêng ảo là kỹ thuật cung cấp một kênh liên lạc an toàntrên một kênh liên lạc không an toàn Mạng riêng ảo thường có hai dạng kếtnối là Remote Access VPN và site-to-site VPN Ngày nay người ta thườngchia làm 3 loại mạng riêng ảo đó là mạng riêng ảo tin cậy – Trusted VPN,mạng riêng ảo an toàn – Secure VPN và mạng riêng ảo lai – Hybrid VPN
Sự riêng tư đạt được bởi các mạng riêng ảo là cái mà các nhà cung cấpdịch vụ đảm bảo với khách hàng rằng không ai có thể sử dụng cùng một mạngliên lạc Điều này cho phép khách hàng có địa chỉ IP riêng và chính sách bảomật riêng của họ Một kênh thuê chạy qua một hoặc nhiều mạng chuyển mạchthông tin liên lạc, có thể bị tổn thương bởi một người nào đó muốn quan sátlưu lượng mạng Trusted VPN duy trì tính toàn vẹn và khả năng sử dụng tốtnhất cho mạng liên lạc của khách hàng
Khi Internet trở nên phổ biến như một phương tiện truyền thông, anninh thông tin đã trở thành một vấn đề cấp bách cho cả khách hàng và nhàcung cấp dịch vụ Trusted VPN không đảm bảo an ninh an toàn và bảo mậtcho khách hàng, yêu cầu phải có các VPN có khả năng mã hóa và xác thực.Mạng lưới VPN được xây dựng bằng mã hóa/xác thực được gọi là SecureVPN
Một VPN an toàn có thể hoạt động như một phần của một TrustedVPN, tạo ra một loại thứ ba của VPN đó là hybrid VPN Các thành phần antoàn của một hybrid VPN có thể được kiểm soát bởi các khách hàng hoặc bởicác nhà cung cấp dịch vụ cùng cung cấp một phần đáng tin cậy của HybridVPN
Trang 34L2TP (Layer 2 Tunnelling Protocol) được phát triển bởi cả Ciscokết hợp với IPSec.
Giao thức tạo mạng riêng ảo ở tầng 3-Network: Giao thức IPSecđược biết như là một giao thức nổi tiếng và ứng dụng nhiều nhất ởtầng Network trong mô hình TCP/IP Nó cho phép bảo mật mạng IPdựa vào việc mã hoá và xác thực các gói tin IP Đây là một giaothức chuẩn để tạo mạng riêng ảo và bảo mật chúng với nhiềuphương án khác nhau và được tích hợp sẵn trong các Hệ điều hànhthông dụng như Windows, Linux, Unix-like, … Ngoài IPSec, còn
có thể kể đến công nghệ kết hợp GRE/IPSec
Giao thức tạo mạng riêng ảo ở tầng 4-Transport: Tiêu biểu ở đâyphải kể đến các VPN sử dụng giao thức SSL được sử dụng cho haimục đích là bảo mật mạng riêng ảo hoặc là bảo mật cho một dịch vụriêng (thường gọi là SSL VPN, chủ yếu là dịch vụ Web và truy nhập
từ xa) Ngoài ra ở tầng Transport+ còn có khá nhiều công nghệ tạomạng riêng ảo an toàn khác như: SOCKS VPN, WebVPN,PeerVPN, FreeLan …
3.2 Giao thức mạng riêng ảo dựa trên SSL
3.2.1 Giao thức SSL 3.0
Secure Sockets Layer là một giao thức cung cấp dịch vụ truyền thông
có bảo mật giữa client và server thông qua việc cho phép client và server xácthực lẫn nhau sử dụng chữ ký số và bảo mật thông tin trao đổi qua lại bằngcách mã hóa các thông tin đó Giao thức SSL có ba phiên bản:
SSL v2: phiên bản đầu tiên của SSL do Netscape thiết kế, chưa có sựtrợ giúp chuỗi chứng chỉ (chain certificate)
SSL v3: SSL phiên bản 3.0 cũng do Netscape thiết kế, đã có sự trợ giúpcho chuỗi chứng chỉ và đã được sử dụng cho hầu hết các trình duyệtphổ thông
TLS v1: Transport Layer Security phiên bản 1.0, do IETF (InternetEngineering Task Force) thiết kế dựa trên SSL v3 Tuy nhiên giao thứcnày không được hỗ trợ đối với nhiều trình duyệt thông dụng (ví dụNetscape) Hiện nay đã có các phiên bản mới của TLS đó là TLS v1.1
Trang 35 SSL Alert Protocol: thông báo lỗi
SSL Change Cipher Spec Protocol: thông báo xác nhận kết thúc giai đoạn HandShake Protocol
SSL Handshake Protocol
Sơ đồ tổng quan giao thức SSL Handshake:
Định dạng một số thông điệp trao đổi trong giai đoạn Handshake
Server Key Exhange
ClientHelloServerHelloCertificate
Certificate Request
ServerHelloDone
ChangeCipherSp
ec
Giai đoạn I: Thiết lập protocol version,
ID phiên, thuật toán mã hoá, phương pháp nén, trao đổi giá trị random
Giai đoạn II: Server gửi certificate, dữ liệu trao đổi khóa và yêu cầu Client gửi lại certificate nếu được thiết lập xác thực client
Giai đoạn III: Client gửi certificate nếu được yêu cầu, kết quả kiểm tra chứng chỉ server và dữ liệu trao đổi khóa
Giai đoạn IV: Change CipherSuit và kết thúc giai đoạn Handshake
Client
CertificateCertificate Verify
ChangeCipherSp
ecFinished
Server
Trang 36- gmt_unix_time: thời gian hiện hành
- Random_bytes: 28 byte dữ liệu được sinh từ bộ sinh ngẫu nhiên
- Client_version: phiên bản SSL Client sử dụng
- session_id: Định danh phiên, là một số 32 bytes
- cipher_suites: Danh sách thuật toán mã hóa mà client có
- compression_methods: Danh sách thuật toán nén dữ liệu
- Compression_method: một trong các nén dữ liệu
Định dạng của gói Certificate:
Trang 37Định dạng gói CertificateRequest:
struct {
ClientCertificateType certificate_types <1 2^8-1>;
DistinguishedName certificate_authorities <3 2^16-1>; } CertificateRequest;
có chứng chỉ tương ứng thì tùy thuộc vào việc yêu cầu xác thực client có đượcthiết lập hay không mà thông báo lỗi hoặc tiến hành bước tiếp theo
Định dạng gói ClientKeyExchange:
struct {
select (KeyExchangeAlgorithm) {
case rsa: EncryptedPreMasterSecret;
case difie_hellman: ClientDiffieHellmanPublic;
case fortezza_kea: FortezzaKeys;
Trang 38- ClientDiffieHellmanPublic: tham số công khai của client: g x mod p
- FortezzaKey: Cấu trúc khóa Fortezza
Quá trình tính khoá cho phiên liên lạc trong SSL
Nếu mọi bước trong quá trình Handshake đều thành công, Server/Client
đã thiết lập được thuật toán mã hoá, thuật toán MAC và giá trị "mầm khoá"chung sử dụng cho phiên liên lạc đó Giá trị mầm khoá được đặt vào biến
pre_master_secret (giá trị mầm khoá sẽ là g xy mod p), từ giá trị khoá ban đầu
này quá trình tính khoá cho phiên liên lạc được thực hiện trên mỗi bên nhưsau:
Trang 39 Chuyển pre_master_key thành master_secret bằng cách:
master_secret[48]=MD5(pre_master_secret+SHẮÁ +pre_master_secret +
ClientHellọrandom + ServerHellọrandom)) + MD5(pre_master_secret + SHẮBB' +pre_master_secret + ClientHellọrandom + ServerHellọrandom)) +
MD5(pre_master_secret + SHẮCCC' +pre_master_secret + ClientHellọrandom + ServerHellọrandom)) ;
Chuyển đổi từ master_secret thành keys và MAC secrets: từ
master_secret sẽ được băm thành các giá trị khoá, IV và MAC secret:
3.2.2 Giao thức mạng riêng ảo dựa trên SSL
Mục đích chính của Mạng riêng ảo dựa trên SSL (Secure Sockets LayerVPN) là cung cấp truy cập từ xa an toàn tới các tài nguyên của tổ chức VPN
là một mạng ảo, được xây dựng trên các mạng vật lý hiện có, có thể cung cấpmột cơ chế liên lạc thông tin an toàn cho dữ liệu và các thông tin khác đượctruyền giữa hai thiết bị đầu cuốị Bởi vì một VPN có thể được sử dụng trêncác mạng hiện có như Internet, nó có thể được sử dụng để tạo điều kiện choviệc truyền thông dữ liệu nhạy cảm một cách an toàn trên các mạng côngcộng
Mặc dù sự phổ biến của mạng riêng ảo SSL, chúng không thay thếIPsec VPN mà hai công nghệ này bổ sung và giải quyết các kiến trúc mạng
Trang 40riêng biệt tùy theo nhu cầu thực tế SSL VPN cung cấp tính linh hoạt và dễ sửdụng bởi vì chúng sử dụng giao thức SSL IPsec đã nổi lên như một giao thứcmạng riêng ảo sử dụng phổ biến nhất để để bảo vệ thông tin ở tầng mạng,trong khi SSL VPN thường được sử dụng cho việc bảo vệ tầng giao vận Tùythuộc vào cách IPsec và SSL được cài đặt và cấu hình, cả hai có thể cung cấpbất kỳ sự kết hợp của các loại hình bảo vệ chính sau đây:
Tính bảo mật: IPsec và SSL VPN có thể đảm bảo rằng dữ liệu khôngthể được đọc bởi các bên không được phép Việc này được thực hiệnbằng cách mã hóa dữ liệu sử dụng thuật toán mã hóa với một khóa bímật - một giá trị chỉ được biết bởi hai bên trao đổi dữ liệu Các dữ liệuchỉ có thể được giải mã bởi một người có khóa bí mật
Tính toàn vẹn: IPsec và SSL VPN có thể xác định xem dữ liệu đã đượcthay đổi (cố ý hoặc vô ý) trong thời gian truyền trên mạng hay không.Tính toàn vẹn của dữ liệu có thể được đảm bảo bằng cách sử dụng thuậttoán tạo mã xác thực thông báo (MAC) đối với toàn bộ gói tin
Xác thực đối tác: Mỗi thiết bị đầu cuối IPsec hoặc SSL VPN xác nhậndanh tính của thiết bị đầu cuối khác mà nó muốn giao tiếp, đảm bảo lưulượng mạng và dữ liệu được gửi từ các máy chủ hợp lệ dựa trên hệthống PKI Việc xác thực này có thể đảm bảo một chiều hoặc cả haichiều
Chống tấn công phát lại (replay attack): Cùng một dữ liệu không được
sử dụng lại đối với bên gửi, và dữ liệu phải theo đúng thứ tự Để thựchiện điều này, người ta thường sử dụng các giá trị định danh phiênngẫu nhiên kết hợp với các số thứ tự gắn cho mỗi gói tin (được xácthực nhờ thủ tục MAC) Cơ chế này được sử dụng trong cả IPsec vàSSL VPN
Khả năng vượt NAT: Một trong những hạn chế nghiêm trọng của IPSectrong nhưn phiên bản đầu tiên là chúng không có khả năng hoạt độngsau một thiết bị NAT Chế độ Authentication Header (AH) của IPSec
sẽ băm địa chỉ nguồn như một phần của quá trình xác thực của nó Nếu