Https là gì

Https là gì

Ngày càng có nhiều trang web được bảo mật bằng https. https sử dụng công nghệ SSL / TSL để bảo mật thông tin liên lạc giữa hai hệ thống.

Những hướng dẫn này sẽ giúp bạn hiểu https từng bước. Hướng dẫn được chia thành nhiều chương, trong đó mỗi chương có một số chủ đề liên quan đi kèm với các giải thích dễ hiểu và ví dụ thực tế.

Các hướng dẫn này được thiết kế cho người mới bắt đầu và các chuyên gia muốn tìm hiểu các nguyên tắc cơ bản về https và cách sử dụng https với một trang web.

Các bài viết liên quan:

Https là gì

Https là gì?

HTTPS là từ viết tắt của từ Hyper Text Transfer Protocol Secure. Nó là một giao thức để đảm bảo thông tin liên lạc giữa hai hệ thống, ví dụ: trình duyệt và server web.

Https là gì

Như bạn có thể thấy trong hình trên, http truyền dữ liệu giữa trình duyệt và server web ở định dạng siêu văn bản, trong khi https truyền dữ liệu ở định dạng được mã hóa. Do đó, https ngăn chặn tin tặc đọc và sửa đổi dữ liệu trong quá trình truyền giữa trình duyệt và server web. Ngay cả khi tin tặc quản lý để chặn liên lạc, họ sẽ không thể sử dụng nó vì tin nhắn đã được mã hóa.

HTTPS đã thiết lập một liên kết được mã hóa giữa trình duyệt và server web bằng cách sử dụng các giao thức Secure Socket Layer (SSL) hoặc Transport Layer Security (TLS) protocols. TLS là phiên bản mới của SSL.

Secure Socket Layer (SSL)

SSL là công nghệ tiêu chuẩn bảo mật nhằm thiết lập liên kết bảo mật giữa hai hệ thống. Đây có thể là trình duyệt đến server, server đến server hoặc máy khách tới server. Về cơ bản, SSL đảm bảo rằng việc truyền dữ liệu giữa hai hệ thống vẫn được mã hóa và riêng tư.

Về cơ bản, https là http qua SSL. SSL thiết lập kết nối bảo mật được mã hóa sử dụng SSL Certificate hay được gọi là chứng chỉ kỹ thuật số.

Http so với https

Truyền dữ liệu ở định dạng siêu văn bản (văn bản có cấu trúc)Truyền dữ liệu ở định dạng được mã hóa
Sử dụng cổng 80 Sử dụng cổng 443 
Không an toànĐược bảo mật bằng công nghệ SSL
Bắt đầu bằng http: // Bắt đầu bằng https: //

Ưu điểm của https

Giao tiếp an toàn: https tạo kết nối an toàn bằng cách thiết lập liên kết được mã hóa giữa trình duyệt và server hoặc hai hệ thống bất kỳ.

Tính toàn vẹn của dữ liệu: https cung cấp tính toàn vẹn của dữ liệu bằng cách mã hóa dữ liệu và do đó, ngay cả khi tin tặc tìm cách bẫy dữ liệu, chúng cũng không thể đọc hoặc sửa đổi dữ liệu đó.

Quyền riêng tư và Bảo mật: https bảo vệ quyền riêng tư và bảo mật của người dùng trang web bằng cách ngăn chặn tin tặc lắng nghe thụ động giao tiếp giữa trình duyệt và server.

Hiệu suất nhanh hơn: https tăng tốc độ truyền dữ liệu so với http bằng cách mã hóa và giảm kích thước của dữ liệu.

SEO: Sử dụng https làm tăng thứ hạng SEO. Trong Google Chrome, Google hiển thị nhãn Không an toàn trong trình duyệt nếu dữ liệu của người dùng được thu thập qua http.

Tương lai: https đại diện cho tương lai của web bằng cách làm cho internet an toàn cho người dùng và chủ sở hữu trang web.

SSL hoạt động như thế nào?

Như bạn đã học trong chương trước, https sử dụng giao thức SSL để bảo mật thông tin liên lạc bằng cách truyền dữ liệu được mã hóa. Trước khi đi sâu hơn, hãy tìm hiểu cách hoạt động của SSL.

