CRYPTOGRAPHIC SYSTEMS (hệ thống mật mã) – Part 1 – LEARNS

CRYPTOGRAPHIC SYSTEMS (hệ thống mật mã) – Part 1

Trong khoanh vùng phạm vi cục bộ, để bảo vệ bảo đảm an toàn cho hạ tầng mạng và thiết bị đầu cuối, tất cả chúng ta hoàn toàn có thể dùng phối hợp nhiều tính năng, như : gia cường thiết bị ( device hardening ), tinh chỉnh và điều khiển truy nhập ( AAA access control ), tường lửa ( firewall ), và tiến hành mạng lưới hệ thống IPS. Nhưng data sẽ được bảo vệ như thế nào khi truyền qua mạng Internet công cộng ? Câu vấn đáp là sử dụng kỹ thuật mật mã .
Việc truyền thông online bảo đảm an toàn có một nhu yếu là phải bảo vệ data không bị trá hình, không bị đổi khác và gửi từ một nguồn đáng tin cậy. Thêm nữa, nếu data bị đánh cắp thì không hề giải thuật .

Nhiều hệ thống mạng hiện đại đảm bảo tính xác thực (authentication) với các giao thức như HMAC; đảm bảo tính toàn vẹn (integrity) bằng các thuật toán hàm băm (hash function) như MD, SHA; đảm bảo tính bí mật của dữ liệu bằng các thuật toán mã hóa đối xứng như DES, 3DES, AES, hoặc thuật toán mã hóa bất đối xứng như RSA và PKI.

Nhằm chuẩn bị sẵn sàng kiến thức và kỹ năng Giao hàng cho những chuyên đề về VPN tiếp theo, loạt bài viết này sẽ trình diễn một cách cơ bản về mật mã học, gồm có những nội dung chính như sau :

  • Cryptographic Services (Dịch vụ mật mã)
  • Integrity and Authenticity (Tính xác thực và Toàn vẹn)
  • Confidentiality (Mã hóa)
  • Public Key Cryptography (Mật mã khóa công khai)

Các thuật ngữ sử dụng trong bài viết :

  1. Cryptology: ngành khoa học làm ra và phân tích (giải) các đoạn mã bí mật
  2. Cryptography: mật mã học (phát triển và sử dụng mật mã)
  3. Cryptanalysis: phân tích mật mã
  4. Secret codes: mã bí mật
  5. Authentication: tính xác thực
  6. Integrity: tính toàn vẹn
  7. Confidentiality: tính bí mật
  8. Nonrepudiation: tính không chối bỏ
  9. Transposition: hoán vị
  10. Substitution: thay thế
  11. Plaintext/Cleartext: dữ liệu gốc (chưa mã hóa)
  12. Ciphertext: dữ liệu đã mã hóa
  13. Cipher: thuật toán/phép mã hóa
  14. Key: khóa
  15. Shared secret key: khóa bí mật được chia sẻ trước

Part 1 – Cryptographic Services

  • Truyền thông an toàn

Nhiệm vụ của nhà quản trị mạng là bảo vệ bảo đảm an toàn cho hạ tầng mạng ( gồm có những thiết bị router, switch, server, host ) và bảo vệ tài liệu được truyền bảo đảm an toàn trong phạm vị nội bộ cũng như ra bên ngoài .
Có 3 nhu yếu sau so với việc tiếp thị quảng cáo bảo đảm an toàn :
1. Authentication ( tính xác nhận ) : bảo vệ rằng tài liệu không bị trá hình và được gửi từ một nguồn hoàn toàn có thể chứng tỏ. Ví dụ : việc sử dụng mã cá thể PIN trong thanh toán giao dịch tại ngân hang .

Chú ý sự khác nhau giữa “ tính không chối bỏ ” ( nonrepudiation ) với “ tính xác nhận ”. Với dịch vụ nonrepudation, người gửi được xác lập là duy nhất, kèm theo những đặc thù riêng đính kèm theo tài liệu và do đó không hề chối bỏ vai trò là nguồn truyền tin. Một ví dụ để phân biệt “ tính xác nhận ” và “ tính không chối bỏ ” là sự trao đổi tài liệu giữa 2 máy tính trong cùng công ty khác với sự trao đổi tài liệu giữa một người mua với một e-commerce website. Trong cùng công ty, 2 máy tính khi trao đổi tài liệu với nhau thì không cần những tham số chứng tỏ là nguồn truyền tin. Các bạn sẽ gặp lại đặc thù nonrepudiation trong phần tiến hành VPN với CA .
2. Integrity ( tính toàn vẹn ) : tựa như như tính năng checksum trong đóng gói tài liệu, bảo vệ tài liệu không bị sửa chữa thay thế và sửa đổi. Ví dụ : việc gắn sáp lên phong bì thư .

