1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tiểu luận môn cơ sở an toàn thông tin tìm hiểu về giao thức bảo mật ssltls kiến trúc, hoạt Động và Ứng dụng

18 10 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu về giao thức bảo mật SSL/TLS: Kiến trúc, hoạt động và ứng dụng
Tác giả Nguyễn Anh Tuấn, Đặng Đức Tài, Phạm Văn Quyết, Phạm Hải An, Vũ Đức Mạnh
Người hướng dẫn Đinh Trường Duy
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Cơ sở an toàn thông tin
Thể loại Tiểu luận
Định dạng
Số trang 18
Dung lượng 3,49 MB

Nội dung

Thiết lập khả năng bảo mật Establish Security Capabilities:- Máy khách gửi thông điệp "client_hello" đến máy chủ, chứa các tham số như phiên bản TLS cao nhất mà máy khách hỗ trợ, một cấu

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN

THÔNG Khoa An toàn thông tin

TIỂU LUẬN MÔN: CƠ SỞ AN TOÀN THÔNG TIN

Tìm hiểu về giao thức bảo mật SSL/TLS: Kiến trúc,

hoạt động và ứng dụng

Giảng viên : Đinh Trường Duy

Sinh viên thực hiện : Nguyễn Anh Tuấn – B22DCAT268

Đặng Đức Tài – B22DCAT251 Phạm Văn Quyết – B22DCAT243 Phạm Hải An – B22DCAT004

Vũ Đức Mạnh – B22DCAT187

Trang 2

MỤC LỤC

Phần I: Giới thiệu về SSL/TLS 3

Phần II: Các giao thức chính 4

1 Giao thức Handshake 4

2 Giao thức ChangeCipherSpec 6

3 Giao thức Alert 7

4 Giao thức Record 7

Phần III: Hoạt động 9

1 Xác thực và Đàm phán 9

2 Giao thức handshake 9

3 Quá trình giải mã và mã hóa 9

4 Xác thực và xác nhận 10

5 Quá trình kết thúc 10

Phần IV: Ứng dụng 11

1 Bảo mật website (HTTPS) 11

2 Bảo mật email 11

3 Truyền tin an toàn 11

4 Bảo mật trong truyền dữ liệu tương tác 12

5 Iot (Internet of things) 13

6 Các ứng dụng thanh toán trực tuyến 13

7 VPN (Virtual Private Network) 13

8 Truyền thông trong điện toán đám mây 14

I Giới thiệu về SSL/TLS

SSL là chữ viết tắt của Secure Sockets Layer (Lớp socket bảo mật) 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 Công nghệ này đang lỗi thời và được thay thế hoàn toàn bởi TLS

Trang 3

TLS là chữ viết tắt của Transport Layer Security, 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 dùng

Website được cài đặt chứng chỉ SSL/TLS có thể dùng giao thức HTTPS để thiết lập kênh kết nối an toàn tới server Tóm lại, các điều cơ bản về SSL là:

- Mục tiêu của SSL/TLS là bảo mật các thông tin nhạy cảm trong quá trình truyền trên internet như, thông tin cá nhân, thông tin thanh toán, thông tin đăng nhập

- Nó là giải pháp thay thế cho phướng pháp truyền thông tin văn bản dạng plain text, văn bản loại này khi truyền trên internet sẽ không được mã hóa, nên việc áp dụng

mã hóa vào sẽ khiến cho các bên thứ 3 không xâm nhập được bào thông tin của bạn, không đánh cắp hay chỉnh sửa được các thông tin đó

- Hầu hết mọi người đều quen thuộc với các chứng chỉ SSL/TLS, đang được dùng bởi các website lớn và các webmaster nghiêm túc trong việc bảo vệ các giao dịch người dùng

- Người dùng thể biết được website có đang dùng chứng chỉ bảo mật SSL/TLS hay không đơn giản bằng cách nhìn vào icon trong URL ngay trong thanh địa chỉ

II Các giao thức chính

1 Giao thức Handshake

TLS handshake là một quá trình khởi động phiên giao tiếp sử dụng giao thức TLS Trong quá trình này, hai bên (máy khách và máy chủ) trao đổi thông điệp để xác minh,

Trang 4

xác nhận lẫn nhau, thiết lập các thuật toán mã hóa, xác thực, và thống nhất về khóa phiên (session keys) TLS handshake là nền tảng trong cách hoạt động của HTTPS Quá trình TLS handshake xảy ra khi người dùng truy cập vào một trang web qua HTTPS, trình duyệt bắt đầu truy vấn máy chủ gốc của trang web, hoặc khi có các giao tiếp khác sử dụng HTTPS, như gọi API hoặc truy vấn DNS qua HTTPS Quá trình này diễn ra sau khi kết nối TCP đã được mở thông qua quá trình bắt tay TCP

