Tiểu luận môn Mạng Máy Tính Tìm hiểu về HTTPS và SSL 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ỉ 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.
Trang 1Tìm hiểu về HTTPS và SSL
Đào Xuân Thùy Nguyễn Thị Thu Thúy
Trang 2 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ỉ
Trang 3 Sự khác nhau giữa HTTP và HTTPS
Trang 5 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
Trang 6HTTPS
Trang 7 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
Trang 8 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.
Trang 9 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
Trang 10 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)
Trang 12 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ể
Trang 13Xá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
Trang 14Xá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ỉ
Trang 15Gử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
Trang 16Tiến trình SSL
ádasdasdasd
Trang 17 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ó
Trang 18Tiế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
Trang 19 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
Trang 22SSL 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)
Trang 23Hoạt động của SSL Record Protocol
Trang 24 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
Trang 25 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
Trang 26Hoạt động của SSL Record Protocol
Gắn thêm header gồm các mục sau :
Content type(8 bit) : giao thức lớp trên dùng để xử lý phân mảnh đi kèm
Major Version (8 bit) : chỉ ra phiên bản cao nhất được dùng
Minor Version (8 bit) : chỉ ra phiên bản thấp nhất được dùng
CompressLenth(16 bit) : chiều dài theo byte của phân mảnh , tối đa là 2^14 +2048
Trang 27Cấu trúc SSL message
Áda
Trang 28Giao thức SSL Change Cipher Spec
SSL change cipher spec là giao thức SSL đơn giản nhất
sử dụng SSL record.Nó chỉ gồm 1 byte có giá trị là 1
Mục đích của nó là sinh ra trạng thái tiếp theo để gán vào trạng thái hiện tại, còn trạng thái hiện tại cập nhập lại bộ mã hóa để sử dụng trên kết nối này
Trang 30SSL Alert
Mỗi message gồm 2 byte :
byte1 giữ giá trị cảnh báo (1) hoặc nguy hiểm (2).
Byte 2 chứa một mã chỉ ra cảnh báo đặc trưng
Trang 31Giao thức SSL Handshake
Trang 32SSL Handshake
SSL handshake gồm một loạt các messge trao đổi giữa client và server.Mỗi message có 3 trường :
Type (1 byte) chỉ ra 1 trong 10 dạng message
Length(3 byte) : độ dài của message
Content(>= 0 byte) : tham số đi kèm với message này
Trang 33SSL Handshake
Các kiểu message trong SSL handshake
Trang 34Cơ chế giao thức SSL handshake
Trang 35Phase 1
Version: phiên bản SSL mới nhất mà client biết
Random number : 1 nhãn thời gian 32 bit và 28byte sinh
ra bởi 1 bộ số ngẫu nhiên an toàn.phục vụ cho quá trình trao đổi khóa,
Session ID
Cipher Suite
Compress method: danh sách các phương pháp nén
được client hỗ trợ
Trang 36Pre-master secret và Master secre
Pre-master secret : gồm 48 byte được sinh ra bởi client, sau đó được mã hóa vói khóa công khai của server hoặc khóa phụ từ bản tin server exchange, mục đích để tính toàn master secret
Master secret : khóa bí mật chung cho clien và server