
Giải mã 3 nhận thức sai
lầm về mã hoá

Mạng sử dụng các thuật toán mã hoá theo nhiều cách:
trong quá trình xác nhập người sử dụng (user), để bảo
mật dữ liệu, để đảm bảo tính toàn vẹn của thông tin…
Trên thực tế, chúng ta sử dụng mã hoá rất nhiều mà đôi
khi không hề biết tới sự hiện diện của chúng.
Mã hoá càng phát triển, những nhận thức sai lầm xung quanh
nó xuất hiện ngày càng nhiều. Đôi khi, sự nhận thức sai lệch
cản trở chúng ta tiếp cận những lợi ích thiết thực mã hoá đem
lại; sử dụng sai công cụ để thực thi một công việc bảo mật
nào đó và đặt doanh nghiệp cuả mình trước những nguy cơ do
các dữ liệu nhạy cảm và quan trọng không được bảo vệ ở
mức cần thiết.
Sai lầm thứ nhất: Bảo mật song hành với sự toàn vẹn dữ
liệu
Rất nhiều sản phẩm bảo mật có cả hai tính năng mã hoá dữ

liệu và đảm bảo tính toàn vẹn của dữ liệu. Trên thực tế, nhiều
thuật toán mã hoá được sử dụng để đảm bảo tính nguyên vẹn
của thông tin. Tuy nhiên, mã hoá - quá trình xáo trộn dữ liệu
để chúng không thể sắp xếp lại nếu không có “chìa khoá”
hoặc cơ chế giải mã- lại không bảo đảm 100% tính toàn vẹn
của thông tin.
Không chỉ bạn mà nhiều nhà quản trị thường có quan niệm
sai rằng chỉ cần mã hoá là có thể đảm bảo được tính toàn vẹn
của thông tin. Ngay cả khi dữ liệu đã được xáo trộn và không
thể giải mã nếu thiếu “chìa khoá”, dữ liệu vẫn đơn thuần chỉ
là những dòng “bit”. Trong trường hợp nắm bắt được dữ liệu
(đã được mã hoá), tin tặc có thể chèn thêm nhiều bit mới hoặc
thay đổi một số ký tự từ 1 thành 0 và ngược lại là đã làm dữ
liệu thay đổi. Nếu tin tặc nắm được cấu trúc của dữ liệu,
chúng sẽ chèn thêm những bit mới vào các vị trí thích hợp và
khi đó, người nhận vẫn nhận được những dữ liệu có ý nghĩa

nhưng bị sai lệch về nội dung kinh tế.
Vấn đề đã khá rõ ràng: cho cả tính bảo mật và tính toàn vẹn
dữ liệu, bạn phải tích hợp cả mã hoá và các thuật toán bảo
đảm tính toàn vẹn dữ liệu.
Sai lầm thứ 2: Checksum bảo vệ dữ liệu trong khi vận
chuyển
Các hệ thống truyền thông kỹ thuật số trước đây cần có một
cơ chế để xác thực tính nguyên vẹn của dữ liệu nhận được và
dữ liệu gửi đi. Giải pháp cần có cơ chế tính tổng (checksum)
thông qua thuật toán “băm” kiểm tra dư thừa dữ liệu theo
vòng lặp (cyclic redundancy check- CRC).
Các thuật toán “băm” sản sinh ra những chuỗi ký tự có độ dài
cố định từ các gói dữ liệu có kích thước thay đổi. Cùng một

thuật toán nhưng áp dụng với những dữ liệu khác nhau sẽ
mang lại kết quả khác nhau. Như vậy, một checksum sẽ được
tính toán và được gửi đi cùng dữ liệu. Ngay sau khi dữ liệu
được tiếp nhận, một checksum mới cũng sẽ được khởi tạo và
được đối chiếu với checksum đã được gửi đi. Nếu hai giá trị
trùng khớp, tính toàn vẹn của dữ liệu được đảm bảo trong quá
trình truyền thông. Nếu hai giá trị không trùng khớp, dữ liệu
đã bị thay đổi.
Checksum có thể là câu trả lời về tính toàn vẹn của dữ liệu
trong quá trình vận chuyển nhưng đây không phải là một giải
pháp hoàn hảo. Nguyên nhân là các checksum được “sản
xuất” để đối phó với nguy cơ mất mát dữ liệu ngẫu nhiên
(không phải do tin tặc). Với chủ ý gây hại, một tin tặc trình
độ cao có thể sử dụng một dữ liệu giả, tính toán giá trị
checksum cho dữ liệu giả và gửi tất cả tới người nhận. Trong
trường hợp người nhận và người gửi đều không nhận biết và

