Hiển thị các bài đăng có nhãn bảo mật thông tin. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn bảo mật thông tin. Hiển thị tất cả bài đăng

Thứ Tư, 6 tháng 5, 2015

Bảo mật thông tin với SSL


SSL là gì?

SSL là một giao thức mật mã có chức năng bảo mật các thông tin được truyền qua internet. Ngày nay, SSL được ứng dụng rất nhiều trong các ứng dụng web, email, fax, VOIP,... Bài viết này không đi quá sâu vào những vấn đề kĩ thuật của SSL mà chỉ giới thiệu sơ về cách thức hoạt động của SSL để các bạn có thể hiểu được tầm quan trọng của nó.

Thông tin truyền đi trên Internet có an toàn không?

Câu trả lời là không. Nếu không có sự bảo vệ của SSL, mọi thông tin như email, mật khẩu, thông tin cá nhân của bạn có thể bị đánh cắp một cách dễ dàng. Một số trang web trấn an người dùng bằng cách cho họ gõ mật khẩu bằng bàn phím ảo, nhưng mình khẳng định rằng cách đó cũng không bảo đảm an toàn cho mật khẩu của bạn nếu không có tầng bảo mật SSL.

Khi nào thông tin của bạn được bảo vệ?

Bạn hãy nhìn lên thanh địa chỉ của trình duyệt khi bạn truy cập một trang web, nếu nó bắt đầu bằng https:// thì có nghĩa là bạn đã an toàn.

 SSL bảo vệ thông tin của bạn như thế nào?

Trước khi tìm hiểu về cách thức hoạt động của SSL, mình sẽ giới thiệu với các bạn một số thuật ngữ:

Mã hóa bất đối xứng:
Thuật toán mã hóa bất đối xứng sử dụng một cặp khóa bao gồm khóa riêng tư (private key) và khóa công khai (public key). Khóa công khai được sử dụng để mã hóa thông tin, và muốn giải mã bản tin mã hóa đó bạn phải có khóa riêng tư. Tất nhiên bạn cũng có thể mã hóa thông tin bằng khóa riêng tư. Thuật toán mã hóa bất đối xứng phổ biến nhất là RSA.

Mã hóa đối xứng:
Thuật toán mã hóa đối xứng chỉ sử dụng một khóa duy nhất. Khóa này có cả chức năng mã hóa và giải mã. VD: DES, 3DES, AES,...

Nhà cung cấp chức thực số: Certificate Authority (CA) là một tổ chức uy tín mà mọi người cùng tin tưởng. VD: VeriSign, GlobalSign, DigiCert, Thawte, GeoTrust, Comodo,...

Chữ kí số:
Chữ kí số là một ứng dụng của thuật toán mã hóa bất đối xứng. Chỉ người nào có khóa bí mật mới có thể tạo ra chữ kí của họ. Khóa công khai dùng để xác nhận xem chữ kí đó có chính xác không mà thôi.


Quay trở lại với cách thức hoạt động của SSL, quá trình trao đổi khóa và mã hóa thông tin được thực hiện theo các bước sau:

Trong phần này client là bạn (hay trình duyệt web của bạn) và server là máy chủ web của trang web xyz.com mà bạn truy cập

Client Hello: Client kết nối đến server theo địa chỉ https://xyz.com qua cổng 443
Server Hello: Server sẽ gửi cho client một bản tin bao gồm:
- Khóa công khai của tên miền xyz.com và khóa này phải chưa hết hạn.
- Chữ kí của CA xác nhận rằng khóa công khai trên là của tên miền xyz.com.
Client (browser) đã được cài đặt sẵn khóa công khai của CA nên nó có thể kiểm tra tính chính xác của chữ kí trên.
Nếu bước 3 đúng, client sẽ tạo một khóa đối xứng (AES hoặc 3DES). Sau đó mã hóa khóa này bằng khóa công khai của server và gửi bản tin mã hóa đến server.
Server dùng khóa riêng tư của mình để giải mã bản tin đã mã hóa ở bước 4 để lấy khóa đối xứng của client. Vì tính chất của thuật toán mã hóa bất đối xứng nên chỉ server xyz.com (là người có khóa riêng tư) mới có thể giải mã bản tin này và biết được khóa công khai của client.
Các bước tiếp theo, server và client sử dụng khóa đối xứng của client mã hóa và giải mã các thông tin trao đổi.
Như các bạn thấy theo các quá trình trên thì toàn bộ các thông tin riêng tư (bao gồm khóa đối xứng của client và thông tin trao đổi trong các phiên tiếp theo) đều được bảo mật trên đường truyền.

Về độ an toàn của thuật toán mã hóa đối xứng AES, nó được chính phủ Hoa Kì tuyên bố có thể sử dụng cho thông tin mật và với khóa có độ dài đủ lớn (128, 192 và 256 bít) là đủ an toàn để bảo vệ các thông tin được xếp vào loại TỐI MẬT.

Ngày nay các ngân hàng, ví điện tử, tổ chức chứng khoán hay các công ty lớn như (Google, Facebook, Apple, Microsoft) đều sử dụng SSL cho các sản phẩm của mình.