; }

TÌM HIỂU VỀ MÃ THÁM






Mục tiêu của mã thám là tìm những điểm yếu hoặc không an toàn trong phương thức mật mã hóa. 
Mã thám có thể được thực hiện bởi những kẻ tấn công ác ý, nhằm làm hỏng hệ thống; hoặc bởi những người thiết kế ra hệ thống (hoặc những người khác) với ý định đánh giá độ an toàn của hệ thống.
Có rất nhiều loại hình tấn công mã thám, và chúng có thể được phân loại theo nhiều cách khác nhau. Một trong những đặc điểm liên quan là những người tấn công có thể biết và làm những gì để hiểu được thông tin bí mật. Ví dụ, những người mã thám chỉ truy cập được bản mã hay không? hay anh ta có biết hay đoán được một phần nào đó của bản rõ? hoặc thậm chí: Anh ta có chọn lựa các bản rõ ngẫu nhiên để mật mã hóa? Các kịch bản này tương ứng với tấn công bản mã, tấn công biết bản rõ và tấn công chọn lựa bản rõ.
Trong khi công việc mã thám thuần túy sử dụng các điểm yếu trong các thuật toán mật mã hóa, những cuộc tấn công khác lại dựa trên sự thi hành, được biết đến như là các tấn công kênh bên. Nếu người mã thám biết lượng thời gian mà thuật toán cần để mã hóa một lượng bản rõ nào đó, anh ta có thể sử dụng phương thức tấn công thời gian để phá mật mã. Người tấn công cũng có thể nghiên cứu các mẫu và độ dài của thông điệp để rút ra các thông tin hữu ích cho việc phá mã; điều này được biết đến như là mã thám lưu thông.
Nếu như hệ thống mật mã sử dụng khóa xuất phát từ mật khẩu, chúng có nguy cơ bị tấn công kiểu duyệt toàn bộ (brute force), vì kích thước không đủ lớn cũng như thiếu tính ngẫu nhiên của các mật khẩu. Đây là điểm yếu chung trong các hệ thống mật mã. Đối với các ứng dụng mạng, giao thức thỏa thuận khóa chứng thực mật khẩu có thể giảm đi một số các giới hạn của các mật khẩu. Đối với các ứng dụng độc lập, hoặc là các biện pháp an toàn để lưu trữ các dữ liệu chứa mật khẩu và/hoặc các cụm từ kiểm soát truy cập thông thường được gợi ý nên sử dụng.
Mã thám tuyến tính và mã thám vi phân là các phương pháp chung cho mật mã hóa khóa đối xứng. Khi mật mã hóa dựa vào các vấn đề toán học như độ khó NP, giống như trong trường hợp của thuật toán khóa bất đối xứng, các thuật toán như phân tích ra thừa số nguyên tố trở thành công cụ tiềm năng cho thám mã.

Lịch sử


