Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [KIẾN THỨC] Cryptography – Nghệ Thuật Giấu Bí Mật Từ 600 Trước Công Nguyên Đến Thời Đại Số

    Xin chào các anh chị trên cộng đồng VnPro!

    Hôm nay em muốn chia sẻ một chủ đề mà ai cũng đang dùng hàng ngày mà không hay biết: Cryptography (Mật mã học). Mỗi lần bạn lướt web, mua hàng online, hay nhắn tin – cryptography đang làm việc thầm lặng phía sau để bảo vệ bạn. Đây là nội dung trong CompTIA Security+ Guide to Network Security Fundamentals, Module 3.

    Và câu chuyện bắt đầu không phải từ máy tính – mà từ năm 600 trước Công nguyên, khi người Hy Lạp cổ đại đau đầu với một vấn đề quen thuộc: Làm sao gửi tin bí mật mà không bị kẻ thù đọc mất?
    🏺 PHẦN 1 – Steganography vs Cryptography: Hai Trường Phái Giấu Bí Mật

    Steganography – Giấu Sự Tồn Tại Của Tin Nhắn

    Người Hy Lạp cổ đại dùng đủ mọi cách để tin nhắn không bị phát hiện:
    • Viết lên bảng gỗ rồi phủ sáp bên trên, viết nội dung vô hại lên sáp để ngụy trang
    • Giấu tin trong băng cuốn vết thương
    • Xăm mực lên da đầu người đưa tin, đợi tóc mọc lại che kín, rồi gửi đi – đến nơi chỉ cần cạo đầu ra đọc!
    Đây gọi là Steganography (tiếng Hy Lạp: "covered writing") – ẩn giấu sự tồn tại của tin nhắn. Ngày nay, steganography hiện đại giấu dữ liệu bên trong file ảnh, file âm thanh, hoặc video bằng cách nhúng vào các vùng metadata vô hình.

    Nhưng có một vấn đề nghiêm trọng: Nếu kẻ thù tìm thấy tin nhắn, họ đọc được ngay. Giấu thành công 100% là điều không tưởng. Cryptography – Giấu Ý Nghĩa Của Tin Nhắn

    Giải pháp thông minh hơn: Thay vì giấu bản thân tin nhắn, hãy biến nó thành thứ không ai đọc được – dù có tìm thấy cũng vô dụng.

    Người Hy Lạp dùng hai kỹ thuật cơ bản vẫn còn tồn tại đến ngày nay:

    Transposition (Hoán vị) – Xáo trộn vị trí các chữ cái. Ví dụ: ran → arn. Nghe đơn giản, nhưng với một câu dài 36 ký tự như "The quick brown fox jumps over the lazy dog", số cách xáo trộn có thể lên đến hơn 50 tỷ tỷ tỷ tỷ – không ai đoán nổi bằng tay.

    Substitution (Thay thế) – Thay chữ này bằng chữ khác theo quy tắc. Ví dụ nổi tiếng là ROT13: xoay bảng chữ cái 13 bước (A=N, B=O, C=P...) → chữ security thành frphevgl. Hiện đại hơn là XOR cipher dùng phép toán nhị phân để mã hóa.
    💡 Cryptography (tiếng Hy Lạp: "hidden writing") là nghệ thuật biến đổi thông tin để người không được phép không thể hiểu được, nhưng người được phép vẫn đọc được bình thường.

    📚 PHẦN 2 – Những Khái Niệm Nền Tảng Bạn Cần Biết
    Plaintext Dữ liệu gốc chưa mã hóa – đưa vào để mã hóa, hoặc nhận ra sau giải mã
    Ciphertext Dữ liệu đã mã hóa – trông như mớ ký tự vô nghĩa
    Cleartext Dữ liệu chưa mã hóa và không có ý định mã hóa (ví dụ: tin tức công khai)
    Encryption Quá trình biến plaintext → ciphertext
    Decryption Quá trình ngược lại: ciphertext → plaintext
    Algorithm (Cipher) Công thức toán học thực hiện việc mã hóa/giải mã
    Key Giá trị toán học được đưa vào algorithm – quyết định ciphertext trông như thế nào
    Hình dung đơn giản: Algorithm là ổ khóa, Key là chìa khóa. Cùng một ổ khóa nhưng chìa khác nhau sẽ cho kết quả khác nhau.
    🔐 Điểm cốt lõi: Trong mật mã học hiện đại, algorithm thường được công khai (ai cũng biết cơ chế). Thứ phải giữ bí mật chính là key – không phải algorithm.

    🔑 PHẦN 3 – Ba Loại Thuật Toán Mật Mã Quan Trọng

    🔏 Hash Algorithms – "Dấu Vân Tay" Của Dữ Liệu

    Hash algorithm biến dữ liệu thành một chuỗi ký tự cố định gọi là hash hay digest. Đặc điểm quan trọng:
    • Một chiều: Không thể từ hash suy ngược ra dữ liệu gốc
    • Cố định: Dù file 1KB hay 10GB, hash luôn có độ dài như nhau
    • Nhạy cảm: Thay đổi dù một ký tự trong file gốc → hash thay đổi hoàn toàn
    Ví dụ thực tế: Khi bạn tạo tài khoản và đặt mật khẩu, website không lưu mật khẩu thật – họ lưu hash của mật khẩu. Khi bạn đăng nhập lại, hệ thống hash mật khẩu bạn vừa nhập rồi so sánh với hash đã lưu. Nếu khớp → cho vào. Ngay cả admin cũng không biết mật khẩu thật của bạn là gì! 🔐 Symmetric Cryptography – Một Chìa Khóa Cho Tất Cả

    Symmetric (đối xứng) dùng cùng một key cho cả mã hóa lẫn giải mã. Giống như ổ khóa nhà: chìa mở cũng là chìa khóa lại.

    Ưu điểm: Rất nhanh, phù hợp mã hóa khối lượng lớn dữ liệu.

    Nhược điểm lớn: Cả người gửi lẫn người nhận đều phải có cùng một key → làm sao truyền key an toàn lần đầu? Nếu key bị lộ trong lúc truyền, toàn bộ dữ liệu bị phơi bày. 🔓 Asymmetric Cryptography – Hai Chìa Khóa Kỳ Diệu

    Asymmetric (bất đối xứng) giải quyết vấn đề của symmetric bằng một ý tưởng thiên tài: dùng hai key liên kết với nhauPublic Key (khóa công khai) và Private Key (khóa bí mật).

    Nguyên tắc hoạt động:
    • Thứ được mã hóa bằng Public Key chỉ có Private Key tương ứng mới giải mã được
    • Public Key có thể chia sẻ với cả thế giới – không cần giữ bí mật
    • Private Key không bao giờ rời khỏi tay chủ sở hữu
    Ví dụ thực tế: Bạn muốn gửi tin nhắn bí mật cho Alice. Bạn lấy Public Key của Alice (đăng công khai trên mạng), mã hóa tin nhắn bằng nó, rồi gửi đi. Dù toàn bộ thế giới chặn được tin nhắn đó, chỉ Alice – người duy nhất có Private Key tương ứng – mới giải mã được.
    💡 Nhược điểm: Asymmetric chậm hơn symmetric rất nhiều. Vì vậy trong thực tế, hai loại thường được kết hợp: dùng asymmetric để trao đổi key an toàn lần đầu, sau đó dùng symmetric để mã hóa dữ liệu thực sự (đây chính xác là cách HTTPS hoạt động trên trình duyệt của bạn).

    🌟 PHẦN 4 – Cryptography Được Dùng Ở Đâu Trong Thực Tế?

    🔒 File & Disk Encryption

    File encryption: Mã hóa từng file hoặc thư mục riêng lẻ. Phần mềm phổ biến: VeraCrypt (miễn phí, mã nguồn mở).

    Full-Disk Encryption (FDE): Mã hóa toàn bộ ổ đĩa – kể cả Windows Registry và file tạm có thể chứa dữ liệu nhạy cảm. Microsoft Windows tích hợp sẵn BitLocker. Lợi ích lớn: Nếu laptop bị mất cắp, kẻ trộm rút ổ cứng ra lắp vào máy khác cũng không đọc được gì.

    Volume/Partition-level encryption: Mã hóa một phân vùng cụ thể thay vì toàn bộ ổ. 🗄️ Database Encryption

    Plugin method: Gắn module mã hóa vào hệ quản trị CSDL.

    Transparent Data Encryption (TDE): Mã hóa/giải mã ngay bên trong database engine – không cần sửa code ứng dụng, dễ quản lý nhất.

    Mức độ mã hóa có thể từ toàn bộ file database → từng bảng → từng cột → thậm chí từng ô (cell). Nhưng mã hóa càng chi tiết thì hiệu suất database càng giảm. 💾 Hardware Encryption – Bảo Mật Trong Phần Cứng

    USB Devices: Mã hóa tự động mọi dữ liệu ghi vào USB. Admin có thể theo dõi từ xa, vô hiệu hóa USB bị mất, thậm chí kích hoạt tự hủy dữ liệu từ xa.

    Self-Encrypting Drives (SEDs): Ổ cứng tự mã hóa. Khi khởi động, drive và máy tính xác thực lẫn nhau. Nếu xác thực thất bại → từ chối truy cập hoặc xóa khóa giải mã – toàn bộ dữ liệu biến thành rác không thể khôi phục.

    Hardware Security Module (HSM): Thiết bị phần cứng chuyên dụng (USB, expansion card, hoặc server riêng) để quản lý khóa mã hóa. Có bộ tạo số ngẫu nhiên và bộ nhớ key riêng biệt. Vì chạy hoàn toàn trên hardware, malware không thể tấn công được. Ngân hàng thường dùng HSM dạng "security dongle" gắn với tài khoản tài chính.

    Trusted Platform Module (TPM): Chip mật mã học được tích hợp thẳng vào motherboard. TPM lưu key, tạo số ngẫu nhiên, và còn kiểm tra tính toàn vẹn của hệ thống khi khởi động – nếu file hệ thống bị chỉnh sửa, TPM có thể chặn máy boot lên. Windows 11 bắt buộc phải có TPM v2.0.
    ⛓️ PHẦN 5 – Blockchain: Sổ Cái Bất Biến Của Thế Giới Số

    Blockchain là ứng dụng mật mã học thú vị nhất của thập kỷ vừa qua.

    Hình dung thế này: Công ty JetGo sản xuất hoverboard có hàng chục nhà cung cấp và bán cho hàng trăm nhà bán lẻ. Hiện tại mỗi bên giữ sổ cái riêng của mình. Khi có sai sót, phải liên lạc qua lại nhiều bên mất rất nhiều thời gian.

    Blockchain giải quyết điều này bằng một sổ cái chung duy nhất, được chia sẻ với tất cả các bên – và có ba đặc tính then chốt:
    • Shared (Chia sẻ): Tất cả các bên đều giữ bản sao
    • Immutable (Bất biến): Một khi đã ghi vào không thể sửa hay xóa (nhờ hash SHA-256)
    • Consensus (Đồng thuận): Mọi giao dịch mới cần được toàn bộ mạng lưới đồng ý mới được thêm vào
    Ba loại blockchain: Public (ai cũng tham gia – dùng cho crypto), Private (nội bộ doanh nghiệp), và Federated/Consortium (liên minh nhiều tổ chức, vừa có phần công khai vừa có phần riêng tư).
    ⚠️ Thực tế không hào nhoáng như tưởng: Dù được kỳ vọng cao, blockchain trong doanh nghiệp chưa được triển khai rộng rãi. Một hãng vận chuyển container lớn bắt đầu từ 2018, cần hợp tác của hàng chục quốc gia nhưng không thành, đóng cửa dự án sau 5 năm. Một chuỗi siêu thị lớn dùng blockchain theo dõi rau – sau 4 năm chỉ theo dõi thêm được đúng... một loại rau thứ hai (ớt chuông xanh).

    ⚠️ PHẦN 6 – Giới Hạn & Tấn Công Vào Mật Mã Học

    Cryptography không phải lá bùa hộ mệnh tuyệt đối. Những Giới Hạn Thực Tế:
    Speed (Tốc độ) Mã hóa/giải mã tốn thời gian – không phù hợp thiết bị cần phản hồi tức thì
    Size (Kích thước) File sau mã hóa có thể lớn hơn 1/3 so với bản gốc
    Weak Keys Một số cipher có thể tạo ra khóa yếu, gây lỗ hổng không ngờ
    Key Length Khóa ngắn = dễ bị bẻ hơn
    Longevity Máy tính ngày càng mạnh → thuật toán từng "bất khả xâm phạm" trở nên yếu dần
    Resource Constraint Thiết bị IoT nhỏ (cảm biến, bóng đèn thông minh) dùng 0.001W – không đủ năng lượng để chạy mã hóa mạnh
    Các Kiểu Tấn Công Phổ Biến:

    Algorithm Attacks: Tìm điểm yếu trong bản thân thuật toán để bẻ khóa mà không cần thử từng khóa một.

    Collision Attacks: Trong hash, tìm hai đầu vào khác nhau tạo ra cùng một hash – từ đó có thể giả mạo dữ liệu mà hash vẫn cho kết quả hợp lệ.

    Quantum Computing: Đây là mối đe dọa tương lai lớn nhất. Máy tính lượng tử có thể bẻ phá các thuật toán mã hóa hiện tại (RSA, ECC) nhanh hơn nhiều bậc so với máy tính thông thường – lý do giới bảo mật đang gấp rút phát triển Post-Quantum Cryptography.
    ✅ Tóm Lại
    Xác minh file không bị chỉnh sửa Hash algorithm
    Mã hóa nhanh khối lượng lớn dữ liệu Symmetric encryption
    Trao đổi key an toàn / chữ ký số Asymmetric encryption
    Toàn bộ ổ cứng laptop Full-Disk Encryption (BitLocker/VeraCrypt)
    Dữ liệu nhạy cảm trong database Transparent Data Encryption (TDE)
    Quản lý key ở cấp doanh nghiệp Hardware Security Module (HSM)
    Đảm bảo máy tính không bị can thiệp Trusted Platform Module (TPM)
    🔑 Nguyên tắc vàng: Mật mã học không bảo vệ bạn nếu bạn dùng key yếu, algorithm lỗi thời, hoặc để lộ key. Thuật toán mạnh nhất thế giới cũng vô dụng nếu chìa khóa nằm dưới tấm thảm cửa.
Working...
X