chương 1 nêu vấn đề cần nghiên cứu, giải quyết của luận án. Giới thiệu về backdoor mật mã 1. Khái niệm Backdoor Backdoor hay trapdoor, hiểu theo nghĩa chung nhất là “cửa hậu” hay lối vào phía sau. Đối với một hệ thống máy tính backdoor [40] có thể là: - Lối vào ẩn (bí mật) hoặc một cách vào hệ thống mà không phải thực hiện các thủ tục xác thực, hay vượt qua các kỹ thuật bảo vệ thông thường.
Backdoor ở dạng này thường đóng vai trò là một công cụ quản trị. - Là một (đoạn) chương trình độc hại được cài vào một hệ thống (đối tượng bị nhiễm, mục tiêu) để có thể truy nhập được vào hệ thống đó về sau nhằm thực hiện một hành động gây hại tới đối tượng bị nhiễm. Đặc trưng của loại backdoor này là không để lại dấu vết và khó phát hiện. Đối tượng của backdoor thường là một hệ thống máy tính, một hệ thống mật mã, một thuật toán, một hệ thống được bảo vệ vv.
Backdoor cho phép người dùng (hoặc kẻ tấn công) truy cập tới đối tượng bị nhiễm cục bộ hoặc từ xa. 8 Backdoor có thể có dạng một phần ẩn của một chương trình, một chương trình riêng biệt, hoặc có thể là một tính năng phần cứng. Thông thường, backdoor được lén lút cài đặt, nhưng trong một số trường hợp việc cài đặt backdoor là có chủ ý, được biết rộng rãi và có thể hợp pháp. Ví dụ nếu người dùng quên mật khẩu, các nhà sản xuất phải có một cách giúp người dùng lấy lại mật khẩu.
Backdoor mật mã Backdoor mật mã là một cơ chế thay đổi (làm yếu đi) thuật toán mật mã xác định, cung cấp cho người tạo backdoor một cách để phá vỡ các bản mã trong khoảng thời gian nhỏ hơn nhiều so với phương pháp thám mã tốt nhất (mục abstract trong [17]). Trong ứng dụng thực tế, sự hiện diện (tồn tại) của backdoor mật mã cho thấy các thông điệp dữ liệu đã mã mật (bản mã) dễ bị thám mã (phá vỡ) hơn. Đối tượng cụ thể của backdoor mật mã là các thuật toán, các giao thức mật mã và các bộ sinh số giả ngẫu nhiên. Mật mã được sử dụng trong Backdoor mật mã bao gồm hệ mật đối xứng và hệ mật bất đối xứng (mục 12.
Backdoor mật mã sau đây gọi tắt là backdoor và tùy theo hệ mật sử dụng nên được gọi là backdoor đối xứng hoặc backdoor bất đối xứng. Với backdoor đối xứng, người tìm thấy backdoor có thể sử dụng được nó. Backdoor bất đối xứng thì chỉ được sử dụng bởi kẻ tấn công (người thiết kế backdoor) ngay cả khi toàn bộ cài đặt của nó được công bố công khai. Backdoor có thể được cài đặt bằng phần mềm hoặc phần cứng hoặc kết hợp cả hai.
Sự phát triển của backdoor mật mã Backdoors mật mã là một trường hợp đặc biệt của kênh ngầm, được nghiên cứu từ những năm 1980 bởi Gus Simmons. Năm 1984, Simmons [54], đã giới thiệu khái niệm về kênh ngầm (vụng trộm), trong đó thông tin được trao đổi bí mật trong các thông điệp dữ liệu thông thường. Năm 1988, Desmedt [23] khái quát hóa về các kênh ngầm và gọi chúng là “lạm dụng” hệ mật, hay sử 9 dụng hệ mật theo cách mà nó không được chủ định. Ví dụ, khóa công khai RSA có thể được sử dụng để lưu trữ thông tin mà người tạo ra nó muốn truyền tải tới người khác.
Backdoor mật mã là một dạng đặc biệt của lạm dụng hệ mật, trong đó khóa công khai được tạo ra có khả năng cung cấp cho người thiết kế backdoor mật mã cách truy cập (tính toán) được khóa riêng tương ứng. Backdoor mật mã được đặt vào trong khóa công khai và hình thành kênh truyền từ người thiết kế (thông qua bộ tạo khóa) đến người dùng và quay trở lại người thiết kế. Đặc điểm của kênh truyền này là không sử dụng bất kỳ giao thức bổ sung nào vì khóa công khai được công bố rộng rãi trên kho (thư mục công cộng) chứa khóa. Ở góc độ khác backdoor mật mã được xem là một loại tấn công gián tiếp đặc biệt hay tấn công khóa yếu trong đó người thiết kế tạo ra các khóa chứa backdoor ẩn.
Nói chung, khóa yếu làm cho hệ mật hoạt động theo cách không mong muốn, khóa yếu tạo thành điểm yếu của hệ mật [14]. Quá trình phát triển của backdoor mật mã được minh họa tại hình 1. Các backdoor chưa công bố 1983 1988 1993 1996 1997 2001 2003 2005 2016 Simmons Desmedt Anderson Young Young Howgrave- Crepeau& Young Stefan &Yung &Yung Graham Slakmon &Yung Wüller Các kênh ngầm backdoors (Subliminal channels) Đã bị phá vỡ Đối xứng Bất đối xứng (broken) (symmetric) (asymmetric) Hình 1. Quá trình phát triển của backdoor mật mã [4] 1.
Đặc trưng chung của backdoor mật mã Các backdoor mật mã có một số đặc trưng chung sau (mục general conceps trong [17]): 10 - Không khác biệt đầu ra: khi so sánh đầu ra của hệ thống trung thực (không chứa backdoor) với đầu ra của hệ thống chứa backdoor, thì không có sự khác biệt nào. Nếu đầu ra có thể phân biệt được, thì có thể so sánh kết quả đầu ra của hệ thống nghi ngờ với hệ thống trung thực để phát hiện ra sự tồn tại của backdoor. - Bí mật: nhìn chung backdoor không làm giảm sự an toàn của hệ mật. Việc sử dụng backdoor chỉ dành riêng cho người tạo ra nó.
- Khả năng gây hại: backdoor cung cấp cách để người tạo ra backdoor có thể gây hại tới hệ mật. Đây là mục đích chính của backdoor mật mã. Bruce Schneier [13] mô tả ba tiêu chí bổ sung của backdoor mật mã: - Khả năng bị phát hiện thấp: Backdoor càng ít (lý tưởng nhất là không) gây ảnh hưởng đến hoạt động bình thường của hệ thống, thì càng tốt. Kích thước backdoor càng nhỏ càng tốt, lý tưởng nhất là giống như các đoạn mã thông thường.
- Khả năng chối bỏ cao: Nếu bị phát hiện, backdoor cần làm cho người khác tin rằng đó là một sai lầm, một lỗi, một sự vô tình hay một tai nạn. - Thông đồng tối thiểu: Càng nhiều người biết về backdoor, thì khả năng giữ bí mật càng thấp. Vì vậy, backdoor càng được ít người biết càng tốt. Nhìn chung một backdoor mật mã cần: thứ nhất cho phép kẻ tấn công phá vỡ sự an toàn của bản mã, thứ hai nó phải tương đối dễ sử dụng, thứ ba nó sẽ gây hại cho một số lượng lớn các bản mã.
Phạm vi sử dụng của backdoor mật mã 1. Backdoor trong các hệ mật, giao thức Hiện nay nhiều công trình nghiên cứu về backdoor trong các hệ mật, trong các giao thức mật mã và trong các bộ sinh số giả ngẫu nhiên đã được công 11 bố. Backdoor trong các hệ mật mã được nghiên cứu trên các hệ mật RSA [60], [63], [64], Elgamal [60], [61], EC [64] và được cài đặt trên các thuật toán như sinh khóa (key generation), mã mật (encryption), chữ ký số (digital signature), trao đổi khóa (key exchange). Backdoor trong các giao thức mật mã được nghiên cứu cho các giao thức SSL/TLS, SSH [22], biểu quyết điện tử (E-Vote scheme) [39], lược đồ chia sẻ (Secret Sharing Schemes) [51].
Backdoor trong các bộ sinh số giả ngẫu nhiên đã được cài đặt như: Dual_EC_DRBG [21]. Backdoor trong các hệ mật Mục tiêu của backdoor là gây hại tới bản mã (đánh cắp được thông tin bí mật) của người dùng với số lượng lớn và ổn định trong một thời gian xác định. Các thông tin bí mật này thường được mã mật bởi hệ mật đối xứng hoặc hệ mật bất đối xứng. Đối với hệ mật đối xứng, thời gian sử dụng khóa của người dùng thường là ngắn hay sử dụng tạm (khóa phiên) nên đối tượng của backdoor trong hệ mật đối xứng thường tập trung thuật toán mã mật (encryption backdoor).
Đối với hệ mật bất đối xứng, thời gian sử dụng khóa của người dùng thường ổn định và được duy trì trong một khoảng thời gian nhất định nên đối tượng của backdoor trong hệ mật bất đối xứng thường tập trung vào khóa của người dùng, cụ thể hơn là tập trung vào thuật toán sinh khóa (key generation backdoor). Một lĩnh vực nghiên cứu về backdoor bất đối xứng được khởi xướng lần đầu tiên năm 1996, bởi Adam Young và Moti Yung [59] gọi là Kleptography. Kleptography là lĩnh vực nghiên cứu về backdoor bất đối xứng cho các hệ mật và được xem là một kỹ thuật tấn công mật mã sử dụng các phương pháp mật mã. Các tấn công kleptographic đã được thiết kế cho các thuật toán sinh khóa RSA [59], [60], [61], [63], [64], trao đổi khóa Diffie-Hellman [59], thuật toán ký số DSA [59], và cho các giao thức mật mã như SSL, SSH [22].
Một số biện pháp, kỹ thuật phòng chống tấn công kleptographic được trình bày trong mục Counter Measures [6], [17]. Cơ sở về backdoor trong sinh cặp khóa Mô hình phân tích backdoor, định nghĩa backdoor an toàn và các tiêu chí đánh giá thuật toán sinh khóa chứa backdoor được trích dẫn trong [4]. Vấn đề khi cung cấp, sử dụng sản phẩm mật mã hộp đen Mật mã khóa công khai đang được ứng dụng rộng rãi, để đảm bảo an toàn cho các giao dịch điện tử. Các sản phẩm ứng dụng mật mã xuất hiện ngày càng nhiều theo hướng sản phẩm chuyên dụng và sản phẩm đa năng, dưới dạng module phần mềm hoặc thiết bị phần cứng.
Đặc trưng của các sản phẩm mật mã này là được cung cấp dưới dạng hộp đen (nhà sản xuất công bố đặc tả sản phẩm, khi sử dụng, người dùng chỉ truy nhập được đầu vào và đầu ra chứ không nắm được chi tiết cấu trúc và hoạt động nội tại). Khi được cài đặt ở dạng hộp đen, một hệ mật mã có thể được thiết kế để làm rò rỉ thông tin của người dùng, để nhà sản xuất (người thiết kế) có thể tấn công người dùng bằng cách khôi phục thông tin bí mật của người dùng từ đầu ra của hệ thống mật mã. Tấn công backdoor trong sinh khóa: Người dùng cuối nhận được một module mật mã hộp đen có dạng phần cứng hoặc phần mềm tạo ra cặp khóa công khai và riêng của một hệ mật xác định. Module tạo khóa này có chứa backdoor được thiết kế theo cách để người thiết kế có thể tính toán được khoá riêng từ khoá công khai tương ứng.
Những module sinh khóa như vậy được gọi là bộ sinh khóa có chứa backdoor và nó tạo ra các khóa ẩn yếu. Với lý do bảo vệ tài sản trí tuệ, các nhà sản xuất sản phẩm mật mã không muốn công bố cấu trúc và hoạt động nội tại (thiết kế, mã nguồn) của sản phẩm mật mã hộp đen.