Trong quá trình TLS handshake, máy chủ và máy khách sẽ thực hiện các bước sau:

1 Chỉ định phiên bản TLS sẽ sử dụng (TLS 1.0, 1.2 hoặc 1.3)

2 Quyết định bộ mật mã (cipher suite) sẽ sử dụng

3 Xác thực danh tính máy chủ thông qua khóa công khai và chữ ký số của cơ quan cấp chứng chỉ SSL

4 Tạo khóa phiên để mã hóa đối xứng sau khi quá trình bắt tay hoàn tất

Quá trình TLS handshake bao gồm bốn giai đoạn chính:

Trang 5

Thiết lập khả năng bảo mật (Establish Security Capabilities):

- Máy khách gửi thông điệp "client_hello" đến máy chủ, chứa các tham số như phiên bản TLS cao nhất mà máy khách hỗ trợ, một cấu trúc ngẫu nhiên (random) để đảm bảo tính duy nhất trong trao đổi khóa, định danh phiên (session ID), danh sách các thuật toán mật mã (CipherSuite) và phương pháp nén (compression method) mà máy khách hỗ trợ

Xác thực máy chủ và trao đổi khóa (Server Authentication and Key Exchange):

Trang 6

- Máy chủ gửi chứng chỉ của mình, chứa các chứng chỉ X.509 để xác thực Nếu cần thiết, máy chủ có thể gửi thêm thông điệp "server_key_exchange" để cung cấp thông tin cho việc trao đổi khóa

Xác thực máy khách và trao đổi khóa (Client Authentication and Key Exchange):

- Máy khách xác minh chứng chỉ của máy chủ và kiểm tra tính hợp lệ của các thông

số trong thông điệp "server_hello" Nếu cần thiết, máy khách sẽ gửi chứng chỉ của mình và thông điệp "client_key_exchange" Tùy thuộc vào loại trao đổi khóa (RSA, Diffie-Hellman, v.v.), nội dung thông điệp này sẽ khác nhau Máy khách có thể gửi thêm thông điệp "certificate_verify" để xác minh rõ ràng chứng chỉ của mình

Kết thúc giao thức Handshake (Finalizing the Handshake Protocol):

- Máy khách gửi thông điệp "change_cipher_spec" để áp dụng các thuật toán mã hóa

đã thống nhất Sau đó, thông điệp "finished" sẽ được gửi để xác minh rằng quá trình trao đổi khóa và xác thực đã thành công Sau khi hoàn tất, cả hai bên sử dụng

bí mật chung (master secret) để tạo khóa mã hóa cho việc bảo mật dữ liệu được truyền trong suốt phiên giao tiếp

TLS handshake hoàn tất khi cả máy khách và máy chủ đã thống nhất về các tham số bảo mật và sẵn sàng trao đổi dữ liệu an toàn

2 Giao thức ChangeCipherSpec

Giao thức ChangeCipherSpec là một phần quan trọng trong quá trình thiết lập kết nối bảo mật SSL/TLS Nó đảm bảo rằng cả máy khách và máy chủ đã hoàn tất quá trình trao đổi thông tin về các tham số mật mã và sẵn sàng sử dụng các khóa, thuật toán và bí mật mới Dưới đây là một số điểm chính về giao thức này:

- Chức năng chính: Giao thức ChangeCipherSpec hoạt động như một tín hiệu xác nhận giữa máy khách và máy chủ, cho biết rằng họ đã đồng ý về các thông số mật mã Thông điệp này cho phép chuyển đổi từ các tham số mật

mã cũ sang các tham số mới mà hai bên đã thiết lập

- Cấu trúc thông điệp: Giao thức này bao gồm một thông điệp duy nhất có giá trị là 1 byte, được gửi từ máy khách đến máy chủ hoặc ngược lại Thông điệp này không chứa dữ liệu thực tế mà chỉ đơn giản là một tín hiệu thông báo

- Trạng thái chuyển đổi: Khi một bên nhận được thông điệp ChangeCipherSpec, nó sẽ chuyển từ trạng thái chờ xử lý sang trạng thái sử dụng các tham số mật mã mới Điều này có nghĩa là mọi thông tin trao đổi sau thông điệp này sẽ được mã hóa bằng các khóa và thuật toán đã được thiết lập

Trang 7

- Vai trò trong bảo mật: Giao thức ChangeCipherSpec đóng vai trò quan trọng trong việc thiết lập một kết nối bảo mật SSL/TLS, giúp đảm bảo rằng