Về cơ bản SSL hoạt động với các khái niệm sau:

  1. Asymmetric Cryptography
  2. Symmetric Cryptography

Asymmetric Cryptography

Asymmetric Cryptography (còn được gọi là Mã hóa không đối xứng hoặc Mật mã khóa công khai) sử dụng một cặp khóa liên quan đến toán học để mã hóa và giải mã dữ liệu. Trong một cặp khóa, một khóa được chia sẻ với bất kỳ ai quan tâm đến giao tiếp. Đây được gọi là Khóa công khai. Khóa còn lại trong cặp khóa được giữ bí mật và được gọi là Khóa riêng.

Ở đây, các khóa đề cập đến một giá trị toán học và được tạo ra bằng cách sử dụng một thuật toán toán học để mã hóa hoặc giải mã dữ liệu.

Trong Asymmetric Cryptography, dữ liệu có thể được ký bằng khóa riêng tư, chỉ có thể được giải mã bằng khóa công khai liên quan trong một cặp.

Https là gì

SSL sử dụng Asymmetric Cryptography để bắt đầu giao tiếp được gọi là SSL Handshake. Các thuật toán mã hóa khóa bất đối xứng được sử dụng phổ biến nhất bao gồm EIGamal, RSA, DSA, kỹ thuật đường cong Elliptic và PKCS.

Symmetric Cryptography

Trong Symmetric Cryptography, chỉ có một khóa mã hóa và giải mã dữ liệu. Cả người gửi và người nhận đều phải có khóa này mà chỉ họ mới biết.

Https là gì

SSL sử dụng Symmetric Cryptography bằng cách sử dụng khóa phiên sau khi quá trình bắt tay ban đầu được thực hiện. Các thuật toán đối xứng được sử dụng rộng rãi nhất là AES-128, AES-192 và AES-256.

Truyền dữ liệu qua SSL

Giao thức SSL sử dụng Asymmetric Cryptography và đối xứng để truyền dữ liệu một cách an toàn. Hình sau minh họa các bước của giao tiếp SSL:

Https là gì

Như bạn có thể thấy trong hình trên, giao tiếp SSL giữa trình duyệt và server web (hoặc bất kỳ hai hệ thống nào khác) chủ yếu được chia thành hai bước: SSL Handshake và truyền dữ liệu thực tế.

SSL Handshake

Giao tiếp qua SSL luôn bắt đầu bằng SSL Handshake. SSL Handshake là một Asymmetric Cryptography cho phép trình duyệt xác minh server web, lấy khóa công khai và thiết lập kết nối an toàn trước khi bắt đầu truyền dữ liệu thực tế.

Hình sau minh họa các bước liên quan đến quá trình SSL Handshake:

Https là gì

Hãy hiểu các bước trên:

  1. Client gửi thông báo “xin chào khách hàng”. Điều này bao gồm số phiên bản SSL của máy khách, cài đặt mật mã, dữ liệu theo phiên cụ thể và thông tin khác mà server cần giao tiếp với máy khách bằng SSL.
  2. Server phản hồi bằng một thông báo “server xin chào”. Điều này bao gồm số phiên bản SSL của server, cài đặt mật mã, dữ liệu theo phiên cụ thể, SSL Certificate có khóa công khai và thông tin khác mà máy khách cần để giao tiếp với server qua SSL.
  3. Máy khách xác minh SSL Certificate của server từ CA (Tổ chức phát hành chứng chỉ) và xác thực server. Nếu xác thực không thành công, thì máy khách từ chối kết nối SSL và ném một ngoại lệ. Nếu xác thực thành công, hãy chuyển sang bước 4.
  4. Client tạo một khóa phiên, mã hóa nó bằng Public key của server và gửi đến server. Nếu server đã yêu cầu Authority máy khách.
  5. server giải mã khóa phiên bằng khóa riêng của nó và gửi xác nhận đến máy khách được mã hóa bằng khóa phiên.

