Hướng dẫn về mật mã

Hướng dẫn về mật mã và bảo mật mạng

Thông tin đóng một vai trò quan trọng trong việc điều hành doanh nghiệp, tổ chức, hoạt động quân sự, v.v. Thông tin vào tay kẻ xấu có thể dẫn đến thua lỗ trong kinh doanh hoặc kết quả thảm khốc. Để bảo mật thông tin liên lạc, doanh nghiệp có thể sử dụng mật mã để mã hóa thông tin. Mật mã học liên quan đến việc chuyển đổi thông tin sang định dạng không thể đọc được của con người và ngược lại.

Trong hướng dẫn về Mật mã và An ninh Mạng này, chúng tôi sẽ giới thiệu cho bạn thế giới về mật mã và cách bạn có thể bảo mật thông tin khỏi rơi vào tay kẻ xấu.

Mật mã là gì?

Mật mã học là nghiên cứu và ứng dụng các kỹ thuật nhằm che giấu ý nghĩa thực sự của thông tin bằng cách chuyển đổi nó thành các định dạng không thể đọc được và ngược lại.

Hãy minh họa điều này bằng một ví dụ. Giả sử bạn muốn gửi tin nhắn “TÔI YÊU TÁO”, bạn có thể thay thế mọi chữ cái trong cụm từ bằng chữ cái thứ ba liên tiếp trong bảng chữ cái. Tin nhắn được mã hóa sẽ được “K NQXG CRRNGU”. Để giải mã tin nhắn của chúng tôi, chúng tôi sẽ phải quay lại ba chữ cái trong bảng chữ cái bằng chữ cái mà chúng tôi muốn giải mã. Hình ảnh dưới đây cho thấy việc chuyển đổi được thực hiện như thế nào.

Mã hóa và giải mã mật mã
Mã hóa và giải mã mật mã

Quá trình chuyển đổi thông tin thành dạng không thể đọc được được gọi là mã hóa.

Quá trình đảo ngược mã hóa được gọi là giải mã.

Việc giải mã được thực hiện bằng cách sử dụng một chìa khoá bí mật mà chỉ những người nhận thông tin hợp pháp mới biết. Chìa khóa được sử dụng để giải mã các tin nhắn ẩn. Điều này làm cho thông tin liên lạc trở nên an toàn vì ngay cả khi kẻ tấn công lấy được thông tin, nó sẽ không có ý nghĩa gì đối với họ.

Thông tin được mã hóa được gọi là vô giá trị. Tiếp theo trong hướng dẫn về Mật mã học này, chúng ta sẽ tìm hiểu phân tích mật mã là gì.

Đặc điểm của mật mã

Dưới đây là danh sách các tính năng của mật mã:

  • Thuật toán
  • Bảo mật
  • Integrity
  • Khả năng thích ứng
  • Khả năng cộng tác
  • Xác thực
  • khả năng mở rộng
  • Quản lý khóa

Ứng dụng của mật mã

Ứng dụng của mật mã như sau:

  • Mã hóa SSL / TLS
  • Lưu trữ mật khẩu
  • Ngân hàng Trực tuyến An toàn
  • Tiền điện tử
  • Email được mã hóa
  • Digichữ ký tal
  • Truyền thông an toàn
  • Thương mại điện tử và giao dịch trực tuyến

Phân tích mật mã là gì?

Tiền điện tử là nghệ thuật cố gắng giải mã các tin nhắn được mã hóa mà không cần sử dụng khóa đã được dùng để mã hóa tin nhắn. Phân tích mật mã sử dụng phân tích toán học và thuật toán để giải mã mật mã. Nó được sử dụng để vi phạm các hệ thống bảo mật nhằm giành quyền truy cập vào nội dung và tin nhắn được mã hóa, ngay cả khi không xác định được khóa mật mã.

Sự thành công của các cuộc tấn công phân tích mật mã phụ thuộc

  • Lượng thời gian có sẵn
  • Sức mạnh tính toán có sẵn
  • Dung lượng lưu trữ có sẵn

Sau đây là danh sách các cuộc tấn công Cryptanalysis thường được sử dụng;

  • Tấn công vũ lực– kiểu tấn công này sử dụng các thuật toán cố gắng đoán tất cả các kết hợp logic có thể có của bản rõ, sau đó được mã hóa và so sánh với bản mã ban đầu.
  • Tấn công từ điển– kiểu tấn công này sử dụng danh sách từ để tìm sự trùng khớp của bản rõ hoặc khóa. Nó chủ yếu được sử dụng khi cố gắng bẻ khóa mật khẩu được mã hóa.
  • Tấn công bàn cầu vồng– loại tấn công này so sánh văn bản mã hóa với các giá trị băm được tính toán trước để tìm ra sự trùng khớp.

Mật mã học là gì?

Mật mã học kết hợp các kỹ thuật mật mã và phân tích mật mã.

Encryption Algorithms