cả hai bên đồng bộ về các tham số mật mã Điều này không chỉ tăng cường tính bảo mật mà còn ngăn chặn các cuộc tấn công tiềm ẩn, chẳng hạn như tấn công nghe lén hoặc giả mạo dữ liệu

- Liên kết với các giao thức khác: ChangeCipherSpec thường đi kèm với các thông điệp khác trong quá trình thiết lập kết nối, chẳng hạn như thông điệp

“Finished”, để xác nhận rằng quá trình thiết lập đã hoàn tất và kết nối bảo mật đã được thiết lập thành công

3 Giao thức Alert

- SSL sử dụng Giao thức Alert để báo cáo lỗi và tình trạng bất thường Giao thức này chỉ có một loại thông điệp, đó là thông điệp cảnh báo (alert message), mô tả vấn đề và mức độ của nó (cảnh báo hoặc nghiêm trọng)

- Giao thức Alert được sử dụng để cho phép các tín hiệu được gửi giữa các bên ngang hàng Các tín hiệu này chủ yếu được dùng để thông báo cho bên ngang hàng

về nguyên nhân của sự cố giao thức

- Một tín hiệu cảnh báo bao gồm chỉ báo mức độ, có thể là nghiêm trọng (fatal) hoặc cảnh báo (warning) (dưới TLS 1.3 tất cả các cảnh báo đều là nghiêm trọng)

- Các thông báo cảnh báo được bảo vệ bởi giao thức ghi lại (record protocol), do đó thông tin bao gồm không bị rò rỉ Bạn phải cẩn thận tối đa để thông tin cảnh báo không bị rò rỉ cho kẻ tấn công tiềm năng, qua các tệp nhật ký công khai, v.v

- Mỗi thông điệp cảnh báo gồm 2 trường chính:

+ Mức độ (Level):

Warning (Cảnh báo): Thông điệp cảnh báo mức độ cảnh báo được sử dụng

để báo cáo về các vấn đề không ngiêm trọng và không làm nguy hiểm đến kết nối bảo mật Các ví dụ cho mức độ cảnh báo có thể bao gồm việc sử dụng 1 phiên bản cũ hơn của SSL/TLS, sự không tương thích giữa các tham

số mật mã hoặc việc sử dụng 1 thuật toán mã hóa yếu

Fatal (Nghiêm trọng): Thông điệp cảnh báo mức độ nghiêm trọng được sử

dụng để báo cáo về các vấn đề nghiêm trọng có thể đe dọa tính toàn vẹn và bảo mật của kết nối Ví dụ mức độ nghiêm trọng có thể được sử dụng để báo cáo về sự không hợp lệ của chứng chỉ, sự không đáp ứng của máy chủ hoặc việc tấn công từ phía người dùng giả mạo

Trang 8

+ Mô tả (Description) :Mô tả thông điệp cảnh báo cung cấp thông tin chi tiết về vấn đề hoặc tình trạng bất thường mà gây ra thông điệp cảnh báo Mô tả có thể bao gồm các mã lỗi cụ thể hoặc mô tả ngắn gọn về lỗi kiểm tra

- Khi 1 bên nhận được thông điệp cảnh báo, nó có thể xử lý tình huống đó bằng cách thực hiện các hành động phù hợp:

Với mức độ cảnh báo: Kết nối bảo mật vẫn tiếp tục tuy nhiên bên nhận nên

kiểm tra và khắc phục nếu cần thiết

Với mức độ nghiêm trọng: Kết nối bảo mật sẽ được chấm dứt ngay lập tức để

đảm bảo an toàn

Thông điệp cảnh báo trong giao thức Alert giúp thông báo về các vấn đề và tình trạng không thường xảy ra trong quá trình sử dụng SSL/TLS, giúp các bên tham gia trong kết nối có thể xử lý và đáp ứng phù hợp với tình huống đó để duy trì tính toàn vẹn và an ninh của kết nối bảo mật

4 Giao thức Record

Giao thức Record của Transport Layer Security (TLS) bảo mật dữ liệu ứng dụng bằng cách sử dụng các khóa được tạo trong quá trình Bắt tay (Handshake) Giao thức Bản ghi chịu trách nhiệm bảo mật dữ liệu ứng dụng, xác minh tính toàn vẹn và nguồn gốc của

nó Nó quản lý các tác vụ sau:

- Chia các thông điệp gửi đi thành các khối có thể xử lý, và lắp ráp lại các thông điệp nhận vào

- Nén các khối gửi đi và giải nén các khối nhận vào (tùy chọn)

