Tấn công vào hệ thống mật mã
Trong thời đại hiện nay, không chỉ kinh doanh mà hầu như tất cả các mặt của cuộc sống con người đều do thông tin chi phối. Do đó, việc bảo vệ thông tin hữu ích khỏi các hoạt động độc hại như tấn công đã trở nên cấp thiết. Chúng ta hãy xem xét các loại tấn công mà thông tin thường phải chịu.
Các cuộc tấn công thường được phân loại dựa trên hành động được thực hiện bởi kẻ tấn công. Do đó, một cuộc tấn công có thểpassive hoặc là active.
Tấn công bị động
Mục tiêu chính của một cuộc tấn công thụ động là đạt được unauthorized access to the information. Ví dụ, các hành động như chặn và nghe trộm kênh liên lạc có thể được coi là tấn công thụ động.
Những hành động này về bản chất là thụ động, vì chúng không ảnh hưởng đến thông tin cũng như không làm gián đoạn kênh liên lạc. Một cuộc tấn công thụ động thường được coi là đánh cắp thông tin. Sự khác biệt duy nhất trong việc đánh cắp hàng hóa vật chất và đánh cắp thông tin là việc đánh cắp dữ liệu vẫn khiến chủ sở hữu có quyền sở hữu dữ liệu đó. Do đó, tấn công thông tin thụ động nguy hiểm hơn ăn cắp hàng hóa, vì hành vi trộm cắp thông tin có thể bị chủ sở hữu không chú ý.
Tấn công chủ động
Một cuộc tấn công chủ động bao gồm việc thay đổi thông tin theo một cách nào đó bằng cách tiến hành một số quy trình trên thông tin. Ví dụ,
Sửa đổi thông tin theo cách trái phép.
Bắt đầu truyền thông tin ngoài ý muốn hoặc trái phép.
Thay đổi dữ liệu xác thực như tên người khởi tạo hoặc dấu thời gian được liên kết với thông tin
Xóa dữ liệu trái phép.
Từ chối quyền truy cập thông tin đối với người dùng hợp pháp (từ chối dịch vụ).
Mật mã học cung cấp nhiều công cụ và kỹ thuật để thực hiện các hệ thống mật mã có khả năng ngăn chặn hầu hết các cuộc tấn công được mô tả ở trên.
Giả định về kẻ tấn công
Chúng ta hãy xem môi trường phổ biến xung quanh các hệ thống mật mã, theo sau là các kiểu tấn công được sử dụng để phá vỡ các hệ thống này -
Môi trường xung quanh hệ thống mật mã
Trong khi xem xét các cuộc tấn công có thể xảy ra vào hệ thống mật mã, cần phải biết môi trường của các hệ thống mật mã. Các giả định và kiến thức về môi trường của kẻ tấn công quyết định khả năng của anh ta.
Trong mật mã, ba giả định sau được đưa ra về môi trường bảo mật và khả năng của kẻ tấn công.
Chi tiết về sơ đồ mã hóa
Việc thiết kế một hệ thống mật mã dựa trên hai thuật toán mật mã sau:
Public Algorithms - Với tùy chọn này, tất cả các chi tiết của thuật toán đều nằm trong phạm vi công cộng, được mọi người biết đến.
Proprietary algorithms - Các chi tiết của thuật toán chỉ được biết bởi người thiết kế hệ thống và người sử dụng.
Trong trường hợp các thuật toán độc quyền, bảo mật được đảm bảo thông qua việc che giấu. Các thuật toán riêng có thể không phải là thuật toán mạnh nhất vì chúng được phát triển nội bộ và có thể không được điều tra rộng rãi về điểm yếu.
Thứ hai, chúng chỉ cho phép giao tiếp giữa các nhóm kín. Do đó, chúng không phù hợp với giao tiếp hiện đại, nơi mọi người giao tiếp với số lượng lớn các thực thể đã biết hoặc chưa biết. Ngoài ra, theo nguyên tắc của Kerckhoff, thuật toán được ưu tiên công khai với độ mạnh của mã hóa nằm trong khóa .
Do đó, giả định đầu tiên về môi trường an ninh là encryption algorithm is known to the attacker.
Tính sẵn có của bản mã
Chúng tôi biết rằng một khi bản rõ được mã hóa thành bản mã, nó sẽ được đưa vào kênh công khai không an toàn (ví dụ như email) để truyền. Do đó, kẻ tấn công rõ ràng có thể cho rằng nó cóaccess to the ciphertext generated by the cryptosystem.
Tính sẵn có của Bản rõ và Bản mã
Giả định này không rõ ràng như giả định khác. Tuy nhiên, có thể có những tình huống mà kẻ tấn công có thểaccess to plaintext and corresponding ciphertext. Một số trường hợp có thể xảy ra như vậy là -
Kẻ tấn công tác động đến người gửi để chuyển đổi bản rõ theo lựa chọn của mình và lấy được bản mã.
Người nhận có thể vô tình tiết lộ bản rõ cho kẻ tấn công. Kẻ tấn công có quyền truy cập vào bản mã tương ứng được thu thập từ kênh mở.
Trong hệ thống mật mã khóa công khai, khóa mã hóa nằm trong miền mở và được biết đến với bất kỳ kẻ tấn công tiềm năng nào. Sử dụng khóa này, anh ta có thể tạo ra các cặp bản rõ và bản mã tương ứng.
Các cuộc tấn công mật mã
Mục đích cơ bản của kẻ tấn công là phá vỡ một hệ thống mật mã và tìm ra bản rõ từ bản mã. Để có được bản rõ, kẻ tấn công chỉ cần tìm ra khóa giải mã bí mật, vì thuật toán đã nằm trong miền công khai.
Do đó, anh ta nỗ lực tối đa để tìm ra khóa bí mật được sử dụng trong hệ thống mật mã. Một khi kẻ tấn công có thể xác định khóa, hệ thống bị tấn công được coi là bị hỏng hoặc bị xâm nhập .
Dựa trên phương pháp luận được sử dụng, các cuộc tấn công vào hệ thống mật mã được phân loại như sau:
Ciphertext Only Attacks (COA)- Trong phương pháp này, kẻ tấn công có quyền truy cập vào một bộ (các) bản mã. Anh ta không có quyền truy cập vào bản rõ tương ứng. COA được cho là thành công khi bản rõ tương ứng có thể được xác định từ một tập bản mã nhất định. Đôi khi, khóa mã hóa có thể được xác định từ cuộc tấn công này. Các hệ thống mật mã hiện đại được bảo vệ chống lại các cuộc tấn công chỉ sử dụng bản mã.
Known Plaintext Attack (KPA)- Trong phương pháp này, kẻ tấn công biết bản rõ cho một số phần của bản mã. Nhiệm vụ là giải mã phần còn lại của bản mã bằng cách sử dụng thông tin này. Điều này có thể được thực hiện bằng cách xác định khóa hoặc thông qua một số phương pháp khác. Ví dụ tốt nhất của cuộc tấn công này là phân tích mật mã tuyến tính chống lại mật mã khối.
Chosen Plaintext Attack (CPA)- Trong phương pháp này, kẻ tấn công có mã hóa văn bản mà mình lựa chọn. Vì vậy, anh ta có cặp bản mã-bản rõ mà mình lựa chọn. Điều này đơn giản hóa nhiệm vụ xác định khóa mã hóa của anh ta. Một ví dụ của cuộc tấn công này là phân tích mật mã vi sai được áp dụng chống lại mật mã khối cũng như các hàm băm. Một hệ thống mật mã khóa công khai phổ biến, RSA cũng dễ bị tấn công bởi các cuộc tấn công đã chọn.
Dictionary Attack- Cuộc tấn công này có nhiều biến thể, tất cả đều liên quan đến việc biên dịch 'từ điển'. Trong phương pháp đơn giản nhất của cuộc tấn công này, kẻ tấn công xây dựng một từ điển các bản mã và bản rõ tương ứng mà hắn đã học được trong một khoảng thời gian. Trong tương lai, khi kẻ tấn công lấy được bản mã, hắn sẽ tham khảo từ điển để tìm bản rõ tương ứng.
Brute Force Attack (BFA)- Trong phương pháp này, kẻ tấn công cố gắng xác định khóa bằng cách thử tất cả các khóa có thể. Nếu khóa dài 8 bit, thì số khóa có thể có là 2 8 = 256. Kẻ tấn công biết bản mã và thuật toán, bây giờ hắn thử tất cả 256 khóa lần lượt để giải mã. Thời gian để hoàn thành cuộc tấn công sẽ rất cao nếu phím dài.
Birthday Attack- Đòn tấn công này là một dạng biến thể của kỹ thuật vũ phu. Nó được sử dụng để chống lại hàm băm mật mã. Khi học sinh trong một lớp được hỏi về ngày sinh của họ, câu trả lời là một trong 365 ngày có thể có. Chúng ta hãy giả định ngày sinh của học sinh đầu tiên là 3 thứ Tháng Tám Sau đó, để tìm ra sinh viên tiếp theo có ngày sinh là 3 thứ Tháng Tám, chúng ta cần phải tìm hiểu 1,25 * ?? √365 ≈ 25 sinh viên.
Tương tự, nếu hàm băm tạo ra các giá trị băm 64 bit, các giá trị băm có thể có là 1,8 x 10 19 . Bằng cách liên tục đánh giá chức năng cho các đầu vào khác nhau, dự kiến sẽ có được cùng một đầu ra sau khoảng 5,1x10 9 đầu vào ngẫu nhiên.
Nếu kẻ tấn công có thể tìm thấy hai đầu vào khác nhau cung cấp cùng một giá trị băm, thì đó là collision và hàm băm đó được cho là đã bị hỏng.
Man in Middle Attack (MIM) - Mục tiêu của cuộc tấn công này hầu hết là các hệ thống mật mã khóa công khai, nơi có sự trao đổi khóa trước khi liên lạc diễn ra.
Máy chủ A muốn giao tiếp với máy chủ B , do đó yêu cầu khóa công khai của B .
Kẻ tấn công chặn yêu cầu này và thay vào đó gửi khóa công khai của anh ta.
Do đó, bất cứ thứ gì máy chủ A gửi đến máy chủ B , kẻ tấn công đều có thể đọc được.
Để duy trì thông tin liên lạc, những kẻ tấn công tái mã hóa các dữ liệu sau khi đọc với khóa công khai của mình và gửi đến B .
Kẻ tấn công gửi khóa công khai của mình như là một khóa công khai ‘s để B mất nó như thể nó được lấy nó từ một .
Side Channel Attack (SCA)- Loại tấn công này không chống lại bất kỳ loại hệ thống mật mã hoặc thuật toán cụ thể nào. Thay vào đó, nó được đưa ra để khai thác điểm yếu trong việc triển khai vật lý của hệ thống mật mã.
Timing Attacks- Họ khai thác thực tế là các phép tính khác nhau cần thời gian khác nhau để tính trên bộ xử lý. Bằng cách đo thời gian như vậy, có thể biết về một tính toán cụ thể mà bộ xử lý đang thực hiện. Ví dụ, nếu quá trình mã hóa mất nhiều thời gian hơn, điều đó cho thấy rằng khóa bí mật đã lâu.
Power Analysis Attacks - Các cuộc tấn công này tương tự như các cuộc tấn công định thời ngoại trừ lượng điện năng tiêu thụ được sử dụng để lấy thông tin về bản chất của các tính toán cơ bản.
Fault analysis Attacks - Trong các cuộc tấn công này, lỗi được tạo ra trong hệ thống mật mã và kẻ tấn công nghiên cứu kết quả đầu ra để có thông tin hữu ích.
Tính thực tiễn của các cuộc tấn công
Các cuộc tấn công vào các hệ thống mật mã được mô tả ở đây mang tính học thuật cao, vì phần lớn chúng đến từ cộng đồng học thuật. Trên thực tế, nhiều cuộc tấn công học thuật liên quan đến những giả định khá phi thực tế về môi trường cũng như khả năng của kẻ tấn công. Ví dụ, trong cuộc tấn công đã chọn-bản mã, kẻ tấn công yêu cầu một số lượng cặp bản mã-bản rõ được chọn một cách không thực tế. Nó có thể không thực tế hoàn toàn.
Tuy nhiên, thực tế là bất kỳ cuộc tấn công nào tồn tại đều phải là một nguyên nhân đáng lo ngại, đặc biệt nếu kỹ thuật tấn công có tiềm năng cải thiện.