Nguy cơ bị thay đổi, sao chép hoặc mất dữ liệu trên mạng
thật sự là một trở ngại trong giao dịch điện tử. Vì thế, bảo
đảm tính toàn vẹn dữ liệu là một phần trong các biện
pháp đảm bảo an toàn thông tin theo chuẩn ISO 17799.
THẾ NÀO LÀ MỘT HỆ THỐNG AN TOÀN THÔNG
TIN?
Thanh toán bằng thẻ tín dụng qua dịch vụ web có thể gặp các
rủi ro như:
Thông tin truyền từ trình duyệt web của khách hàng ở dạng
thuần văn bản nên có thể bị lọt vào "con mắt" người khác .
Trình duyệt web của khách hàng không thể xác định máy chủ
mà mình trao đổi thông tin là thật hay giả mạo.
13 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2068 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Chữ ký điện tử: Đảm bảo an toàn dữ liệu truyền trên mạng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chữ ký điện tử: Đảm bảo
an toàn dữ liệu truyền
trên mạng
Nguy cơ bị thay đổi, sao chép hoặc mất dữ liệu trên mạng
thật sự là một trở ngại trong giao dịch điện tử. Vì thế, bảo
đảm tính toàn vẹn dữ liệu là một phần trong các biện
pháp đảm bảo an toàn thông tin theo chuẩn ISO 17799.
THẾ NÀO LÀ MỘT HỆ THỐNG AN TOÀN THÔNG
TIN?
Thanh toán bằng thẻ tín dụng qua dịch vụ web có thể gặp các
rủi ro như:
Thông tin truyền từ trình duyệt web của khách hàng ở dạng
thuần văn bản nên có thể bị lọt vào "con mắt" người khác .
Trình duyệt web của khách hàng không thể xác định máy chủ
mà mình trao đổi thông tin là thật hay giả mạo.
Không thể đảm bảo được thông tin truyền đi có bị thay đổi
hay không.
Vì vậy cần phải có một cơ chế bảo đảm an toàn trong quá
trình giao dịch điện tử. Một hệ thống thông tin trao đổi dữ
liệu an toàn phải đáp ứng các yêu cầu sau:
Hệ thống phải đảm bảo dữ liệu trong quá trình truyền đi
không bị đánh cắp.
Hệ thống phải có khả năng xác thực, tránh trường hợp giả
danh, mạo nhận.
Hệ thống phải có khả năng kiểm tra tính toàn vẹn dữ liệu.
GIAO THỨC SSL
Giao thức SSL (Secure Socket Layer) tổ hợp nhiều giải thuật
mã hóa nhằm đảm bảo quá trình trao đổi thông tin trên mạng
được bảo mật. Việc mã hóa dữ liệu diễn ra một cách trong
suốt, hỗ trợ nhiều giao thức khác chạy trên nền giao thức
TCP.
Cơ chế hoạt động của giao thức SSL dựa trên nền tảng các
ứng dụng mã hóa đã được kiểm chứng như: giải thuật mã hóa
đối xứng và bất đối xứng, giải thuật băm (hash) một chiều,
giải thuật tạo chữ ký số, v.v...
PHƯƠNG PHÁP MÃ HÓA DỮ LIỆU
Mã hóa khóa bí mật
Phương pháp mã hóa khóa bí mật (secret key cryptography)
còn được gọi là mã hóa đối xứng (symmetric cryptography).
Với phương pháp này (xem hình 1), người gửi và người nhận
sẽ dùng chung một khóa để mã hóa và giải mã dữ liệu. Trước
khi mã hóa dữ liệu để truyền đi trên mạng, hai bên gửi và
nhận phải có khóa và phải thống nhất thuật toán dùng để mã
hóa và giải mã. Có nhiều thuật toán ứng dụng cho mã hóa
khóa bí mật như: DES - Data Encrytion Standard, 3DES -
triple-strength DES, RC2 – Rons Cipher 2 và RC4, v.v...
Nhận xét: Nhược điểm chính của phương pháp này là khóa
được truyền trên môi trường mạng nên tính bảo mật không
cao. Ưu điểm là tốc độ mã hóa và giải mã rất nhanh.
Mã hóa khóa công khai
Phương pháp mã hóa khóa công khai (public key
cryptography) đã giải quyết được vấn đề của phương pháp
mã hóa khóa bí mật là sử dụng hai khóa public key và private
key. Public key được gửi công khai trên mạng, trong khi đó
private key được giữ kín. Public key và private key có vai trò
trái ngược nhau, một khóa dùng để mã hóa và khóa kia sẽ
dùng để giải mã (xem hình 2).
Phương pháp này còn được gọi là mã hóa bất đối xứng
(asymmetric cryptography) vì nó sử dụng hai khóa khác nhau
để mã hóa và giải mã dữ liệu. Phương pháp này sử dụng thuật
toán mã hóa RSA (tên của ba nhà phát minh ra nó: Ron
Rivest, Adi Shamir và Leonard Adleman) và thuật toán DH
(Diffie-Hellman).
Giả sử B muốn gửi cho A một thông điệp bí mật sử dụng
phương pháp mã hóa khóa công khai. Ban đầu, A có cả
private key và public key. A sẽ giữ private key ở nơi an toàn
và gửi public key cho B. B mã hóa và gửi cho A thông điệp
đã mã hóa bằng public key nhận được của A. Sau đó A sẽ
giải mã thông điệp bằng private key của mình. Ngược lại nếu
A muốn gửi thông điệp cho B thì A phải mã hóa thông điệp
bằng public key của B.
Nhận xét: Phương pháp cho phép trao đổi khóa một cách dễ
dàng và tiện lợi. Tuy nhiên, tốc độ mã hóa khá chậm nên chỉ
được sử dụng cho mẩu dữ liệu nhỏ.
TỔ CHỨC CHỨNG NHẬN KHÓA CÔNG KHAI
Hãy xem ví dụ A muốn gửi thông điệp cho B và mã hóa theo
phương pháp khóa công khai. Lúc này A cần phải mã hóa
thông điệp bằng public key của B. Trường hợp public key bị
giả mạo thì sao? Hacker có thể tự sinh ra một cặp khóa public
key/private key, sau đó đưa cho A khóa public key này và nói
đây là khóa public key của B. Nếu A dùng public key giả này
mà tưởng là của B thì dẫn đến hệ quả mọi thông tin A truyền
đi đều bị hacker đọc được.
Vấn đề này được giải quyết nếu có một bên thứ ba được tin
cậy, gọi là C, đứng ra chứng nhận public key. Những public
key đã được C chứng nhận gọi là chứng nhận điện tử (public
key certificate hay digital certificate).
Một chứng nhận điện tử có thể được xem như là một “hộ
chiếu” hay “chứng minh thư”. Nó được một tổ chức tin cậy
(như VeriSign, Entrust, CyberTrust, v.v...) tạo ra. Tổ chức
này được gọi là tổ chức chứng nhận khóa công khai
Certificate Authority (CA). Một khi public key đã được CA
chứng nhận thì có thể dùng khóa đó để trao đổi dữ liệu trên
mạng với mức độ bảo mật cao.
Cấu trúc của một chứng nhận điện tử gồm các thành phần
chính như sau:
Issuer: tên của CA tạo ra chứng nhận.
Period of validity: ngày hết hạn của chứng nhận.
Subject: bao gồm những thông tin về thực thể được chứng
nhận.
Public key: khóa công khai được chứng nhận.
Signature: do private key của CA tạo ra và đảm bảo giá trị
của chứng nhận.
5. CHỮ KÝ ĐIỆN TỬ
Chữ ký điện tử (digital signature) là đoạn dữ liệu ngắn đính
kèm với văn bản gốc để chứng thực tác giả của văn bản và
giúp người nhận kiểm tra tính toàn vẹn của nội dung văn bản
gốc.
Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm
một chiều trên văn bản gốc để tạo ra bản phân tích văn bản
(message digest) hay còn gọi là fingerprint, sau đó mã hóa
bằng private key tạo ra chữ ký số đính kèm với văn bản gốc
để gửi đi. Khi nhận, văn bản được tách làm 2 phần, phần văn
bản gốc được tính lại fingerprint để so sánh với fingerprint cũ
cũng được phục hồi từ việc giải mã chữ ký số (xem hình 3).
Các bước mã hóa:
1. Dùng giải thuật băm để thay đổi thông điệp cần truyền đi.
Kết quả ta được một message digest. Dùng giải thuật MD5
(Message Digest 5) ta được digest có chiều dài 128-bit, dùng
giải thuật SHA (Secure Hash Algorithm) ta có chiều dài 160-
bit.
2. Sử dụng khóa private key của người gửi để mã hóa
message digest thu được ở bước 1. Thông thường ở bước này
ta dùng giải thuật RSA. Kết quả thu được gọi là digital
signature của message ban đầu.
3. Gộp digital signature vào message ban đầu. Công việc này
gọi là “ký nhận” vào message. Sau khi đã ký nhận vào
message, mọi sự thay đổi trên message sẽ bị phát hiện trong
giai đoạn kiểm tra. Ngoài ra, việc ký nhận này đảm bảo người
nhận tin tưởng message này xuất phát từ người gửi chứ
không phải là ai khác (xem hình 4).
Các bước kiểm tra:
1. Dùng public key của người gửi (khóa này được thông báo
đến mọi người) để giải mã chữ ký số của message.
2. Dùng giải thuật (MD5 hoặc SHA) băm message đính kèm.
3. So sánh kết quả thu được ở bước 1 và 2. Nếu trùng nhau, ta
kết luận message này không bị thay đổi trong quá trình truyền
và message này là của người gửi.
6. NHẬN XÉT VỀ ỨNG DỤNG CHỮ KÝ ĐIỆN TỬ
Chữ ký điện tử là mô hình đảm bảo an toàn dữ liệu khi truyền
trên mạng và được sử dụng để tạo chứng nhận điện tử trong
các giao dịch điện tử qua mạng Internet.
Ví dụ A gửi đến tổ chức Certificate Authority yêu cầu cấp
chứng nhận điện tử kèm theo khóa công khai của họ. Tổ chức
CA sẽ “ký nhận” vào đó và cấp digital certificate cho A.
Khách hàng này sẽ thông báo certificate của mình trên mạng.
Giả sử có B muốn gửi cho A một message thì công việc đầu
tiên B sẽ lấy certificate của A và kiểm tra tính hợp lệ của
certificate. Nếu hợp lệ, B sẽ lấy public key trong digital
certificate để mã hóa dữ liệu và gửi cho A.