Mật mã học là một ngành có lịch sử từ hàng nghìn năm nay. Trong phần lớn thời gian phát triển của mình (ngoại trừ vài thập kỷ trở lại đây), lịch sử mật mã học chính là lịch sử của những phương pháp mật mã học cổ điển - các phương pháp mật mã hóa với bút và giấy, đôi khi có hỗ trợ từ những dụng cụ cơ khí đơn giản. Vào đầu thế kỷ 20, sự xuất hiện của các cơ cấu cơ khí và điện cơ, chẳng hạn như máy Enigma, đã cung cấp những cơ chế phức tạp và hiệu quả hơn cho việc mật mã hóa. Sự ra đời và phát triển mạnh mẽ của ngành điện tử và máy tính trong những thập kỷ gần đây đã tạo điều kiện để mật mã học phát triển nhảy vọt lên một tầm cao mới.
Sự phát triển của mật mã học luôn luôn đi kèm với sự phát triển của các kỹ thuật mã thám. Các phát hiện và ứng dụng của các kỹ thuật mã thám trong một số trường hợp đã có ảnh hưởng đáng kể đến các sự kiện lịch sử. Một vài sự kiện đáng ghi nhớ bao gồm việc phát hiện ra bức điện Zimmermann khiến Hoa Kỳ tham gia Thế chiến I và việc phá mã thành công hệ thống mật mã của Đức Quốc xã góp phần làm đẩy nhanh thời điểm kết thúc thế chiến II.
Cho tới đầu thập kỷ 1970, các kỹ thuật liên quan tới mật mã học hầu như chỉ nằm trong tay các chính phủ. Hai sự kiện đã khiến cho mật mã học trở nên thích hợp cho mọi người, đó là: sự xuất hiện của tiêu chuẩn mật mã hóa DES và sự ra đời của các kỹ thuật mật mã hóa khóa công khai.
Gậy mật mã của người Hy Lạp là một trong những dụng cụ đầu tiên trong ngành mật mã hoá
Gậy mật mã của người Hy Lạp là một trong những dụng cụ đầu tiên trong ngành mật mã hoá
Mật mã học có lịch sử lâu dài và đầy màu sắc. Nói chung, những dạng sớm nhất của cách viết bí mật (ngày nay gọi chung là mật mã hóa cổ điển) chỉ cần có bút và giấy. Hai phạm trù chính của mật mã cổ điển là mật mã hoán vị, trong đó người ta sắp xếp lại trật tự các chữ cái của thông điệp, và mật mã thay thế, trong đó người ta thay thế có hệ thống các chữ cái hay các nhóm chữ cái bằng các chữ cái hay các nhóm chữ cái khác. Văn bản được mật mã hóa bằng mật mã cổ điển có xu hướng lộ ra các thông tin thống kê nhất định về văn bản thường. Bằng cách sử dụng các thông tin này, mật mã cổ điển rất dễ bị dò ra (ví dụ bằng phân tích tần suất). Mật mã cổ điển vẫn còn được phổ biến tới ngày nay, chủ yếu thông qua việc giải các ô đố chữ (xem tài liệu viết bằng mật mã).
Các thiết bị và các kỹ thuật khác nhau đã được sử dụng để mật mã hóa. Một trong những thiết bị sớm nhất có lẽ là gậy mật mã (tiếng Hy Lạp: σκυτάλη). Trong nửa đầu thế kỷ XX, một số thiết bị cơ khí đã được phát minh để thực hiện mật mã hóa, bao gồm rotor machines — nổi tiếng nhất là máy Enigma được người Đức sử dụng trong Đại chiến thế giới 2. Mật mã thực hiện bằng các máy móc này đã tăng độ phức tạp lên đáng kể đối với công việc phân tích mã.
Với sự ra đời của máy tính kỹ thuật số và điện tử học thì các mật mã cực kỳ phức tạp đã có thể được thực hiện. Đặc trưng của mật mã máy tính là chúng thực hiện trên các chuỗi nhị phân, không giống như trong các mô hình mật mã hóa cổ điển và cơ học (chỉ sử dụng bảng chữ cái với khoảng 26 ký tự-phụ thuộc vào từng ngôn ngữ). Mật mã máy tính cũng có khả năng chịu đựng việc phân tích mật mã tốt hơn; rất ít các mật mã như thế dễ bị tổn thương chỉ bởi kiểu tấn công biết bản mã.
Các nghiên cứu rộng rãi có tính học thuật về mật mã hóa hiện đại là tương đối gần đây — nó chỉ được bắt đầu trong cộng đồng mở kể từ những năm thập niên 1970 với các chi tiết kỹ thuật của DES (viết tắt trong tiếng Anh của Data Encryption Standard tức Tiêu chuẩn Mật mã hóa Dữ liệu) và sự phát minh ra RSA. Kể từ đó, mật mã hóa đã trở thành công cụ được sử dụng rộng rãi trong liên lạc và bảo mật máy tính.
Cũng giống như các bài học thu được từ trong lịch sử của nó, các nhà mật mã hóa cũng rất thận trọng khi nhắc đến tương lai. Định luật Moore thông thường được nhắc đến khi nói về độ lớn khóa, và các hiệu ứng tiềm năng của máy tính lượng tử cũng đã được nói

An ninh thông tin

