HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TOÀN THÔNG TIN ĐỒ ÁN MÔN HỌC AN TOÀN INTERNET & THƯƠNG MẠI ĐIỆN TỬ Đề tài TÌM HIỂU HIỆU SUẤT COPS QUA TLS VÀ IPSEC Sinh viên thực hiện Giảng viên hướng dẫn Hà Nội, 202[.]
Trang 1Sinh viên thực hiện:
Giảng viên hướng dẫn:
Hà Nội, 2022
Trang 2Sinh viên thực hiện:
Giảng viên hướng dẫn:
Hà Nội, 2022
2
Trang 3MỤC LỤC
MỤC LỤC 3
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 5
DANH MỤC CÁC BẢNG, HÌNH VẼ 6
LỜI NÓI ĐẦU 7
CHƯƠNG I TỔNG QUAN VỀ GIAO THỨC IPSEC VÀ TLS 8
1.1 Tổng quan về giao thức IPsec 8
1.1.1 Giới thiệu về IPSec 8
1.1.2 Đánh giá IPSec 9
1.1.3 Ứng dụng của IPSec 9
1.1.4 Kiến trúc IPSec 10
1.1.5 Tính năng của IPSec 12
1.2 Tổng quan về giao thức TLS 12
1.2.1 Giới thiệu giao thức TLS 12
1.2.2 Cấu trúc của giao thức SSL/TLS 13
1.2.3 Chức năng và hoạt động của giao thức TLS 13
1.2.4 Ứng dụng giao thức TLS 14
CHƯƠNG II: TÌM HIỂU HIỆU SUẤT COPS QUA IPSEC VÀ TLS 16
2.1 Giới thiệu 16
2.2 Ba kịch bản để thực hiện COPS 16
2.2.1 COPS thuần túy 17
2.2.2 COPS qua TLS 17
2.2.3 COPS qua IPsec 18
2.2.4 TLS so với ipsec 19
CHƯƠNG III MÔ PHỎNG THỰC NGHIỆM 20
3.1 Mô phỏng,thực nghiệm 20
3.1.1 Môi trường hệ thống 20
Trang 43.1.2 Cấu hình bảo mật 20
3.2 Kết quả và phân tích : 20
3.2.1 Thời gian kết nối 21
3.2.2 Thời gian để PEP hoàn thành hoạt động COPS 23
3.2.3 Thời gian để PDP hoàn thành các hoạt động COPS 24
3.2.4 Chi phí bảo mật và hoạt động COPS 26
3.3 Kết luận 26
3.3.1 Hiệu suất sử dụng thời gian 26
3.3.2 Triển khai COPS/IPSec 26
3.3.3 Triển khai COPS/TLS 27
TÀI LIỆU THAM KHẢO 28
4
Trang 5DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
IETF Internet Engineering Task Force
Trang 6DANH MỤC CÁC BẢNG, HÌNH VẼ
Hình 1.1 IPSec trong mô hình OSI 8
Hình 1.2: Ứng dụng của IPSec 10
Hình 1.3 Kiến trúc IPSec 11
Hình 1.4 Cấu trúc TLS 13
Hình 2.1 Ngăn xếp giao thức 17
Hình 2.2 Bắt tay TLS hoàn chỉnh giữa PDP và PEP trong COPS/TLS 18
Hình 2.3 Xác thực Giai đoạn 1 bằng Khóa chia sẻ trước (Chế độ chính) 19
Bảng 2.1 Thuật toán bảo mật được sử dụng trong TLS và Ipsec 19
Hình 3.1 Mô phỏng một phiên trong ba kịch bản 21
Bảng 3.1 Thời gian kết nối (mili giây) 22
Hình 3.2 Thời gian để tạo ba thông điệp bắt tay 23
Hình 3.3 Thời gian để PEP hoàn thành toàn bộ phiên cho ba tình huống trong cả năm mô phỏng 24
Hình 3.4 Thời gian để PDP hoàn thành toàn bộ phiên cho ba kịch bản trong cả năm mô phỏng 25
Trang 7LỜI NÓI ĐẦU
Trong bối cảnh hiện nay, khi Internet phát triển rộng khắp và mạnh mẽ, hơn nữakhi đại dịch xảy ra nhu cầu kết nối, chia sẻ, làm việc từ xa, trao đổi dữ liệu trên mạngtrở thành một phần thiết yếu trong cuộc sống Để đáp ứng được nhu cầu trên, các nhàcung cấp dịch vụ không chỉ quan tâm đến phát triển dịch vụ mà còn phải xây dựng,củng cố và tối ưu hóa hạ tầng lẫn dịch vụ Đảm bảo tính toàn vẹn, bí mật, xác thực, sẵn
sàng,…cho hệ thống Hiểu được điều này chúng em đã chọn đề tài “Tìm hiểu hiệu suất COPS qua TLS và IPsec” Nội dung chính được đưa ra là đánh giá hiệu suất của
COPS qua các kết nối TLS IPsec an toàn Đối với dữ liệu có kích thước lớn, khi chúng
ta áp dụng mã hóa xác thực, thông lượng sẽ giảm đi so với thông lượng có xác thựchoặc mã hóa COPS có các cơ chế bảo mật riêng, nhưng nó có những hạn chế COPSkhông bao gồm quản lý tiêu chuẩn và không bảo mật từng bước về quyền riêng tư của
dữ liệu Để được triển khai, nó cần hỗ trợ các mô hình kiểm soát truy cập
Đề tài được chúng em triển khai chia thành 3 chương như sau:
Chương 1 Tổng quan về giao thức IPsec và TLS
Chương 2 Tìm hiểu hiệu suất COPS qua TLS và Ipsec
Chương 3 Mô phỏng thực nghiệm
Do hạn chế về thời gian cũng như kiến thức, tài liệu chắc chắn sẽ có rất nhiềukhuyết điểm và sai sót, chúng em rất mong nhận được ý kiến nhận xét và sửa đổi của
cô và các bạn
Trang 8CHƯƠNG I TỔNG QUAN VỀ GIAO THỨC IPSEC VÀ TLS
1.1 Tổng quan về giao thức IPsec
1.1.1 Giới thiệu về IPSec
Giao thức TCP/IP đóng một vai trò rất quan trọng trong các hệ thống hiện nay
Về nguyên tắc, có nhiều tùy chọn khác nhau về giao thức để triển khai các hệ thốngmạng như TCP/IP, TPX/SPX, NetBEUI, Apple talk,… Tuy nhiên TCP/IP là sự lựachọn gần như bắt buộc do giao thức này được sử dụng làm giao thức nền tảng củamạng Internet
Vào thời điểm thiết kế giao thức này, vấn đề bảo mật thông tin chưa thật sựđược quan tâm, do đó, các giao thức trong bộ TCP/IP hầu như không được trang bị bất
cứ giao thức nào Cấu trúc gói dữ liệu (IP, TCP,UDP và cả các giao thức ứng dụng)được mô tả công khai, bắt được gói IP trên mạng, ai cũng có thể phân tích gói để đọcphần dữ liệu chứa bên trong, đó là chưa kể hiện nay, các công cụ bắt và phân tích góiđược xây dựng với tính năng mạnh và phát hành rộng rãi Việc bổ sung các cơ chế bảomật vào mô hình TCP/IP, bắt đầu từ giao thức IP là một nhu cầu cấp bách
IP Security (IPSec – Internet Protocol Security) là một giao thức được chuẩn hoábởi IETF (Internet Engineering Task Force) từ năm 1998 nhằm mục đích nâng cấp các
cơ chế mã hoá và xác thực thông tin cho chuỗi thông tin truyền đi trên mạng bằng giaothức IP Hay nói cách khác, IPSec là sự tập hợp của các chuẩn mở được thiết lập đểđảm bảo sự cẩn mật dữ liệu, đảm bảo tính toàn vẹn dữ liệu và chứng thực dữ liệu giữacác thiết bị mạng
8
Trang 9Hình 1.1 IPSec trong mô hình OSI
IPSec cung cấp một cơ cấu bảo mật ở tầng 3 (Network layer) của mô hình OSI vì mọigiao tiếp trong một mạng trên cơ sở IP đều dựa trên các giao thức IP Do đó, khi một cơchế bảo mật cao được tích hợp với giao thức IP, toàn bộ mạng được bảo mật bởi vì cácgiao tiếp đều đi qua tầng 3 (Network layer) trong mô hình OSI IPSec được thiết kế nhưphần mở rộng của giao thức IP, được thực hiện thống nhất trong cả hai phiên bản IPv4
và IPv6 Đối với IPv4, việc áp dụng IPSec là một tuỳ chọn, nhưng đối với IPv6, giaothức bảo mật này được triển khai bắt buộc
IPSec có thể được cấu hình để hoạt động một cách trong suốt đối với cácứng dụng đầu cuối, điều này giúp che giấu những chi tiết cấu hình phức tạp màngười dùng phải thực hiện khi kết nối đến mạng nội bộ từ xa thông qua mạngInternet
1.1.2.2 Hạn chế
Tất cả các gói được xử lý theo IPSec sẽ bị tăng kích thước do phải thêmvào các tiêu đề khác nhau, điều này làm cho thông lượng hiệu dụng của mạnggiảm xuống Vấn đề này có thể được khắc phục bằng cách nén dữ liệu trước khi
mã hóa, song các kĩ thuật như vậy vẫn còn đang nghiên cứu và chưa đượcchuẩn hóa
IPSec được thiết kế chỉ để hỗ trợ bảo mật cho lưu lượng IP, không hỗ trợcác dạng lưu lượng khác
Việc tính toán nhiều giải thuật phức tạp trong IPSec vẫn còn là một vấn
đề khó đối với các trạm làm việc và máy PC năng lực yếu
Việc phân phối các phần cứng và phần mềm mật mã vẫn còn bị hạn chếđối với chính phủ một số quốc gia
1.1.3 Ứng dụng của IPSec
Trang 10 Bảo vệ kết nối từ các mạng chi nhánh đến mạng trung tâm thông quaInternet.
Bảo vệ kết nối truy cập từ xa (Remote Access)
Thiết lập các kết nối Intranet và Extranet
Nâng cao tính bảo mật của các giao dịch thương mại điện tử
Hình 1.2: Ứng dụng của IPSec
1.1.4 Kiến trúc IPSec
IPSec là một giao thức phức tạp, dựa trên nền của nhiều kỹ thuật cơ sở khácnhau như mật mã, xác thực, trao đổi khoá… Xét về mặt kiến trúc, IPSec được xây dựngdựa trên các thành phần cơ bản sau đây, mỗi thành phần được định nghĩa trong một tàiliệu riêng tương ứng:
10
Trang 11AH, mỗi giao thức có ưu và nhược điểm riêng.
Thuật toán mật mã: Định nghĩa các thuật toán mã hoá và giải mã sử dụng trongIPSec IPSec chủ yếu dựa vào các thuật toán mã hoá đối xứng
Thuật toán xác thực: Định nghĩa các thuật toán xác thực thông tin sử dụng trong
độ hoạt động khác nhau Việc xác định một tập các chế độ cần thiết để triển khai IPSectrong một tình huống cụ thể là chức năng của miền thực thi Xét về mặt ứng dụng,IPSec thực chất là một giao thức hoạt động song song với IP nhằm cung cấp 2 chứcnăng cơ bản mà IP nguyên thuỷ chưa có, đó là mã hoá và xác thực gói dữ liệu Mộtcách khái quát có thể xem IPSec là một tổ hợp gồm hai thành phần:
Trang 12 Giao thức đóng gói, gồm AH và ESP: bảo về truyền thông IP, dựa vào SA(khóa, địa chỉ, các thuật toán mật mã)
Giao thức trao đổi khoá IKE (Internet Key Exchange): để thiết lập các SA(Security Association) cho AH hoặc ESP, và duy trì/quản lý các kết nối
1.1.5 Tính năng của IPSec
Để thực hiện được chức năng chính của mình là bảo mật dữ liệu trong VPN, IPSeccung cấp những tính năng sau:
Sự bảo mật dữ liệu (Data Confidentiality): Đảm bảo dữ liệu được an toàn, tránh
những kẻ tấn công phá hoại bằng cách thay đổi nội dung hoặc đánh cắp dữ liệuquan trọng Việc bảo vệ dữ liệu được thực hiện bằng các thuật toán mã hóa nhưDES, 3DES và AES Tuy nhiên, đây là một tính năng tùy chọn trong IPSec
Sự toàn vẹn dữ liệu (Data Integrity): Đảm bảo rằng dữ liệu không bị thay đổi
trong suốt quá trình trao đổi Data Integrity bản thân nó không cung cấp sự an toàn
dữ liệu Nó sử dụng thuật toán băm (hash) để kiểm tra dữ liệu bên trong gói tin có
bị thay đổi hay không Những gói tin nào bị phát hiện là đã bị thay đổi thì sẽ bị loại
bỏ Những thuật toán băm: MD5 hoặc SHA-1
Chứng thực nguồn dữ liệu (Data Origin Authentication): Mỗi điểm cuối của
VPN dùng tính năng này để xác định đầu phía bên kia có thực sự là người muốnkết nối đến mình hay không Lưu ý là tính năng này không tồn tại một mình màphụ thuộc vào tính năng toàn vẹn dữ liệu Việc chứng thực dựa vào những kĩ thuật:Pre-shared key, RSA-encryption, RSA-signature
Tránh trùng lặp (Anti-replay): Đảm bảo gói tin không bị trùng lặp bằng việc
đánh số thứ tự Gói tin nào trùng sẽ bị loại bỏ, đây cũng là tính năng tùy chọn
1.2 Tổng quan về giao thức TLS
1.2.1 Giới thiệu giao thức TLS
TLS (Transport Layer Security) – Bảo mật tầng vận chuyển Đây là một giaothức mật mã cung cấp bảo mật đầu cuối cho dữ liệu được gửi giữa các ứng dụng quaInternet TLS được biết đến chủ yếu thông qua việc sử dụng trong duyệt web an toànvới chuẩn HTTPS và đặc biệt là biểu tượng ổ khóa xuất hiện trong trình duyệt web khimột phiên truy cập bảo mật được thiết lập Tuy nhiên, nó cũng có thể và được khuyếnkhích sử dụng cho các ứng dụng khác như e-mail, truyền tệp, hội nghị truyền hình / âmthanh, nhắn tin tức thì và VoIP, cũng như các dịch vụ Internet như DNS và NTP
TLS phát triển từ Lớp cổng bảo mật (SSL – Secure Sockets Layer) bởiNetscape Communications Corporation vào năm 1994 để bảo mật các phiên duyệtweb TLS lần đầu tiên được định nghĩa trong RFC 2246 vào năm 1999 như một giaothức độc lập với ứng dụng Cần lưu ý rằng TLS không bảo mật dữ liệu trên các hệthống đầu cuối Nó chỉ đảm bảo dữ liệu an toàn trên đường truyền qua Internet, tránhkhả năng bị nghe trộm hoặc thay đổi nội dung
12
Trang 13TLS thường được triển khai trên TCP để mã hóa các giao thức Lớp ứng dụngnhư HTTP, FTP, SMTP và IMAP, mặc dù nó cũng có thể được triển khai trên UDP,DCCP và SCTP (ví dụ: đối với ứng dụng dựa trên VPN và SIP).
1.2.2 Cấu trúc của giao thức SSL/TLS
Do giao thức TLS được phát triển dựa trên giao thức SSL nên chúng ta cùngtìm hiểu một chút về cấu trúc của giao thức SSL trước nhé Chúng ta cùng xem hìnhminh hoạ
Hình 1.4 Cấu trúc TLS
Theo hình mình hoạ trên thì cấu trúc và giao thức SSL được đặt giữa tầng vậnchuyển (Transport Layer) và tầng ứng dụng (Application Layer)
Giao thức SSL cung cấp giao thức bảo mật truyền thông có 3 đặc điểm nổi bật
o Các bên giao tiếp (nghĩa là client và server) có thể xác thực nhau bằngcách sử dụng mật mã khóa chung
o Sự bí mật của lưu lượng dữ liệu được bảo vệ vì nối kết được mã hóatrong suốt sau khi một sự thiết lập quan hệ ban đầu và sự thương lượng khóa session
đã xảy ra
o Tính xác thực và tính toàn vẹn của lưu lượng dữ liệu cũng được bảo vệ
vì các thông báo được xác thực và được kiểm tra tính toàn vẹn một cách trong suốtbằng cách sử dụng MAC
1.2.3 Chức năng và hoạt động của giao thức TLS
Mục tiêu chính của giao thức TLS là cung cấp sự riêng tư và toàn vẹn dữ liệugiữa hai ứng dụng trong môi trường mạng
Cũng như giao thức SSL thì giao thức TLS cũng theo mô hình client-server
Trong mô hình TCP/IP thì giao thức TLS gồm có hai lớp là Record Layer vàHandshake Layer
Trang 14 Record layer là lớp thấp nhất bao gồm TLS record protocol (trên tầng giao vận
như giao thức điều khiển truyền tải TCP, giao thức truyền vận không tin cậy UDP)
Đặc tính kết nối riêng tư: mã hoá đối xứng được sử dụng để mã hoá dữ liệu (mãhoá AES ) Các khoá để mã hoá đối xứng được sinh ra cho mỗi lần kết nối và đượcthoả thuận bí mật của giao thức khác (ví dụ TLS) Chính vì vậy giao thức TLS cũng cóthể được sử dụng mà không cần mã hoá
Đặc tính kết nối đáng tin cậy: Một thông điệp vận chuyển thông báo sẽ bao gồmkiểm tra tính toàn vẹn (sử dụng hàm Băm ví dụ SHA-1)
Ngoài ra giao thức TLS còn được sử dụng để phân mảnh, nén, đóng gói, mã hoá
dữ liệu, cho phép máy chủ xác nhận nhau và thoả thuận thuật toán mã hoá
Handshake Layer: nằm trên lớp bản ghi
o Định danh của điểm kết nối có thể được xác thực bằng cách sử dụng mãhóa bất đối xứng hoặc khóa công khai (RSA)
o Quá trình thỏa thuận khóa bí mật chia sẻ được an toàn
o Quá trình thỏa thuận đáng tin cậy
1.2.4 Ứng dụng giao thức TLS.
TLS có khả năng ứng dụng rộng rãi trong nhiều lĩnh vực, nhưng nổi bật nhấtvẫn là sử dụng làm giao thức bảo mật cho HTTPS Cho dù độ phổ biến chưa cao nhưSSL nhưng TLS có thể cung cấp những khả năng tương đương và thậm chí tốt hơn ởmột số khía cạnh Điều đó khiến ngày nay người ta vẫn thường đặt chung SSL/TLSkhi nói về các giao thức bảo mật của HTTPS
Ngoài HTTPS, TLS còn có thể ứng dụng trong nhiều giao thức khác như FTP,SNMP, NNTP và XMPP Ngay cả khi không hỗ trợ các giao thức tiêu chuẩn thì người
ta vẫn có thể sử dụng khả năng mã hóa, xác thực của TLS cho các ứng dụng server cần giao tiếp an toàn
client-14
Trang 16CHƯƠNG II: TÌM HIỂU HIỆU SUẤT COPS QUA IPSEC VÀ
TLS
2.1 Giới thiệu
COPS (Common Open Policy Service) được thiết kế để phân phối thông tinchính sách văn bản rõ ràng từ Điểm Quyết định Chính sách (PDP) tới một tập hợp cácĐiểm Thực thi Chính sách (PEP) trên Internet COPS cung cấp các cơ chế bảo mật củariêng mình để bảo vệ per-hop của chính sách được triển khai
Tuy nhiên, việc sử dụng COPS cho các ứng dụng nhạy cảm chẳng hạn như một số loạiphân phối chính sách bảo mật yêu cầu các biện pháp bổ sung, chẳng hạn như quyềnriêng tư của dữ liệu Điều này là do một số tổ chức cần ẩn một số hoặc tất cả chínhsách bảo mật của họ, ví dụ: vì việc phân phối chính sách cho các thiết bị như nền tảng
di động có thể vượt qua các ranh giới miền
COPS có thể sử dụng lại các giao thức hiện có để bảo mật như IPsec hoặc TLS xácthực và bảo mật kênh giữa PDP và PEP TLS được thiết kế để cung cấp bảo mật hướngkênh Nó cung cấp các cơ chế cho cả một và hai chiều xác thực, khóa phiên động,quyền riêng tư và tính toàn vẹn của luồng dữ liệu IPsec tích hợp cung cấp các dịch vụbảo mật tương tự như các dịch vụ của TLS Ngoài ra còn có sự khác biệt khi sử dụnghai giao thức này để bảo mật COPS
Như đã biết, quá trình xử lý cần thiết cho các chức năng bảo mật không hề nhẹ và có
xu hướng khá lớn Khi thực thi chức năng bảo mật (TLS hoặc Ipsec) yêu cầu sức mạnh
xử lý rất lớn, chúng tôi có thể thiếu thông lượng cho nhiều ứng dụng
Hoặc nếu không, chúng tôi có thể cần triển khai phần cứng đặc biệt để xử lý các chứcnăng bảo mật đó
2.2 Ba kịch bản để thực hiện COPS
Dưới đây là ba kịch bản để nghiên cứu hiệu suất COPS có và không có tínhnăng bảo mật: COPS thuần túy, COPS qua TLS và COPS qua IPsec Ba kịch bản trongngăn xếp giao thức được hiển thị trong Hình 2.1 Phần này sẽ mô tả ngắn gọn về bakịch bản
16