- Áp dụng Mã xác thực thông điệp (Message Authentication Code - MAC) cho các thông điệp gửi đi, và xác minh các thông điệp nhận vào bằng MAC

- Mã hóa các thông điệp gửi đi và giải mã các thông điệp nhận vào

Khi Giao thức Record hoàn tất, dữ liệu đã được mã hóa sẽ được chuyển xuống lớp Giao thức Điều khiển Truyền dẫn (TCP) để vận chuyển

Trang 9

 Quá trình này đảm bảo tính toàn vẹn, xác thực, và bảo mật của dữ

liệu truyền qua kênh kết nối SSL/TLS

III.Hoạt động

1 Xác thực và Đàm phán

- Xác thực

+ Quá trình bắt đầu bằng việc Client gửi yêu cầu kết nối bảo mật đến Server + SSL/TLS sử dụng chứng chỉ số công khai (public key certificate) để máy khách xác thực danh tính của Server và Client(nếu cần).Server gửi chứng chỉ cho Client, Client kiểm tra chứng chỉ này để đảm bảo rằng nó đến từ một CA (Certificate Authority) đáng tin cậy

+ Trong một số trường hợp, Server có thể yêu cầu Client gửi chứng chỉ của mình

để xác thực

- Đàm phán

+ Client kiểm tra tính hợp lệ của chứng chỉ và đàm phán

+ Client và Server thương lượng các thông số bảo mật, bao gồm cipher suites (tập hợp các thuật toán mã hóa và xác thực ứng dụng) sẽ sử dụng trong phiên làm việc

Trang 10

2 Giao thức handshake

- Sau khi các tham số bảo mật đã được đàm phán , giao thức Handshake bắt đầu

- Trong giao thức này, Server và Client thực hiện việc trao đổi thông điệp để thỏa thuận về các tham số mã hóa và các xác thực sử dụng trong kết nối bảo mật

- Các bước trong giao thức Handshake bao gồm:

+ Client gửi một thông điệp "Client Hello" chứa thông tin về phiên bản TLS, danh sách cipher suites mà nó hỗ trợ, và một số ngẫu nhiên (random)

+ Server phản hồi với thông điệp "Server Hello", chọn phiên bản TLS, cipher suite, và cung cấp một số ngẫu nhiên khác

+ Server gửi chứng chỉ của mình cho client để xác thực

+ Server và client trao đổi thông tin cần thiết để tạo ra khóa phiên, thường thông qua các phương pháp như Diffie-Hellman hoặc RSA

+ Cả hai bên gửi thông điệp "Finished" để xác nhận rằng Handshake đã hoàn tất

và sẵn sàng để mã hóa dữ liệu

+ Hoàn tất giao thức Handshake

3 Quá trình giải mã và mã hóa

- Tạo Khóa Phiên:

+ Sau khi handshake hoàn tất, client và server sẽ tạo ra một khóa phiên (session key) từ các số ngẫu nhiên đã trao đổi trong quá trình handshake

+ Dữ liệu truyền qua sẽ được mã hóa và giải mã để đảm bảo tính bảo mật

- Mã hóa: Tất cả dữ liệu từ tầng ứng dụng(được chia thành các record nhỏ hơn) gửi qua lại sẽ được mã hóa bằng khóa phiên, sử dụng các thuật toán như AES hoặc ChaCha20

- Giải mã: Khi nhận dữ liệu, bên nhận sẽ sử dụng khóa phiên để giải mã thông tin, đảm bảo rằng chỉ bên nhận mới có thể đọc được dữ liệu

4 Xác thực và Xác nhận

- Xác thực: Quá trình xác thực diễn ra trong Handshake, nơi Client và Server xác thực lẫn nhau thông qua chứng chỉ số

- Xác nhận:

+ Sau khi dữ liệu được gửi đi, cả hai bên sử dụng hàm băm để tạo ra một giá trị xác nhận (MAC - Message Authentication Code)

+ Các mã MAC sẽ được tính toán và kiểm tra cả hai bên để đảm bảo tính toàn vẹn của dữ liệu, xác nhận rằng dữ liệu không bị thay đổi trong quá trình truyền tải và không bị tấn công từ bên thứ ba

5 Quá trình kết thúc

Trang 11

Khi phiên làm việc kết thúc, các bước sau được thực hiện:

- Client và Server gửi thông điệp "Close Notify" để thông báo rằng họ sẽ ngừng gửi

dữ liệu

- Sau khi nhận thông điệp kết thúc, cả hai bên giải phóng các tài nguyên liên quan, bao gồm khóa phiên và các thông tin bảo mật khác

IV Ứng dụng

1 Bảo mật website (HTTPS)