Mật mã hóa được sử dụng phổ biến để bảo đảm an toàn cho thông tin liên lạc. Các thuộc tính được yêu cầu là:
  1. Bí mật: Chỉ có người nhận đã xác thực có thể lấy ra được nội dung của thông tin chứa đựng trong dạng đã mật mã hóa của nó. Nói khác đi, nó không thể cho phép thu lượm được bất kỳ thông tin đáng kể nào về nội dung của thông điệp.
  2. Nguyên vẹn: Người nhận cần có khả năng xác định được thông tin có bị thay đổi trong quá trình truyền thông hay không.
  3. Xác thực: Người nhận cần có khả năng xác định người gửi và kiểm tra xem người gửi đó có thực sự gửi thông tin đi hay không.
  4. Không từ chối: Người gửi không thể từ chối việc mình đã gửi thông tin đi.
  5. Chống lặp lại: Không cho phép bên thứ ba copy lại văn bản và gửi nhiều lần đến người nhận mà người gửi không hề hay biết.
Mật mã học có thể cung cấp cơ chế để giúp đỡ thực hiện điều này. Tuy nhiên, một số mục tiêu không phải bao giờ cũng là cần thiết, trong nghĩa cảnh của thực tế hay mong muốn của người sử dụng. Ví dụ, người gửi thông tin có thể mong muốn giữ mình là nặc danh; trong trường hợp này tính không từ chối rõ ràng là không thích hợp.

Khóa đối xứng

Thuật toán khóa đối xứng là những thuật toán hoặc là sử dụng cùng một khóa cho việc mật mã hóa và giải mật mã hoặc là khóa (thứ hai) sử dụng để giải mật mã có thể dễ dàng tính được từ khóa (thứ nhất) đã dùng để mật mã hóa. Các thuật ngữ khác bao gồm mật mã hóa khóa cá nhân, mật mã hóa một khóa và mật mã hóa khóa đơn.
Một sự lặp lại (trên 6–10) của mật mã hóa khối SAFER-K. Các mật mã hiện đại thực hiện bởi máy tính có thể phức tạp hơn nhiều so với việc thực hiện bằng tay hay các máy cơ điện khác.
Một sự lặp lại (trên 6–10) của mật mã hóa khối SAFER-K. Các mật mã hiện đại thực hiện bởi máy tính có thể phức tạp hơn nhiều so với việc thực hiện bằng tay hay các máy cơ điện khác.
Khóa đối xứng có thể nhóm thành mật mã khối và mật mã luồng. Mật mã luồng mật mã hóa 1 bit tại một thời điểm, ngược lại với mật mã khối là phương thức cho phép thực hiện trên một nhóm các bit ("khối") với độ dài nào đó trong một lần. Phụ thuộc vào phương thức thực hiện, mật mã khối có thể được thực hiện như là mật mã luồng tự đồng bộ (chế độ CFB). Tương tự, mật mã luồng có thể làm để nó hoạt động trên các khối riêng rẽ của văn bản thường tại một thời điểm. Vì thế, ở đây tồn tại sự đối ngẫu giữa hai cách thức này. Các mật mã khối như DES, IDEA và AES, và mật mã luồng như RC4, là những loại mật mã khóa đối xứng nổi tiếng nhất.
Các nền tảng mật mã học khác đôi khi cũng được phân loại như là mật mã học khóa đối xứng:
  • Các mã hóa mật mã sản sinh ra thông điệp. Trong khi nó có thể rất dễ tính toán nhưng nó lại rất khó để đảo ngược ( một chiều), cho dù các thuộc tính khác thông thường cũng là cần thiết. MD5 và SHA-1 là các mã hóa nổi tiếng nhất.
  • Các MAC (Message Authentication Codes) (mã xác thực thông điệp), cũng được biết đến như là mã hóa có khóa, là tương tự như các mã hóa, ngoại trừ việc cần có khóa để tính toán việc . Như tên gọi của nó, chúng được sử dụng rộng rãi để xác thực thông điệp. Chúng thông thường được xây dựng từ các nền tảng khác, chẳng hạn từ mật mã khối, mã hóa không khóa hay mật mã luồng.

Khóa công khai

