Tải bản đầy đủ (.pptx) (36 trang)

Tiểu luận môn Mạng Máy Tính Tìm hiểu về HTTPS và SSL

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

Tìm hiểu về HTTPS và SSL
Đào Xuân Thùy
Nguyễn Thị Thu Thúy
HTTPS

HTTPS là viết tắt của Hypertext Transfer Protocol Secure (Giao thức truyền tải siêu văn bản có
bảo mật ).Nó khác với HTTP ở chỗ nó hỗ trợ việc bảo mật, từ đó sẽ giải quyết được vấn đề thông
tin gửi- nhận từ Internet bị rò rỉ
HTTPS

Sự khác nhau giữa HTTP và HTTPS
HTTPS

Vì lý do như trên thì các trang Web như Ngân hàng, giao dịch thương mại,… chọn giao thức HTTPS. Vì HTTPS là sự
lựa chọn cần thiết để bảo vệ an toàn cho các tài khoản nhạy cảm. Tuy nhiên, tốc độ tải trang sẽ bị chậm lại, không nhanh
như HTTP. Vì thế nên các trang Web điện tử thường chọn giao thức HTTP thay vì chọn HTTPS.
HTTPS

Khi truy cập vào Gmail – được hỗ trợ bởi HTTPS, trên thanh địa chỉ sẽ có hình ổ khóa màu xanh
thể hiện trang Web này là an toàn

Ta có thể xem các thông tin về các chứng chỉ an toàn của trang Web bằng cách click vào hình ổ
khóa
HTTPS
HTTPS

Sau một thời gian, trên thanh địa chỉ thì ổ khóa xanh biến thành màu xám với hình tam giác vàng

 trang Web này an toàn nhưng có một số dữ liệu trên trang Web này không an toàn do nó chưa
được mã hóa.
HTTPS



Nếu hiện như hình dưới
Có nghĩa là trang Web này không hỗ trợ HTTPS hoặc Certificate đã hết hạn hoặc các nội
dung Javascript không an toàn.
SSL

SSL là từ viết tắt của Secure Socket Layer, là công nghệ nền tảng sử dụng giao thức HTTPS đảm
bảo nội dung HTTP được mã hóa an toàn.

HTTPS là HTTP qua SSL. Nó là một sự kết hợp giữa giao thức HTTP và giao thức bảo mật SSL hay
TLS cho phép trao đổi thông tin một cách bảo mật trên Internet
SSL
Việc truyền thông tin nhạy cảm trên mạng rất không an toàn vì các vấn đề sau :

Bạn không thể chắc rằng bạn luôn trao đổi thông tin với đúng đối tượng (Xác thực)

Dữ liệu mạng có thể bị chặn bởi các attacker (Mã hóa)

Attacker có thể sửa đổi dữ liệu trước khi đến tay người nhận (Toàn vẹn dữ liệu)
Tiến trình SSL

Việc trao đổi trên mạng bắt đầu với việc trao đổi thông tin giữa Client và Server.Quá trình này gọi
là SSL Handshake.

Ba mục tiêu chính của SSL handshake

Đàm phán Cipher Suite

Xác thực định danh


Hình thành cơ chế bảo mật thông tin, bằng cách thỏa thuận các cơ chế mã hóa
Đàm phán Cipher Suite

Cipher suite là một tập các thuật toán mã hóa và kích thước khóa mà máy tính có thể dùng để
mã hóa dữ liệu.

Cipher suite bao gồm thông tin về các thuật toán trao đổi khóa công khai, các thuật toán thỏa
thuận khóa và các hàm băm mã hóa

Khi đàm phán CS, client sẽ nói với server các CS nó có sẵn và Server sẽ lựa chọn CS tốt nhất có
thể
Xác thực Server

Để chứng minh Server thuộc về tổ chức mà nó đại diện, server phải trình chứng chỉ khóa công
khai của nó cho client.Nếu chứng chỉ hợp lệ, client có thể chắc chắn về định danh server

Thông tin trao đổi giữa client và server cho phép chúng thỏa thuận một khóa bí mật chung
Xác thực Server
Ví dụ, với RSA:

Client lấy khóa công khai của Server từ chứng chỉ để mã hóa khóa bí mật

Client gửi thông tin khóa bí mật được mã hóa đến Server

Chỉ có Server mới giải mã được thông tin này vì chỉ nó mới có khóa riêng để giải mã khóa công
khai trên chứng chỉ
Gửi dữ liệu mã hóa

