Giới thiệu tổng quan đưa ra một tầm nhìn chung về giao thức bảo mật SSL/TLS, dau tién là giới thiệu khái nệm SSL, TLS, lịch sử phát triển SSL/TLS và các phiên bản; và đưa ra vai trò qua
Trang 1
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THÔNG
KHOA AN TOAN THONG TIN
BAI TAP LON
HOC PHAN: AN TOAN VA BAO MAT
HE THONG THONG TIN
NHOM 08
Đề Tài: Tìm hiểu về giao thức bảo mật SSL/TLS
Giang vién: Ninh Thi Thu Trang
Nguyễn Đình Việt Cường B2IDCCNI9I
Mai Xuân Hiếu B2IDCCN359
Lưu Trung Kiên B2IDCCN07I
Nguyễn Minh Quân B21DCCN611
Pham Thu Trang B21DCCN719
Hà Nội 2024
Trang 2LỜI MỞ ĐẦU
An toàn và bảo mật hệ thống thông tin là môn học cơ sở chuyên ngành trong chương trình đào tạo ngành Công nghệ thông tin Môn học cung cấp sinh viên các khái niệm và nguyên tắc cơ bản về dam bao an toàn thông tim, an toàn máy tính và an toàn hệ thống thông tin; các khái niệm về nguy cơ gây mắt an toàn, các điểm yếu và các lỗ hồng bảo mật tồn tại trong hệ thống; các dạng tấn công, xâm nhập thường gặp vào hệ thống máy tính và mạng: các dạng phần mềm độc hại; các giải pháp, kỹ thuật và công cụ phòng chống, đảm bảo an toàn thông tin, hệ thống và mạng; vấn đề quản lý an toàn thông tin, chính sách, pháp luật
va đạo đức an toàn théng tin
Đề tài 7m hiểu về giao thc bao mat SSL/TLS là một phạm vi trong môn học An
toàn và bảo mật hệ thống thông tin Nội dung của bản báo cáo bài tập lớn được chia thành
2 nội dung chính với tóm tắt như sau:
Phần 7 Giới thiệu tổng quan đưa ra một tầm nhìn chung về giao thức bảo mật
SSL/TLS, dau tién là giới thiệu khái nệm SSL, TLS, lịch sử phát triển SSL/TLS và các
phiên bản; và đưa ra vai trò quan trọng của SSL/TLS trong việc bảo mật truyền thông Phan IL Nội dưng chính gồm 4 nội dung chính Nội dung đầu tiên 7 Kiến trúc của
SSL/TLS mé ta kién trúc, các thành phần của SSL/TLS và các khái niệm về các thành phần
trong SSL/TLS Noi dung thứ hai 2 Cách hoat déng cua SSL/TLS giai thich cach làm việc
cua SSL/TLS N6i dung cudi cùng 3 Các thuật toán mã hóa đưa ra các thuật toán, hàm băm có thê được sử dung trong SSL/TLS
Phan /// Ung dung la phan img dung giao thitc bao mat SSL/TLS Phan néi dung
này là phần triển khai của nhóm dựa trên cơ sở lý thuyết là bài báo cáo này
Bản báo cáo bài tập lớn được soạn dựa trên sự tìm hiểu của các thành viên trong
nhóm về giao thức SSL/TLS qua bài giảng và các tài liệu về An toàn và bảo mật hệ thống thông tin Nhóm em mong nhận được ý kiến phản hồi và góp ý cho các thiếu sót, cũng như
ý kiên về việc cập nhật, hoàn thiện hơn nữa về nội dung
Nhóm 8
Trang 3MỤC LỤC
I GIỚI THIỆU TỎNG QUAN
1 Giới thiệu và lịch sứ ra đồi .cc Tnhh nà nh ng ghê
LJ SSL— Secure Sockefs Layer
NWẺ , r hs
2 Tam quan trong của SSL/TLS trong việc bảo mật truyền thông
II NỘI DUNG CHÍNHH 0 G20 S121 12121 E2 1511110211151 1110181111111 81110111 HH ưu
1 Kiến trúc của SSL/TLS
2 Cúch hoạt động của SŠL/TH HH kg hen kh 2.1 Khởi tạo phiên làm việc (Giao thức HandshakRe)
2.2 Vận chuyền đt liệu an toàn
3 Cúc thuật toán mã hóa
II ỨNG DỤNG
TÀI LIỆU THAM KHẢO
BANG PHAN CÔNG CÔNG VIỆC
Trang 4I GIOL THIEU TONG QUAN
1 Giới thiệu và lịch sử ra đời
11, SSL — Secure Sockets Layer
SSL (Lép socket bao mật) là một loại bảo mật giúp mã hóa liên lạc giữa website và trình duyệt SSL là giao thức bảo mật do công ty Netscape phát minh năm 1993 Các phiên bản SSL được phát triển bao gồm:
Phién ban 1.0 (1993) duoc su dung ndi bé chi boi Netscape Communications No
chứa một số khiếm khuyết nghiêm trọng và không bao giờ được tung ra bên ngoài Phiên bán 2.0 (1995) được kết nhập vào Netscape Communications 10 đến 2.x Nó
có một số điểm yếu liên quan đến sự hiện thân cụ thể của cuộc tấn công của đối
tượng trung gian Trong một nỗ lực nhằm dùng sự không chắc chắn của công chúng
về bảo mật của SSL, Microsoft cũng đã giới thiệu giao thức PCT (Private Communication Technology) cạnh tranh trong lần tung ra Internet Explorer đầu tiên vào năm 1996,
Phiên ban 3.0 (1996) Netscape Communications da phản ứng lại sự thách thức PCT của Microsoft bằng cách giới thiệu SSL 3.0 giải quyết các van dé trong SSL 2.0 va
thêm một số tinh năng mới
Sau phiên bản 3.0, SSL chính thức dừng phát triển SSL hiện ít được sử dụng do có nhiều lỗi và không được cập nhật Do vậy công nghệ này đang được thay thế hoàn toàn bởi giao thức TLS
1.2 TLS — Transport Layer Security
TLS (Bao mat tang giao vận) cũng giúp bảo mật thông tin truyền giống như SSL Nhưng
vì SSL không còn được phát triển nữa, nên TLS mới là thuật ngữ đúng nên ding TLS duoc
phát triển vào năm 1999 dựa trên SSL 3.0 do tổ chức IETF phê chuẩn Các phiên bản của
TLS gồm:
Phiên bản I.0 (1999) đã cung cấp các tính năng bảo mật cơ bản và đã được sử dụng
rong rai trong nhiều năm Tuy nhiên, nó đã bị phát hiện một số lỗ hồng bảo mật và
không còn được coi là an toàn trong các môi trường hiện đại
Phiên bán 1.1 (2005) đã cải thiện một số lỗ hồng bảo mật của TLS 1.0 va cung cap
các tính năng mới như hỗ trợ cho các thuật toán mã hóa mạnh hơn
Phiên bản 1.2 (2008) đã trở thành một phiên bản phố biến trong các ứng dụng web
hiện đại TLS 1.2 cung cấp hỗ trợ cho các thuật toán mã hóa mạnh mẽ hơn, cải thiện tính toản vẹn dữ liệu và xác thực, và ngăn chặn các cuộc tấn công như BEAST và POODLE
Phiên bản 1.3 (Thang 10/2017) cung cap nhiéu cai tiến về hiệu suất và bảo mật so với các phiên bản trước đó TUS I.3 giảm đáng kê số lượng giao tiếp giữa máy khách
Trang 5cũng loại bỏ các thuật toán cũ không an toàn và tăng cường tính bảo mật cho việc truyền đữ liệu Hiện nay phiên bản TLS L.3 được sử dụng rộng rãi nhất, còn SSL chỉ được giữ lại tên với lý do lịch sử
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 Đề 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/TLS đã kết hợp những yếu tổ sau đề thiết lập được một giao dịch an toàn:
e Xdc thwc: dam bao 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
e Mã hóa: đả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ã hóa đề không thê đọc được bởi những người khác ngoài người gửi và
người nhận
e Joan ven dit liéu dam bao thông tì 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/TLS, các Website có thê cung cấp khả năng bảo mật thông tin, xác thực và toàn vẹn đữ liệu đến người dùng SSL/TLS đượ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
2 Tam quan trọng của SSL/TLS trong việc bảo mật truyền thông
Với trình độ và quy mô của tội phạm mạng đang ngày càng gia tăng như hiện nay thì việc phải sử dụng các giao thức bảo mật truyền thông là hết sức cần thiết trên không gian mạng đặc biệt là đối với các thông tin nhạy cảm của người dùng Do đó các giao thức như SSL/TLS la yéu tố bắt buộc khi chúng ta cần xử lý các thông tin nhạy cảm như thông tin đăng nhập và mật khâu, hoặc khi phải xử lý các thông tin thanh toán
Mục tiêu của SSL/TLS là đảm bảo chỉ có một người nhận mà người gửi chỉ định mới
có thê truy cập vào thông tin dữ liệu được truyền đi Việc này đặc biệt quan trọng khi có rất
nhiều thiết bị và server mà thông tin phải đi qua từ lúc gửi đến lúc chính thức tới đúng nơi
Ba ly do chính mà một website hiện đại buộc phải có SSL/TLS:
e_ Khi chúng ta cân chứng thực: Bất kỳ server nào cũng có thê giả dạng là server của bạn, đánh cắp thông tin được truyền đưa SSL/TLS cho phép chúng ta xác thực danh tính của server để người dùng biết chắc họ đang giao tiếp với đúng người mà họ muốn giao tiếp
Trang 6© Để tăng độ tin cậy: Nếu chúng ta đang chạy một website ecommerce mà chúng ta cần người dùng đưa các thông tin quan trọng đối với họ, thì ít nhất họ cần biết thông
tin họ gửi phải được bảo mật trước thi ho mdi tin chung ta Su dung SSL/TLS la
cách dễ nhất đề cho khách truy cập tin tưởng hơn bất kỳ lời cam kết nào được đưa
ra từ phía chúng ta
© Khi chúng ta cân tuân thủ chuẩn cho ngành của mình: Trong một số ngành nhất
định, như ngành tải chính, chúng ta sẽ bắt buộc áp dụng một số chuẩn bảo mật nhằm bảo vệ tài khoản tránh việc bị đánh cắp thông tm và tài sản Một trong số các yêu cầu thiết yếu là việc sử dụng chimg chi SSL/TLS
Giao thức SSL/TLS có thể được dùng trên hầu hết mọi thiết bị, giúp nó trở thành chuân
bảo mật lĩnh hoạt nhất trong thời đại công nghệ đa thiết bị hiện nay Giá trị sử dụng của nó
đang dân tăng lên theo gian, trong khi giá thành đang ngày càng giảm dân
II NOI DUNG CHÍNH
1 Kiến trúc của SSL/TLS
HTTP | FTP | SMTP
SSL or TLS
TCP
IP
Hinh 1.1 SSL/TLS trong bộ giao thiee TCPAP Hinh 1.1] biéu dién vị trí của giao thức SSL/TLS trong chồng giao thức TCP/IP Có thê thấy SSL/TLS hoàn toàn độc lập với các giao thức tầng ứng dụng nên nó có thê được
sử dụng để bảo mật thông tin truyền cho nhiều giao thức ứng dụng khác nhau, như HTTP, SMTP va FTP Chăng hạn, giao thức báo mật web HTTPS = HTTP + SSL/TLS, có nghĩa
là HTTPS tạo ra bởi HTTP chạy trên nền SSL/TLS Một trong các điều kiện đê SSL/TLS
có thê hoạt động là ít nhất một thực thể (thường là máy chủ) tham gia phiên truyền thông phải có chứng chỉ số cho khóa công khai (Public key certilicate)
Chứng chỉ khóa công khai (Public key certificate) là một tài liệu điện tử sử dụng một
Trang 7chứng chỉ số gồm:
e Chữ ký số: là chữ ký của một bên thứ 3 tin cậy cung cấp chứng chỉ số, thường gọi là Certificate Authority (CA)
© Khóa công khai: là khóa công khai trong cặp khóa công khai và khóa riêng của thực thể
e_ /hông tin nhận dạng: là tên, địa chỉ, tên miền hoặc các thông tin định danh của thực
thé
Protocols secured by SSL
SSL
Handshake cher ne So Net
Protocol Protocol
SSL Record Layer
Application Layer
tệ 3 l
Layer Internet Layer [ Network Access J Network Layer
Hình 1.2 Các giao thc con cua SSL/TLS Theo hinh 1.2, SSL/TLS 1a mét lop (bao mat) trung gian giữa lớp vận chuyền (Transport Layer) và lop img dung (Application Layer) Về khả năng, nó có thể cung cấp các dịch vụ bảo mật cho các giao thức ứng dụng tùy ý dựa vào TCP chứ không chỉ HTTP Thực tế, một
ưu điểm chính của các giao thức bảo mật lớp vận chuyển (Transport layer) nói chung và giao thức SSL/TLS nói riêng là chúng độc lập với ứng dụng theo nghĩa là chúng có thể được sử dụng để bảo vệ bất kỳ giao thức ứng dụng được xếp lớp lên trên TCP một cách trong suốt Một số giao thức ứng dụng điển hình bao gồm HTTP, FTP, Telnet, IMAP, IRC,
và POP3 Tất cả chúng có thê được bảo vệ bằng cách xếp chúng lên trên SSL/TLS Tuy
nhiên, chú ý rằng S5L/TLS có một định hướng clienf-server mạnh mẽ và thật sự không đáp
ứng các yêu cầu của các giao thức ứng dụng ngang hàng
Tóm lại, giao thức SSL/TLS cung cấp sự bảo mật truyền thông có ba đặc tính cơ bản:
e Các bên giao tiếp (nghĩa là client và server) có thê xác thực nhau bằng cách sử dụng mật mã khóa chung
Trang 8khi một sự thiết lập quan hệ ban đầu và sự thương lượng khóa session đã xảy ra Mã
hóa trong suốt là việc dữ liệu được mã hóa tại nguồn và chỉ giải mã tại điểm đích, đi
qua mọi điểm trung gian trong quá trình truyền tải mà không bị giải mã ở bất kỳ điểm trung gian nảo
e 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ốt bằng cách sử
dụng MAC (Message Authentication Code) - một phương tiện đề kiểm tra tính xác thực và toàn vẹn của dữ liệu được truyền qua mạng MAC được tạo ra bằng cách sử
dụng một hàm băm và một khóa bí mật, và nó thường được gắn kèm với dữ liệu gốc
để tạo ra một giá trị duy nhất chỉ dành cho dữ liệu đó
SSL/TLS là một bộ gồm có 4 giao thức con như trên #3» 7.2 Các giao thức con của SSL/TLS gồm:
e SSL Record Protocol: Giao thức bản ghi của SSL có nhiệm vụ tạo đường hầm an toàn đề chuyên thông tin dam bảo tính bí mật, toàn vẹn và xác thực Nó dùng để xác
định các định dạng được sử dụng khi truyền dữ liệu như trong trường protocol version sẽ cho biết sử dung SSL 3.0, TLS 1.1, TLS 1.2 hay TLS 1.3, có trường
hashing dé dam bao tinh toan ven va xac thuc Vé cach hoat động, phần đữ liệu sẽ được phân thành nhiều mánh, mỗi mảnh sẽ được nén lại Tiếp theo là dùng hàm băm như MD5, SHA đề băm phần nén và được giá trị băm Sau đó giá trị băm được gắn
vào phần nén và lấy đi mã hóa
Ba giao thức dưới đây là ba giao thức được xếp lóp trên SSL Record Protocol đề cung cấp sự hỗ trợ cho việc quản lý session SSL và thiết lập kết ni
e SSL Handshake Protocol: Giao thirc bat tay của SSL có nhiệm vụ trao đổi các thông
điệp xác thực thực thê và thiết lập các thông số cho phiên làm việc Giao thức bắt tay SSL bao gồm hai giai đoạn: xác thực server và xác thực ứng dụng client Trong giai đoạn đầu tiên, server, đê đáp ứng yêu cầu của khách hàng, sẽ gửi chứng chỉ số
của nó - chứa khóa công khai của server và các tùy chọn mật mã của nó Sau đó,
client sẽ tạo khóa phiên và mã hóa bằng khóa công khai của server Sau đó, client sẽ gửi khóa phiên được mã hóa đến server Server khôi phục khóa phiên và tự xác thực bằng cách trả về kết quả thành công cho client Client và server mã hóa và xác thực
dữ liệu tiếp theo bằng các khóa lấy từ khóa phiên này Trong giai đoạn thứ hai, khi
server gửi yêu cầu xác thực thì client sẽ gửi chứng chỉ số của mình cho server, cả hai bên sẽ băm các thông tin trao đối từ trước đó Client sé ding khoa bi mat dé ky
lên giá trị băm và gửi cho server Bên server khi nhận được sẽ dùng khóa công khai
của client đề giải mã sau đó so sánh 2 giá trị băm với nhau, nếu trùng thì xác thực
Trang 9e SSL Change Cipher Spec Protocol: Giao thức thiết lập việc sử dụng các bộ mã hóa được hỗ trợ bởi cả 2 bên tham gia phiên truyền thông;
e SSL Alert Protocol: Dugc ding dé truyén canh bao vdi liên kết bên kia như không
thé thiét lập các thông số bảo mật được đưa ra từ lựa chọn có sẵn, certiicate nhận được không hop 1é, hoac certificate da hét han dang ky
2 Cach hoat dong cia SSL/TLS
Cách thức hoạt động của SSL/TLS:
¡ Khi mới bắt đầu giao thức Bắt tay (Handshake) khởi tạo phiên làm việc (có sự
hỗ trợ của giao thức Change Cipher Spec)
ii Sau khi khởi tạo xong giao thức Bán ghi (Record) vận chuyển dữ liệu an toàn
li — Giao thức Cánh báo (Alert) gửi các cảnh báo khi xảy ra lỗi hoặc I sự kiện đặc biệt
Browser Web Server
Handshake Protocol (Session Initialization)
lS
Alert Protocol (Message Alert)
SSL Session
Hinh 2.3 M6 hinh truyén thong giitta Web Server va Browser dua trén SSL/TLS 2.1 Khởi tạo phiên làm việc (Giao thirc Handshake)
Quá trình khởi tạo phiên làm việc trong SSL/TLS được thực hiện bởi giao thức SSL
Handshake với sự hỗ trợ của giao thức SSL Change Cipher Spec
Các nhiệm vụ được các bên tham gia truyền thông thực hiện trong quá trình này bao gồm:
(1) Xac thực thông tin nhận dạng
(2) Đàm phán thông nhất các bộ mã hóa sử dụng
(3) Trao đôi khóa và các thông số khác cho phiên truyền thông
Quá trình khởi tạo phiên làm việc gửi SSL Client (máy khách) và SSL Server (máy chủ) gôm các bước sau:
1 SSL Client gửi thông điệp “client hello” và thông tin mã hóa (Cryptographic information) dén SSL Server
Trang 102 SSL Server gửi thông điệp “server hello”, các bộ mã hóa server hỗ trợ (CipherSuite)
và chứng chỉ máy chủ (Server certiñcate) trong đó bao gồm cả khoa công khai đến SSL Client SSL Server cũng có thể gửi yêu cầu máy khách cung cấp chứng chỉ máy khách (Client certificate) néu cần thiết
3 Nhan duoc yéu cau, SSL Client kiém tra ching chi may cht và kiêm tra các tham số
mã hóa Hai bên thống nhất sử dụng các bộ mã hóa tốt nhất cùng hỗ trợ cho phiên làm việc Nêu chứng chỉ máy chủ không hợp lệ quá trình khởi tạo phiên không thành công
và kết thúc Nêu chứng chỉ máy chủ hợp lệ, tiếp tục bước tiếp theo
4 Trao déi khoa may khach (Client key exchange) SSL Client sinh khóa phiên (hoặc các tham số mã hóa cho phiên), mã hóa khóa phiên sử dụng khóa công khai của SSL Server lấy từ chứng chỉ máy chủ và gửi cho SSL Server
5 SSL Client cũng có thê gửi chứng chỉ máy khách cho máy chủ nêu được yêu cầu
6 SSL Server sử dụng khóa riêng của mình đề giải mã khôi phục khóa phiên gửi từ SSL Client SSL Server cũng có thê kiểm tra chứng chỉ máy khách nêu cần thiết
7 Client gửi thông điệp kết thúc khởi tạo phiên “Finished”
8 Server gửi thông điệp kết thúc khởi tạo phiên “Finished”
Trình duyệt gửi yêu cầu kết nối HTTPS đến máy chủ web
a Gửi chứng chỉ số SSL v6i Public key @” ———I
® Chứng chỉ SSL hợp lệ
https://dovanphuong.com
rt Gửi chìa khóa cho phiên làm việc
(Dữ liệu gửi đi được mã hóa với Public key)
R Dữ liệu đã mã hóa Trình duyệt web
_—
a sUx$2bcO
Máy chủ web
“mụn
Hình 2.4 Khởi tạo phiên làm việc trong SSL/TLS
Sau khi quá trình khởi tạo thành công, hai bên SSL Client và SSL Server xac thực được các thông tin nhận dạng của nhau sử dụng chứng chỉ số, thông nhất các bộ mã hóa tốt nhất
sử dụng và trao đổi được các khóa phiên, hoặc các tham số mã hóa phiên, hai bên thiết lập
thành công kênh bảo mật cho truyền dữ liệu trong phiên
10