3.Confidentiality (tính bí mật): đảm bảo rằng chỉ người nhận mới có thể đọc được dữ liệu và kẻ đánh cắp thì không giải mã được. Ví dụ: phương pháp mã hóa của Julius Caesar thực với nguyên tắc là chuyển vị trí các phần tử trong bảng chữ cái.

  • Mật mã học

Authentication, integrity, và confidentiality là những thành phần của mật mã học. Các thuật toán đặc biệt quan trọng ( còn gọi là cipher ) được sử dụng để mã hóa và giải thuật tài liệu. Những giải pháp dùng để tạo ra tài liệu được mã hóa ( ciphertext ) gồm có :

  • Transposition (hoán vị)
  • Substitution (thay thế)
  • Vernam
  • Transposition

Khi sử dụng thuật toán hoán vị, những vần âm không bị thay thế sửa chữa mà đơn thuần là chúng bị sắp xếp lại. Ví dụ : tài liệu gốc ( plaintext, cleartext ) là “ FLANK EAST ATTACK AT DAWN ” được mã hóa thành “ NWAD TAKCATTA TSAE KNALF ”. Trong ví dụ này, chìa khóa ( key ) là đảo ngược ký tự .
Một ví dụ khác là thuật toán “ rail fence ”. Trong ví dụ này, key = 3, nghĩa là dùng 3 đường thẳng khi thực thi mã hóa. Chúng ta đọc văn bản theo đường chéo lên xuống, như sau :

F…K…T…A…T…N.

.L.N.E.S.A.T.C.A.D.W..

..A…A…T…K…A…

Một số thuật toán mã hóa văn minh, như DES và 3DES vẫn phối hợp sử dụng chiêu thức hoán vị .

  • Substitution

Ý tưởng của thuật toán là sửa chữa thay thế một ký tự này bằng một ký tự khác. Trong kiểu đơn thuần nhất, thuật toán vẫn giữ nguyên trật tự của tài liệu gốc .
Ví dụ 1 : Caesar cipher
Với key = 3, ký tự D sẽ sửa chữa thay thế cho ký tự A, E thay cho B …

Thuật toán Caesar dễ bị giải thuật vì hàng loạt tài liệu được mã hóa với cùng một key shift .
Ví dụ 2 : Vigenere cipher

Thuật toán này dựa trên Caesar cipher, ngoại trừ việc sử dụng các key shift khác nhau. Các shift key này được xác định nhờ shared secret key (đã thống nhất trước giữa bên truyền và nhận). Dưới đây là Vigenere Cipher Table.

Giả sử shared secret key là: SECRETKEY. Bên truyền sẽ sử dụng key này để mã hóa plaintext “FLANK EAST ATTACK AT DAWN”, như sau:

  • Chữ F trong từ “FLANK” được mã hóa bằng ký tự X tại giao điểm của cột F và hàng S (SECRETKEY)
  • L (FLANK) được mã hóa bằng P tại giao điểm của cột L và hàng E (SECRETKEY)
  • A (FLANK) được mã hóa bằng C tại giao điểm của cột A và hàng C (SECRETKEY)
  • N (FLANK) được mã hóa bằng E tại giao điểm của cột N và hàng R (SECRETKEY)
  • K (FLANK) được mã hóa bằng O tại giao điểm của cột K và hàng E (SECRETKEY)

Và liên tục cho phần còn lại của tài liệu. Khi sử dụng Vigenere cipher, nếu message dài hơn key, thì key sẽ dùng lặp lại. Ví dụ : SECRETKEYSECRETKEYSEC được sử dụng để mã hóa “ FLANK EAST ATTACK AT DAWN ”, như sau :

Secret key: SECRE TKEY SECRET KE YSEC

Plaintext: FLANK EAST ATTACK AT DAWN

Cipher text: XPCEO XKUR SXVRGD KX BSAP

Note : thuật toán này vẫn hoàn toàn có thể crack .

  • Vernam

Gilbert Vernam là một kỹ sư làm việc tại phòng nghiên cứu AT&T Bell. Năm 1971, ông đã phát minh ra stream cipher và đồng phát minh ra thuật toán one-time pad (OTP).  Về lý thuyết, OTP là thuật toán duy nhất chứng minh được là không thể crack, ngay cả với tài nguyên vô tận (do đó có thể chống lại brute-force attack). Để đạt mức độ bảo mật, tất cả những điều kiện sau phải được thỏa mãn:

– Độ dài của chìa khóa phải đúng bằng độ dài văn bản cần mã hóa .
– Chìa khóa chỉ được dùng một lần .
– Chìa khóa phải là 1 số ít ngẫu nhiên thực .

  • Phân tích mật mã (cryptanalysis)