Các thuật toán Mã hóa khóa đối xứng có một số trở ngại không thuận tiện — hai người muốn trao đổi các thông tin bí mật cần phải chia sẻ khóa bí mật. Khóa cần phải được trao đổi theo một cách thức an toàn, mà không phải bằng các phương thức thông thường vẫn dùng để liên lạc. Điều này thông thường là bất tiện, và mật mã hóa khóa công khai (hay khóa bất đối xứng) được đưa ra như là một giải pháp thay thế. Trong mật mã hóa khóa công khai có hai khóa được sử dụng, là khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân), trong đó khóa công khai dùng để mật mã hóa còn khóa bí mật dùng để giải mật mã (cũng có thể thực hiện ngược lại). Rất khó để có thể thu được khóa bí mật từ khóa công khai. Điều này có nghĩa là một người nào đó có thể tự do gửi khóa công khai của họ ra bên ngoài theo các kênh không an toàn mà vẫn chắc chắn rằng chỉ có họ có thể giải mật mã các thông điệp được mật mã hóa bằng khóa đó.
Các thuật toán khóa công khai thông thường dựa trên các vấn đề toán học với độ khó NP (Nondeterministic Polynomial). Ví dụ RSA (Rivest–Shamir–Adleman), dựa trên độ khó (ước đoán) của bài toán phân tích ra thừa số nguyên tố. Vì lý do thuận tiện, các hệ thống mật mã hóa lai ghép được sử dụng trong thực tế; khóa được trao đổi thông qua mật mã khóa công khai, và phần còn lại của thông tin được mật mã hóa bằng cách sử dụng thuật toán khóa đối xứng (điều này về cơ bản là nhanh hơn). Mật mã hóa đường cong elip là một dạng thuật toán khóa công khai có thể có một số ưu điểm so các hệ thống khác.
Mật mã hóa bất đối xứng cũng cung cấp cơ chế cho chữ ký số, là cách thức để xác minh với độ bảo mật cao (giả thiết cho rằng khóa cá nhân liên quan được đảm bảo giữ an toàn) rằng thông điệp mà người nhận đã nhận được là chính xác được gửi đi từ phía người gửi mà họ yêu cầu. Các chữ ký như vậy thông thường (theo luật định hay được suy diễn mặc định) được coi là chữ ký số tương đương với chữ ký thật trên các tài liệu được in ra giấy. Xét về phương diện kỹ thuật, chúng lại không phải vậy do không có sự tiếp xúc thực tế mà cũng không có liên hệ giữa "người ký" và "chữ ký". Sử dụng hợp thức các thiết kế có chất lượng cao và các bổ sung khác tạo ra khả năng có được độ an toàn cao, làm cho chữ ký điện tử vượt qua phần lớn các chữ ký thật cẩn thận nhất về mức độ thực của nó (khó bị giả mạo hơn). Các ví dụ về các giao thức chữ ký số hóa bao gồm DSA và chữ ký ElGamal. Các chữ ký số hóa là trung tâm trong các hoạt động của hạ tầng khóa công cộng (PKI) và rất nhiều hệ thống an ninh mạng (ví dụ Kerberos, phần lớn các mạng riêng ảo (VPN) v.v). Giống như mật mã hóa, các thuật toán lai ghép thông thường được sử dụng trong thực tế, thay vì ký trên toàn bộ chứng từ thì mã hóa của chứng từ được ký.
Mật mã khóa bất đối xứng cũng cung cấp nền tảng cho các kỹ thuật khóa thỏa thuận xác thực mật khẩu (PAKA) và không kỹ năng kiểm chứng mật khẩu (ZKPP). Điều này là quan trọng khi xét theo phương diện của các chứng minh lý thuyết và kinh nghiệm rằng việc xác thực chỉ bằng mật khẩu sẽ không bảo đảm an toàn trên mạng chỉ với khóa mật mã đối xứng và các mã hóa

Tham kho

  • David Kahn, The Codebreakers, 1967, ISBN 0-684-83130-9.
  • A. J. Menezes, P. C. van Oorschot, and S. A. Vanstone, Handbook of Applied Cryptography ISBN 0-8493-8523-7 [1].
  • Bruce Schneier, Applied Cryptography, 2nd edition, Wiley, 1996, ISBN 0-471-11709-9.
  • Leong Yu Kiang. Living with Mathematics. 3rd Edition. 2011. McGraw-Hill Education (Asia), Singapore. ISBN 978-007-132677-3

No comments:

Post a Comment