|
Tổng Quan Về Mật Mã Học  Mã hóa là phương pháp nhằm bảo đảm tính riêng tư và tòan vẹn của dữ liệu trong quá trình lưu trữ hay truyền thông, tiến trình này thường được gọi là cyptography với các thuật tóan mã hóa (encryption Algorithm) thích hợp. Ngày từ thời xa xưa các chiến binh La Mã đã biết cách ứng dụng mật mã học vào các bức thông điệp của mình để không cho đối phương đọc được với phương pháp mã hóa có tên là Cesar Shilf, đây cũng là một trong những phương pháp mã hóa cổ xưa nhất được thực hiện bằng cách dịch chuyển (shilf) ký tự gốc thành một ký tự khác tùy theo tham số dịch chuyển. Ví dụ chuỗi ký tự ABD khi mã hóa theo phương pháp Cesar Shilf với tham số dịch chuyển là 1 sẽ cho ra kết quả là BDE, và chúng ta chỉ cần tiến hành ngược lại trên chuỗi kết quả sẽ tìm được giá trị ban đầu, công đọan này được gọi là quá trình giải mã (decryption). Nội dung của Comptia Security+ không để cập đến phương pháp mã hóa này tuy nhiên các bạn tham khảo để biết thêm. (Lưu ý Cesar Shilf là một phần bắt buộc của giáo trình SCNP)  Tiến trình mã hóa. Encryption Algorithm / Key – Thuật Tóan Mã Hóa và Chìa Khóa Qua phương pháp mã hóa đơn giản trên các bạn thấy rằng để mã hóa chúng ta cần có 2 thành phần đó là thuật tóan mã hóa (trong Cesar Shilf thì thuật tóan của nó là dịch chuyển) và thành phần quan trọng còn lại là khóa (Key) ví dụ khóa của quá trình mã hóa ABC thành BDE là 1 (dịch chuyển sang phải 1 ký tự).  Kết hợp giữa thuật tóan và khóa để thực hiện quá trình mã hóa. Thuật tóan Hash Thuật tóan Hash hay còn gọi là phương pháp hàm băm là phương pháp mã hóa một chiều : one-way encryption nghĩa là các dữ liệu được mã hóa và không bao giờ giả mã. Kết quả của sự mã hóa được gọi là các giá trị hash (hash value) hay message digest. Phương pháp mã hóa này thường được dùng để mã hóa password trong một số quá trình xác thực như khi CHAP client gởi password dùng để xác thực đến CHAP server thì password này sẽ được áp dụng các hàm hash để tiến hành mã hóa. Có hai thuật tóan hash thường được đề cập trong các kỳ thì Comptia Security+ là MD5 và SHA.  Message Digest 5 (MD5) : được phát minh bởi Ronald Rivest và có thể ứng dụng rộn rãi trong môi trường công cộng (không phải trả chi phí bản quyền), thuật tóan này cho ra các kết quả là các message digest có độ dài 128 bit. Secure Hash Algorithm (SHA) versions 1, 256, 384, and 512. : SHA được phát triển sau MD5 và mạnh mẽ hơn so với MD5. SHA có các phiên bản là SHA-1 (tạo ra 1 hash value có chiều dài 160 bit) và SHA-256SHA-384, SHA-512 tạo ra các giá trị hash có chiều dài tương ứng là 256-bit, 384-bit, và 512-bit.  Security365 Tip: Các bạn không cần phải biết chi tiết 2 thuật tóan đó được thực hiện như thê nào nhưng cần phải ghi nhơ rõ 2 thuật tóan hash này cùng với chiều dài của hash value trong mỗi thuật tóan, đặc biệt là đối với các phiên bản khác nhau của SHA sẽ có các hash value có độ dài khác nhau. Trong đề thi chính thức của các bạn chắc chắn sẽ có câu hỏi về nhưng thuật tóan này. Trong phần IPSEC hay ứng dụng thực hành True Crypt các bạn sẽ sử dụng những thuật tóan trên Mã hóa đối xứng và bất đối xứng Các chuyên gia bảo mật Security+ cần phải hiểu rõ hai phương pháp mã hóa đối xứng và bất đối xứng cùng những điểm thuận lợi cũng như bất lợi của chúng. Các bạn phải chỉ ra được thuật toán nào là đối xứng và thuật tóan nào là bất đối xứng trong bài thi của mình. Việc này cũng không quá khó khăn khi bạn ghi nhơ những thông tin trong bảng mô tả sau. Cơ chế mã hóa đối xứng (symetric) và bất đối xứng (asymetric) có các đặc điểm khác nhau sau đây: - Symetric Encryption : phương pháp mã hóa đối xứng còn gọi là private key tiến hành mã hóa và giải mã với cùng 1 khóa, điều này sẽ giúp cho quá trình thực thi diễn ra nhanh chóng hơn nhưng Sender (bên gởi) sau khi mã hóa thông tin cần phải gởi kèm khóa dùng để giải mã cho Receiver (bên nhận), điều này làm cho nguy cơ bị hacker nghe lén (sniffer) khóa giải mã và dữ liệu sau đó giải mã các thông tin đã mã hóa. Các thuật tóan thông dụng thuộc lọai này là DES, AES…
 Mã hóa đối xứng - Asymetric Encryption: phương pháp mã hóa bất đối xứng còn gọi là phương pháp mã hóa public key. Các thuật tóan mã hóa bất đối xứng sử dụng 1 cặp khóa và tiến hành mã hóa thông tin bằng một khóa sau đó giải mã bằng khóa còn lại. Khóa dùng để giải mã gọi là private key không bao giờ được truyền trên mạng do đó tính an tòan cao hơn nhiều so với các thuật tóan mã hóa đối xứng. Tuy nhiên, chi phí triển khai cũng như thời gian thực hiện của mã hóa bất đối xứng sẽ nhiều hơn so với mã hóa bất đối xứng. Một số thuật tóan thuộc dạng này là RSA, Diffie-Hellman ..
 Mã hóa bất đối xứng Các bạn có thể tham khảo bảng đưới để nắm một số thuật toán mã hóa đối xứng và bất đối xứng được đề cập trong Security+ Các Thuật Tóan Mã Hóa Thuật Tóan Mã Hóa | Mô tả | Ví dụ | Symmetric/Private key | Symmetric encryption (mã hóa đối xứng) còn được xem là private key encryption tiến hành mã hóa và giải mã dựa trên một khóa duy nhất. Điều này có thuận lợi về mặt tốc độ triển khai cũng như chi phí thấp nhưng lại có tính bảo mật kém vì khi tiến hành truyền dữ liệu phải gởi kèm cả khóa dùng để giải mã vì vậy khi khóa bị đánh cắp sẽ làm cho dữ liệu bị mất an tòan. Do đó khi áp dụng cơ chế này cần có cơ chế truyền khóa an tòan. Stream cipher là symmetric encryption | - Data Encryption Standard (DES) - Triple DES (3DES) - Advanced Encryption Standard (AES) - Rijndael - Rivest Cipher (RC) 4 và 5 - Skipjack - Blowfish - CAST-128 | Asymmetric/Public key | Asymmetricencryption (mã hóa bất đối xứng), hay còn gọi là public key encryption là phương pháp mã hóa cao cấp hơn so với symmetric encryption và an tòan hơn. Trong cơ chế mã hóa này một cặp khóa được áp dụng gồm public key có tác dụng đối với tất cả mọi người, và dữ liệu sẽ được mã hóa bằng public key của recipent (bên nhận) và chỉ có private key của recipientmới có thể giải mã dữ liệu. Phương pháp mã hóa bất đối xứng giải quyết được vấn đề chia sẽ private key của mã hóa đối xứng, do đó tính an tòan cũng cao hơn. | - Rivest Shamir Adelman (RSA) cryptosystem - Diffie-Hellman - Elgamel | Các thuật tòan mã hóa đối xứng sử dụng 1 chìa khóa để mã hóa và giải mã  Các thuật tóan mã hóa bất đối xứng dùng 1 cặp khóa cho quá trình mã hóa và giải mã  Digital Signature – Chữ kí điện tử Một trong những công nghệ mã hóa bất đối xứng thường được ứng dụng trong các giao dịch trên môi trường Internet như các ứng dụng thương mại điện tử là công nghệ mã hóa khóa công khai PKI (Public Key Infrastructure). Trong mô hình này, Client và Server khi truyền thông và trao đổi dữ liệu với nhau sẽ sử dụng một cặp khóa private/public key. Vậy quá trình tạo và sử dụng các khóa này như thế nào? Hãy thử tưởng tượng một tình huống thật tế sau. Có 2 người muốn trao đổi tài liệu mật với nhau qua đường bưu điện, để bảo đảm an tòan Sender bỏ tài liệu vào trong một chiếc hộp và chiếc hộp này chỉ có một lổ khóa dùng để mở nắp bỏ tài liệu vào cũng như lấy tài liệu ra, điều này giống như chúng ta thực hiện mà hóa đối xứng trên môi trường mạng. Trường hợp còn lại, Sender sử dụng một chiếc hộp với 2 lổ khóa, một dùng để mở hộp ra và bỏ tài liệu vào còn một dùng để mở hộp lấy tài liệu ra. Và khi Sender gởi dữ liệu học chỉ cần một khóa dùng để mở hộp và bỏ tài liệu vào, và khóa này là của Receiver (public key). Sau đó, Receiver nhận tài liệu và mở hộp ra bằng chìa khóa riêng của họ mà ngay cả Sender cũng không có, vì vậy quá trình truyền thông sẽ an tòan hơn do các Private Key (khóa dùng để giải mã hay mở hộp) không thể bị hacker bắt được vì nó không bao giờ được truyền trên mạng.  Chữ kí điện tử là một ứng dụng phương pháp mã hóa công khai (PKI), bất đối xứng. Như vậy, chúng ta có thể thấy trong cơ chế mã hóa bất đối xứng các bên gởi và bên nhận đều có một cặp khóa public key/private key. Trong mô hình PKI thì máy chủ Certificate Authority (CA) sẽ chịu trách nhiệm tạo các cặp khóa, quản lý các khóa (bao gồm thời gian sử dụng và các đặc tính khác), thu hồi các khóa không hợp lệ …Các User hay dịch vụ muốn xin các khóa này phải gởi các yêu cầu cấp phát Certificate (bao gồm khóa và các thông số quản lý, thuật tóan sử dụng) đến CA. Ở đây chúng ta chưa để cập sâu đến Certificate mà chỉ thảo luận chung về các thuật tóan, các cơ chế mã hóa và điểm mạnh yếu. Trong chương 4 các bạn sẽ tham khảo sâu hơn về Certificate cũng như cách sử dụng. Hình mình họa quá trình cấp certificate cho client  Trong chương này chúng ta đã làm quen với các thuật toán mã hóa thông dụng và hai lọai mã hóa đối xứng và bất đối xứng. Các bạn cần nhớ rõ những thuật tóan của từng lọai mà chúng tôi đã mô tả trong bảng tóm tắt, cũng như số lượng khóa tham giá quá trình mã hóa và giải mã. Ngòai ra, các thuật toán thuộc dạng hash là những thuật tóan nào, độ dài của hash value của các thuật tóan đó là bao nhiêu các bạn cần ghi nhớ thật kỹ. Bây giờ chúng ta hãy tham khảo một số câu hỏi sau đây: 1. True or False? A key is a specific piece of data used in conjunction with an algorithm to encrypt and decrypt. ✓ True ✓ False 2. Alice sends a message to Bob. Inside the message is a small, coded piece of information that proves that Alice was the message sender. This is an example of: a) Hashing b) Symmetric encryption c) Asymmetric encryption d) Block cipher 3. Another term for the coded data Alice inserted in her message is: a) Stream cipher b) Key c) Digital signature d) Cleartext 4. What encryption algorithm did Alice probably use to insert the coded data for Bob? a) 3DES b) AES c) RSA d) SHA 5. Alice sends a coded message to Bob. Before she does, she sends Bob a copy of the mathematical formula she used to encrypt the message so that he can decrypt it when he receives it. This is an example of: a) Hashing b) Symmetric encryption c) Asymmetric encryption d) Block cipher 6. What encryption algorithm did Alice probably use on her message to Bob? a) 3DES b) RSA c) SHA d) MD5 7. Alice uses a piece of information that only she knows to send a coded message to Bob. Bob obtains decryption information from a database and decodes the message. This is an example of: a) Hashing b) Symmetric encryption c) Asymmetric encryption d) Block cipher 8. What encryption algorithm did Alice and Bob probably use in their communication? a) SHA b) AES c) RSA d) 3DES Security365 Question: Còn một kháiniệm quan trọng mà các bạn cần ghi nhớ, đó là thuật ngữ cipher. Cipher là thuật ngữ chi quá trình mã hóa, tương tự như encryption. Và có 2 lọai Cipher là Stream Cipher và Block Cipher. Để các học viên ghi nhớ kỹ kháiniệm này Security365 không đưa vào nội dung bài học mà đưa vào phần câu hỏi. Các bạn hãy cho chúng tôi biết những đặc điểm chính của Stream Cipher và Bloch Cipher, vá các thuật toán đã nêu ở trên thuộc lọai cipher nào? Hãy gởi đáp án đến các giảnh viên hay công bố trên diễn đàn nội bộ của lớp học Comptia SECURITY+. - Gợi ý: Nghe thật kỹ bài giảng sẽ có giải đáp.
|