Do đó, khi kết thúc quá trình SSL Handshake, cả máy khách và server đều có khóa phiên hợp lệ mà họ sẽ sử dụng để mã hóa hoặc giải mã dữ liệu thực tế. Khóa công khai và khóa cá nhân sẽ không được sử dụng nữa sau đó.

Chuyển dữ liệu thực tế

Máy khách và server hiện sử dụng khóa phiên dùng chung để mã hóa và giải mã dữ liệu thực tế và chuyển dữ liệu đó. Điều này được thực hiện bằng cách sử dụng cùng một khóa phiên ở cả hai đầu và do đó, nó là một Symmetric Cryptography. Việc truyền dữ liệu SSL thực tế sử dụng Symmetric Cryptography vì nó dễ dàng và tốn ít hơn so với Asymmetric Cryptography.

Https là gì

Do đó, về cơ bản SSL hoạt động bằng cách sử dụng Asymmetric Cryptography và Symmetric Cryptography. Có một số cơ sở hạ tầng liên quan đến việc đạt được giao tiếp SSL trong cuộc sống thực, được gọi là Cơ sở hạ tầng khóa công khai.

Thành phần quan trọng https

Cơ sở hạ tầng khóa công khai (PKI) là một tập hợp các vai trò, chính sách và thủ tục cần thiết để tạo, quản lý, phân phối, sử dụng, lưu trữ và thu hồi chứng chỉ số và quản lý mã hóa khóa công khai.

PKI bao gồm các yếu tố sau:

Cơ quan cấp chứng chỉ: Cơ quan xác thực danh tính của các cá nhân, máy tính và các thực thể khác.

Cơ quan đăng ký: CA cấp dưới phát hành chứng chỉ thay mặt cho CA gốc cho các mục đích sử dụng cụ thể.

SSL Certificate: Tệp dữ liệu bao gồm khóa công khai và các thông tin khác.

Hệ thống quản lý chứng chỉ: Hệ thống lưu trữ, xác nhận và thu hồi chứng chỉ.

SSL Certificate là gì?

SSL Certificate (còn được gọi là chứng chỉ số) đóng một vai trò quan trọng trong việc bảo mật thông tin liên lạc giữa hai hệ thống.

SSL Certificate là một tệp dữ liệu được cấp bởi Tổ chức phát hành chứng chỉ có thẩm quyền (CA). Như bạn đã học trong chương trước, SSL sử dụng mật mã không đối xứng để thiết lập một liên kết được mã hóa giữa hai hệ thống bằng cách sử dụng một cặp khóa (khóa công khai và khóa riêng tư). SSL Certificate chứa khóa công khai của chủ sở hữu và các chi tiết khác. Máy chủ web gửi một khóa công khai đến trình duyệt thông qua SSL Certificate và trình duyệt xác minh nó và xác thực máy chủ web bằng SSL Certificate.

Bạn có thể mở chứng chỉ của bất kỳ trang web https nào. Ví dụ: nhập url https://www.google.com trong trình duyệt Google Chrome để kiểm tra SSL Certificate của google.com. Bất kỳ trang web https nào cũng sẽ có ổ khóa Bảo mật trên thanh địa chỉ, như hình dưới đây.

Https là gì

Nhấp vào biểu tượng ổ khóa và nhấp vào Chứng chỉ, như hình dưới đây.

Https là gì

Thao tác này sẽ mở chứng chỉ như hình dưới đây.

Https là gì

Như bạn có thể thấy, trong tab Chung, chứng chỉ hiển thị Ngày cấp cho, Cấp bởi và Hợp lệ từ và đến ngày. Tab Chi tiết bao gồm các thông tin khác. Tab Đường dẫn chứng chỉ bao gồm thông tin về tất cả các chứng chỉ trung gian và chứng chỉ CA gốc.

X.509 là một tiêu chuẩn xác định định dạng của chứng chỉ kỹ thuật số. SSL sử dụng định dạng X.509. Nói cách khác, SSL Certificate thực sự là chứng chỉ X.509.

X.509 sử dụng một ngôn ngữ chính thức được gọi là Ký hiệu Cú pháp Tóm tắt Một (ASN.1) để thể hiện cấu trúc dữ liệu của chứng chỉ.