- HTTPS là việc kết hợp giữa HTTP và giao thức bảo mật SSL/TLS để tạo ra một

kết nối an toàn

- Khi sử dụng HTTPS, trình duyệt và máy chủ web thiết lập một kênh truyền mã hóa thông qua SSL/TLS Quy trình này bao gồm các bước sau:

+ Xác thực máy chủ: Trình duyệt kiểm tra tính hợp lệ của chứng chỉ số từ máy

chủ, đảm bảo rằng nó đến từ một nguồn tin cậy

+ Thiết lập kết nối an toàn: Trình duyệt và máy chủ đàm phán và tạo ra một

khóa mã hóa chung để bảo mật thông tin truyền tải

+ Mã hóa dữ liệu: Tất cả dữ liệu trao đổi giữa hai bên được mã hóa, giúp bảo vệ

thông tin khỏi các hành vi nghe lén hoặc can thiệp

+ Xác thực người dùng: Trong một số trường hợp, người dùng có thể được yêu

cầu xác thực danh tính thông qua các phương thức như mật khẩu, chứng chỉ số hoặc xác thực hai yếu tố

2 Bảo mật email

- SSL/TLS được áp dụng để bảo vệ việc trao đổi và truyền dữ liệu qua các

giao thức email như POP3, IMAP, và SMTP

- Khi tích hợp SSL/TLS vào các giao thức này, quy trình bảo mật sẽ diễn ra như sau:

+ Thiết lập kết nối an toàn: Máy khách và máy chủ email tạo một kênh bảo mật

để truyền dữ liệu

+ Xác thực máy chủ: Máy chủ email cung cấp chứng chỉ để xác minh danh tính

và độ tin cậy của nó

+ Mã hóa dữ liệu: Tất cả các thông tin email được mã hóa để ngăn chặn việc

truy cập trái phép

+ Xác thực người dùng (nếu cần): Người dùng có thể được yêu cầu cung cấp

thông tin đăng nhập hoặc các phương thức xác thực khác nhằm đảm bảo an toàn cho tài khoản email

Trang 12

3 Truyền tệp tin an toàn

- SSL/TLS được sử dụng để bảo mật việc truyền tệp tin qua mạng trong

các ứng dụng như FTPS (FTP over SSL/TLS) và SFTP (SSH File

Transfer Protocol)

- FTPS là một biến thể của giao thức truyền tệp tin (FTP) truyền thống,

được mở rộng để sử dụng SSL/TLS để bảo mật kênh truyền dữ liệu Khi

sử dụng FTPS, quá trình bảo mật diễn ra như sau:

+ Thiết lập kết nối an toàn: Một kênh bảo mật được thiết lập giữa máy chủ và

máy khách

+ Mã hóa dữ liệu: Tất cả dữ liệu tệp tin được mã hóa trong quá trình truyền tải

để tránh truy cập trái phép

+ Xác thực người dùng (nếu cần thiết): Có thể yêu cầu người dùng cung cấp

thông tin đăng nhập để đảm bảo danh tính và an toàn

SFTP , tuy không phải là một biến thể của FTP, là một giao thức truyền tệp tin độc lập

sử dụng giao thức SSH (Secure Shell) để đảm bảo bảo mật Tương tự FTPS, SFTP sử dụng SSL/TLS để mã hóa dữ liệu trong quá trình truyền Quá trình bảo mật của SFTP diễn ra tương tự như FTPS

4 Bảo mật trong truyền dữ liệu tương tác

- SSL/TLS đảm bảo an toàn cho việc truyền dữ liệu tương tác qua mạng, như trong các hoạt động truyền tải trực tuyến hoặc trò chuyện trực tuyến

- Quá trình bảo mật của truyền dữ liệu trực tuyến:

+ Thiết lập kết nối an toàn: Máy khách và máy chủ tạo kênh truyền bảo mật + Mã hóa dữ liệu: Dữ liệu được mã hóa để bảo vệ thông tin khi truyền tải.

+ Xác thực máy chủ (tùy chọn): Máy chủ có thể được xác thực để đảm bảo tính

hợp pháp

- Quá trình bảo mật của trò truyện trực tuyến:

+ Thiết lập kết nối bảo mật: Tạo một kênh an toàn giữa các bên tham gia trò

chuyện

+ Mã hóa dữ liệu: Tin nhắn được mã hóa để ngăn chặn truy cập trái phép.

+ Xác thực người dùng (tùy chọn): Người dùng có thể cần xác thực để bảo mật

danh tính

- Các khía cạnh quan trọng của truyền dữ liệu trong ứng dụng máy khách – máy

Ngày đăng: 13/11/2024, 20:37

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w