Phân tích mật mã nhằm mục đích xác lập ý nghĩa của thông tin đã được mã hóa ( cracking the code ) mà không cần đến shared secret key .
Cryptanalysis sử dụng 1 số ít giải pháp sau :

  • Brute-Force Attack
  • Ciphertext-Only Attack
  • Known-Plaintext Attack
  • Chosen-Plaintext Attack
  • Chosen-Ciphertext Attack
  • Meet-in-the-Middle
  • Brute-Force Attack

Attacker sẽ cố gắng nỗ lực thử tổng thể những key hoàn toàn có thể có. Kiểu tiến công này vận dụng được cho toàn bộ những thuật toán mã hóa. Nhìn chung, brute-force attack sẽ thành công xuất sắc nếu dò được khoảng chừng 50 % keyspace ( khoảng trống key ). Để ngăn ngừa kiểu tiến công này, những thuật toán mã hóa văn minh cần có keyspace đủ lớn để attacker phải tiêu tốn quá nhiều ngân sách và thời hạn nếu dùng brute-force attack .

Hiện nay, bằng brute-force attack, attacker hoàn toàn có thể crack DES trong vòng 22 h ; còn với AES thì cần tới 149 triệu năm .

  • Ciphertext-Only Attack

Trong kiểu tiến công này, attacker chỉ có mẫu tài liệu đã mã hóa ( ciphertext ). Công việc của hắn là Phục hồi ciphertext của càng nhiều tài liệu càng tốt. Attacker sẽ sử dụng giải pháp nghiên cứu và phân tích thống kê để suy đoán plaintext, thậm chí còn là key. Kiểu tiến công này không còn vận dụng trong trong thực tiễn vì những thuật toán văn minh sẽ tạo ra những giá trị ngẫu nhiên trong thời điểm tạm thời để chống lại chiêu thức nghiên cứu và phân tích thống kê .

  • Known-Plaintext Attack

Trong kiểu tiến công này, attacker có ciphertext của một vài tài liệu và cũng có được không ít plaintext. Với hiểu biết về giao thức, kiểu tập tin, hoặc những chuỗi đặc trưng có trong tài liệu gốc, attacker sử dụng brute-force để cố tìm key. Known-Plaintext Attack là kiểu tiến công có tính thực tiễn nhất. Để phòng chống kiểu tiến công này, những thuật toán tân tiến cần tạo ra keyspace khổng lồ. Vì để thành công xuất sắc, attacker cần dò tìm trong tối thiểu ½ keyspace .

  • Chosen-Plaintext Attack

Trong kiểu tiến công này, attacker tinh lọc tài liệu của thiết bị mã hóa rồi thực thi mã hóa và quan sát tác dụng. Kiểu tiến công này hiệu suất cao hơn so với Known-Plaintext Attack nhưng vẫn khó vận dụng vào trong thực tiễn vì attacker cần truy vấn được vào mạng lưới hệ thống mạng an toàn và đáng tin cậy và đánh cắp được cả ciphertext và plaintext .

  • Chosen-Ciphertext Attack

Trong kiểu tiến công này, attacker hoàn toàn có thể tinh lọc những mẫu ciphertext khác nhau để được giải thuật và có quyền truy vấn tới plaintext đã giải thuật. Với cặp mẫu ciphertext / plaintext attacker thực thi dò tìm key. Phương pháp tiến công này tương tự như với chosen-plaintext attack và cũng khó vận dụng vào thực tiễn .

  • Meet-in-the-Middle

Kiểu tiến công này còn được gọi là plaintext attack. Attacker biết một phần của plaintext và ciphertext tương ứng. Hắn sẽ dùng những key hoàn toàn có thể có để mã hóa plaintex, giải thuật ciphertext cho đến khi có hiệu quả trùng khớp .

  • Phương pháp phân tích tần suất (Frequency Analysis)

So với brute-force, nghiên cứu và phân tích theo tần suất là chiêu thức khoa học hơn. Phương pháp này dựa trên một trong thực tiễn là có những vần âm tiếng Anh được sử dụng nhiều hơn chữ khác. Ví dụ : trong ngôn từ tiếng Anh, vần âm E, T và A được sử dụng nhiều nhất. Sử dụng tối thiểu là vần âm J, Q., X và Z. Đặc điểm này hoàn toàn có thể giúp giải thuật tài liệu .

Ví dụ: chúng ta có ciphertext được thực hiện bởi thuật toán Caesar là IODQN HDVW DWWDFN DW GDZQ. Trong chuỗi này, có 6 chữ cái D, và 4 chữ W. Theo nhận xét ở trên, các chữ D,W trong ciphertext có thể là chữ E,T hoặc A trong plaintext. Thay thế thử và chúng ta tìm ra chữ D đã mã hóa chữ A, chữ W thay thế chữ T.

( hết phần 1 )

Tham khảo:

  • CCNA Security curriculum
CRYPTOGRAPHIC SYSTEMS (hệ thống mật mã) – Part 1 – LEARNS

Bài viết liên quan
Hotline 24/7: O984.666.352
Alternate Text Gọi ngay