Bây giờ, cả client và server đều có thể truy cập đến khóa bí mật chung.


Chúng dùng đến hàm băm mã hóa đã được chọn ở bước 1, để tính toán 1 HMAC(mã chứng thực
hàm băm mã hóa) nối thêm vào message.Sau đó sử dụng khóa và thuật toán bí mật để mã hóa
dữ liệu.Giờ đây, client và server có thể trao đổi thông tin một các an toàn với các dữ liệu đã được
băm và mã hóa
Tiến trình SSL

ádasdasdasd

Clien_hello : gửi thông tin bao gồm phiên bản SSL cao nhất và danh sách các CS mà nó hỗ trợ

Server_hello : server chọn ra phiên bản cao nhất và CS tốt nhất mà cả 2 cùng hỗ trợ rồi gửi cho
client

Server_certificate : server gửi cho client 1 chuỗi các chứng chỉ đã được thẩm định , trong đó có
chứa khóa công khai của nó
Tiến trình SSL

Server_exchange: server gửi cho client 1 message nếu bản tin Certificate không đủ dữ liệu để
client có thể trao đổi khóa bí mậtư

Certificate request: server muốn chứng thực client.Thực tế thì ít có trường hợp này

Server hello done: server thông báo kết thúc quá trình đàm phán

Client certificate: client gửi chứng chỉ của nó cho server
Tiến trình SSL

Client key exchange: client tạo ra khóa bí mật rồi gửi nó cho server

Certificate verify : client gửi thông tin với chữ kí điện tử được tạo bằng hàm băm mã hóa , để

server có thể xác thực được client

Client change Cs : client báo server thay đổi kiểu mã hóa

Client finish : client báo sẵn sàng trao đổi dữ liệu.
Tiến trình SSL

Server change CS : server báo với client thay đổi kiểu mã hóa

Finish : server báo với client sẵn sàng trao đổi dữ liệu. Kết thúc SSL handshake

Encrypt data : client và server trao đổi dữ liệu sử dụng hàm băm mã hóa và thuật toán xác định
ở message 1,2 và khóa bí mật ở message 8.

Close message : báo kết nối chuẩn bị đóng sau khi trao đổi dữ liệu kết thúc
Kiến trúc SSL

Các giao thức SSL

SSL không phải một giao thức đơn mà gồm 2 lớp giao thức như trên hình,trong đó SSL
Record Protocol cung cấp các dịch vụ cơ bản cho nhiều lớp bên trên, mà HTTP có thể coi
là hoạt động trên đỉnh của SSL
SSL Record Protocol

SSL record protocol cung cấp 2 dịch vụ kết nối SSL :

Confidentiality (tính cẩn mật ) : Handshake protocol định nghĩa một khóa bí mật được chia sẻ dùng để
mã hóa quy ước các dữ liệu SSL

Message integrity (tính toàn vẹn thông điệp) : khóa này được dùng để hình thành MAC (mã xác thực

message)
Hoạt động của SSL Record Protocol
Hoạt động của SSL Record Protocol

Phân mảnh : mỗi message được phân thành các block, mỗi block là 2^14(16384 ) byte hoặc ít
hơn

Nén : tùy chọn phương pháp, điều kiện là không mất thông tin và không làm tăng chiều dài quá
1024 byte

Tính toán MAC

Mã hóa theo phương pháp đối xứng
Tính MAC

MAC (Mã xác thực cho message) được tính dựa trên dữ liệu đã được nén.Để thực hiện cần dùng
đến 1 khóa được chia sẻ.MAC được tính như sau

MAC = hash(MAC_write_secret)||pad_2| MAC = hash(MAC_write_secret)|| pad_1||seq_num||
SSLCompressType||SSLCompress.Length ||SSLCompress.fragment

Trong đó

MAC_write_secret : khóa bí mật được chia sẻ

Hash :thuật toán mã hóa

Pad_1 : byte 0x36 lặp lại 48 lần với MD5 và 40 lần cho SHA-1

Pad_2 : byte 0x5x lặp lại 48 lần với MD5 và 40 lần cho SHA-1


Seq_num : sequence number cho message này

SSLCompressType : giao thức lớp trên để xử lý phân mảnh này

SSLCompress.Length : chiều dài phân mảnh

SSLCompress.fragment

Phân mảnh đã được nén

×