Định dạng X.509

Https là gì

SSL Certificate ở định dạng X.509 bao gồm các thông tin sau:

  • Phiên bản: Số phiên bản của định dạng dữ liệu chứng chỉ theo X.509.
  • Số sê-ri: Định danh duy nhất của chứng chỉ do CA chỉ định
  • Khóa công khai: Khóa công khai của chủ sở hữu
  • Chủ đề: Tên, địa chỉ, quốc gia và tên miền của chủ sở hữu
  • Người cấp: Tên của CA đã cấp chứng chỉ
  • Hợp lệ-Từ: Ngày chứng chỉ có hiệu lực từ
  • Valid-To: Ngày hết hạn
  • Thuật toán chữ ký: Thuật toán được sử dụng để tạo chữ ký
  • Thumbprint: Hàm băm của chứng chỉ
  • Thuật toán Thumbprint: Thuật toán được sử dụng để tạo một hàm băm của chứng chỉ

Xem thêm Schema là gì?

Các loại SSL Certificate

Ngày nay, có nhiều loại SSL Certificate trong bảo mật. Các cấp độ mã hóa vẫn giống nhau đối với tất cả các loại chứng chỉ nhưng các cấp độ xác thực và giao diện khác nhau.

Các loại SSL Certificate dựa trên mức độ xác thực

Các trang web sử dụng SSL Certificate để thiết lập mức độ tin cậy với khách truy cập và khách hàng của họ. Các doanh nghiệp khác nhau yêu cầu thiết lập các mức độ tin cậy khác nhau. Ví dụ: các trang web thu thập thông tin quan trọng của người dùng cần phải chuyển nó một cách an toàn. Các tổ chức tài chính cần thiết lập tính xác thực của miền cũng như bảo mật dữ liệu. Vì vậy, CA cần xác thực thông tin của chủ sở hữu trang web dựa trên sự tin cậy mà họ muốn thiết lập.

Domain Validated Certificates

Domain Validated Certificates yêu cầu xác thực ở mức thấp nhất vì mục đích chính của chứng chỉ DV là thực hiện giao tiếp an toàn giữa máy chủ web của miền và trình duyệt. CA chỉ xác minh rằng chủ sở hữu có quyền kiểm soát miền.

Organization Validated Certificates

Organization Validated Certificates yêu cầu xác thực cấp độ trung bình trong đó CA kiểm tra quyền của tổ chức để sử dụng miền và cả thông tin của tổ chức. Chứng chỉ OV nâng cao mức độ tin cậy của tổ chức và miền của tổ chức.

Extended Validated Certificates

Extended Validated Certificates yêu cầu xác thực cấp cao trong đó CA tiến hành kiểm tra lý lịch nghiêm ngặt đối với tổ chức theo hướng dẫn. Điều này bao gồm xác minh sự tồn tại hợp pháp, vật chất và hoạt động của thực thể.

Single Domain Certificate

Single Domain Certificate đảm bảo một tên miền hoàn toàn đủ điều kiện. Ví dụ: Single Domain Certificate cho www.example.com sẽ không bảo mật thông tin liên lạc cho mail.example.com.

Wildcard SSL Certificate

Wildcard SSL Certificate đảm bảo số lượng miền phụ không giới hạn cho một miền. Ví dụ:Wildcard SSL Certificate đại diện cho example.com cũng sẽ bảo mật mail.example.com, blog.example.com, v.v.

Unified SSL Certificate /Multi-Domain SSL Certificate/SAN Certificate

SSL Certificate hợp nhất bảo vệ tối đa 100 miền sử dụng cùng một chứng chỉ với sự trợ giúp của phần mở rộng SAN. Nó được thiết kế đặc biệt để bảo mật môi trường Microsoft Exchange và Office Communication.

Khi bạn chọn loại SSL Certificate nào

nếu bạn yêu cầu, bạn cần phải mua nó từ CA có uy tín. Tìm hiểu về cách nhận SSL Certificate trong chương tiếp theo.

Xem thêm Mã hóa mật mã: các khái niệm cơ bản

Leave a Reply