MD5– đây là từ viết tắt của Message-Digest 5. Nó được sử dụng để tạo các giá trị băm 128 bit. Về mặt lý thuyết, các giá trị băm không thể đảo ngược thành văn bản gốc. MD5 được sử dụng để mã hóa mật khẩu cũng như kiểm tra tính toàn vẹn của dữ liệu. MD5 không có khả năng chống va chạm. Khả năng chống va chạm là những khó khăn trong việc tìm kiếm hai giá trị tạo ra cùng một giá trị băm.

  • SHA– đây là từ viết tắt của Thuật toán băm an toàn. Thuật toán SHA được sử dụng để tạo ra các biểu diễn cô đọng của một tin nhắn (thông báo tin nhắn). Nó có nhiều phiên bản khác nhau như;
  • SHA-0: tạo ra các giá trị băm 120-bit. Nó đã bị rút khỏi sử dụng do sai sót nghiêm trọng và được thay thế bằng SHA-1.
  • SHA-1: tạo ra các giá trị băm 160-bit. Nó tương tự như các phiên bản trước của MD5. Nó có điểm yếu về mật mã và không được khuyến khích sử dụng kể từ năm 2010.
  • SHA-2: nó có hai hàm băm là SHA-256 và SHA-512. SHA-256 sử dụng các từ 32 bit trong khi SHA-512 sử dụng các từ 64 bit.
  • SHA-3: thuật toán này được chính thức gọi là Keccak.
  • RC4– Thuật toán Brute Force RC4 được sử dụng để tạo mật mã dòng. Nó chủ yếu được sử dụng trong các giao thức như Lớp cổng bảo mật (SSL) để mã hóa thông tin liên lạc internet và Quyền riêng tư tương đương có dây (WEP) để bảo mật mạng không dây.
  • CÁ LƯỠI– thuật toán này được sử dụng để tạo các mật mã có khóa, bị chặn đối xứng. Nó có thể được sử dụng để mã hóa mật khẩu và dữ liệu khác.

Bây giờ trong loạt bài hướng dẫn về Mật mã học này, chúng ta sẽ tìm hiểu cách bẻ khóa RC4 và tạo mật mã bằng CrypTool.

Hoạt động hack: Cách tạo Mật mã bằng CrypTool

Trong hướng dẫn thực tế về Cryptool này, chúng ta sẽ tạo một mật mã đơn giản bằng cách sử dụng công cụ brute Force RC4. Sau đó, chúng tôi sẽ cố gắng giải mã nó bằng cách sử dụng tấn công vũ phu. Đối với bài tập này, chúng ta hãy giả sử rằng chúng ta biết mã hóa khóa bí mật là 24 bit. Chúng tôi sẽ sử dụng thông tin này để phá mật mã.

Tạo mật mã luồng RC4

Bước 1) Tải và cài đặt CryptTool

Chúng tôi sẽ sử dụng CryTool 1 làm công cụ mã hóa của mình. CrypTool 1 là một công cụ giáo dục mã nguồn mở dành cho các nghiên cứu logic về mật mã. Bạn có thể tải nó xuống từ https://www.cryptool.org/en/ct1/

Bước 2) Mở CryptTool và thay thế văn bản

Chúng tôi sẽ mã hóa cụm từ sau

Đừng bao giờ đánh giá thấp quyết tâm của một đứa trẻ giàu thời gian và nghèo tiền

Chúng tôi sẽ sử dụng 00 00 00 làm khóa mã hóa.

  • Mở CryTool 1

Tạo mật mã luồng RC4

  • Thay thế văn bản bằng Đừng bao giờ đánh giá thấp quyết tâm của đứa trẻ giàu thời gian và nghèo tiền

Tạo mật mã luồng RC4

Bước 3) Mã hóa văn bản

  • Nhấp vào menu Mã hóa/Giải mã

Tạo mật mã luồng RC4

  • Trỏ vào Symmetric (hiện đại) rồi chọn RC4 như hình trên
  • Cửa sổ sau sẽ xuất hiện

Tạo mật mã luồng RC4

Bước 4) Chọn khóa mã hóa

  • Chọn 24 bit làm khóa mã hóa
  • Đặt giá trị thành 00 00 00
  • Nhấp vào nút Mã hóa
  • Bạn sẽ nhận được mã hóa luồng sau

Tạo mật mã luồng RC4

Tấn công mật mã luồng

Bước 5) Bắt đầu phân tích

  • Nhấp vào menu Phân tích

Tấn công mật mã luồng

  • Trỏ tới Symmetric Encryption (hiện đại) rồi chọn RC4 như hình trên
  • Bạn sẽ nhận được cửa sổ sau

Tấn công mật mã luồng

  • Hãy nhớ giả định được đưa ra là khóa bí mật là 24 bit. Vì vậy hãy đảm bảo bạn chọn 24 bit làm độ dài khóa.
  • Nhấp vào nút Bắt đầu. Bạn sẽ nhận được cửa sổ sau

Tấn công mật mã luồng

  • Lưu ý: thời gian để hoàn thành cuộc tấn công Brute-Force Analysis phụ thuộc vào khả năng xử lý của máy được sử dụng và độ dài khóa. Độ dài khóa càng dài thì thời gian hoàn thành cuộc tấn công càng lâu.

Bước 6) Phân tích kết quả

  • Khi quá trình phân tích hoàn tất, bạn sẽ nhận được kết quả sau.

Tấn công mật mã luồng

  • Lưu ý: số Entropy thấp hơn có nghĩa là kết quả có nhiều khả năng đúng nhất. Có thể giá trị Entropy cao hơn giá trị Entropy thấp nhất được tìm thấy có thể là kết quả chính xác.
  • Chọn dòng có ý nghĩa nhất sau đó nhấn vào nút Chấp nhận lựa chọn khi hoàn tất

Tổng kết

  • Mật mã học là khoa học về mật mã và giải mã các thông điệp.
  • Mật mã là một thông điệp đã được chuyển đổi thành một định dạng mà con người không thể đọc được.
  • Giải mã là đảo ngược mật mã thành văn bản gốc.
  • Phân tích mật mã là nghệ thuật giải mã mà không cần biết khóa dùng để mã hóa chúng.
  • Mật mã học kết hợp các kỹ thuật của cả mật mã và nhà phân tích mật mã.
  • Thuật toán trực tuyến lực lượng vũ phu RC4 được sử dụng để tạo mật mã luồng. Nó chủ yếu được sử dụng trong các giao thức như Lớp cổng bảo mật (SSL) để mã hóa giao tiếp internet và Quyền riêng tư tương đương có dây (WEP) để bảo mật mạng không dây.