BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ QUỐC PHÒNG
VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ
-------------------------------
LÊ QUANG HUY
NGHIÊN CỨU, PHÁT TRIỂN MỘT SỐ
THUẬT TOÁN SINH KHÓA RSA CHỨA BACKDOOR
LUẬN ÁN TIẾN SĨ TOÁN HỌC
HÀ NỘI – 2018
BỘ GIÁO DỤC VÀ ĐÀO TẠO
BỘ QUỐC PHÒNG
VIỆN KHOA HỌC VÀ CÔNG NGHỆ QUÂN SỰ
-------------------------------
LÊ QUANG HUY
NGHIÊN CỨU, PHÁT TRIỂN MỘT SỐ
THUẬT TOÁN SINH KHÓA RSA CHỨA BACKDOOR
Chuyên ngành: Cơ sở toán học cho tin học
Mã số: 9 46 01 10
LUẬN ÁN TIẾN SĨ TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1. PGS.TS BẠCH NHẬT HỒNG
2. TS TRẦN DUY LAI
HÀ NỘI – 2018
i
LỜI CAM ĐOAN
Tôi xin cam đoan, đây là công trình nghiên cứu của riêng tôi. Các nội
dung, số liệu, kết quả trình bày trong Luận án là hoàn toàn trung thực và chưa
từng được ai công bố trong bất cứ công trình nào khác, các dữ liệu tham khảo
được trích dẫn đầy đủ.
Người cam đoan
Lê Quang Huy
ii
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT...................................iv
DANH MỤC CÁC BẢNG..............................................................................vi
DANH MỤC CÁC HÌNH VẼ........................................................................vii
DANH MỤC CÁC THUẬT TOÁN..............................................................viii
MỞ ĐẦU...........................................................................................................1
1. Tính cấp thiết......................................................................................1
2. Mục đích, nhiệm vụ nghiên cứu......................................................... 3
3. Đối tượng, phạm vi nghiên cứu.......................................................... 4
4. Cơ sở lý luận, thực tiễn và phương pháp nghiên cứu.........................4
5. Bố cục của Luận án.............................................................................5
CHƯƠNG 1. CƠ SỞ VỀ BACKDOOR TRONG SINH KHÓA..................... 7
1.1. Giới thiệu về backdoor mật mã........................................................7
1.2. Cơ sở về backdoor trong sinh cặp khóa.........................................12
1.3. Phương pháp phân tích nhân tử của Coppersmith.........................25
1.4. Một số kết quả về hệ mật RSA...................................................... 31
1.5. Một số kết quả nghiên cứu backdoor trong sinh khóa RSA..........35
1.6. Những vấn đềluân ̣ án cần tâp ̣ trung nghiên cứu giải quyết...........41
1.7. Kết luận chương 1..........................................................................42
CHƯƠNG 2. ĐỀ XUẤT THUẬT TOÁN BACKDOOR BD1, BD2.............43
2.1. Cơ sở cài và đánh giá backdoor.....................................................43
2.2. Đề xuất thuật toán backdoor BD1................................................. 49
2.3. Đề xuất thuật toán backdoor BD2................................................. 60
2.4. Thử nghiệm các thuật toán backdoor BD1, BD2...........................71
2.5. Ứng dụng backdoor BD1, BD2..................................................... 78
2.6. Kết luận chương 2..........................................................................80
iii
CHƯƠNG 3. ĐỀ XUẤT THUẬT TOÁN BACKDOOR BD3...................... 81
3.1. Thuật toán sinh khóa trung thực tuân thủ điều kiện “P2”..............81
3.2. Đề xuất thuật toán backdoor BD3................................................. 86
3.3. Thử nghiệm thuật toán backdoor BD3.......................................... 98
3.4. Ứng dụng backdoor BD3.............................................................102
3.5. Đánh giá các thuật toán backdoor đề xuất...................................102
3.6. Kết luận chương 3........................................................................105
KẾT LUẬN...................................................................................................106
A. Kết quả đạt được của Luận án....................................................... 106
B. Những đóng góp mới của Luận án.................................................106
C. Hướng nghiên cứu tiếp theo...........................................................107
CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ.....................................108
TÀI LIỆU THAM KHẢO.............................................................................109
iv
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
DG1
Khoảng cách thống kê giữa thống kê khóa công khai của
G1 và thống kê khóa công khai của G0
E
Hàm mã mật hóa thông tin backdoor
G0
Thuật toán sinh khóa trung thực
G1
Thuật toán sinh khóa chứa backdoor
I
Hàm trích thông tin từ khóa riêng
kpriv
Khóa riêng
kpub
Khóa công khai
0
0
1
1
nlen
NG1( )
Khóa riêng của thuật toán sinh khóa trung thực
Khóa công khai của thuật toán sinh khóa trung thực
Khóa riêng của thuật toán sinh khóa chứa backdoor
Khóa công khai của thuật toán sinh khóa chứa backdoor
Độ dài theo bit của số modulus n
Số lượng khóa (lực lượng khóa) của thuật toán G1
M
Hàm nhúng thông tin backdoor vào trong khóa công khai
RG1 ( )
k bit cao của p
T(G0)
Tỷ lệ lực lượng khóa giữa thuật toán G1 và thuật toán G0
t(n)
Độ phức tạp của thuật toán G0
#{p}
Độ phức tạp của hàm tính n
p⌉k
‖ ‖2
Chuẩn Euclide của đa thức f
Lực lượng tập các phần tử p
v
AES
Chuẩn mã mật tiên tiến (Advanced
Standard)
API
Giao diện lập trình
Programming Interface)
CRT
Định lý phần dư Trung Hoa Chinese Remainder
Theorem
ứng
dụng
Encryption
(Application
Dual_EC_DRBG Bộ tạo bit ngẫu nhiên xác định dựa trên đường cong
Elip kép (Dual Elliptic Curve Deterministic Random
Bit Generator)
ECIES
Lược đồ mã mật tích hợp đường cong Elip (Elliptic
Curve Integrated Encryption Scheme)
ECDH
Trao đổi khóa Diffie-Hellman dựa trên đường cong
Elip (Elliptic Curve Diffie-Hellman)
FIPS
Chuẩn xử lý thông tin liên bang (Federal Information
Processing Standard)
HSM
Module an toàn phần cứng (Hardware Security
Module)
LCM
Bội số chung nhỏ nhất (Least Common Multiple)
LLL
Lenstra, Lenstra, Lovasz (Tên người)
NM
Bộ nhớ không mất dữ liệu (Non-volatile Memory)
PAP
Sự riêng tư lớn hay (Pretty Awful Privacy)
PKCS
Chuẩn mật mã khóa công khai (Public Key
Cryptography Standards)
PKI
Hạ tầng mật mã khóa công khai (Public Key
Infrastructure)
RSA
Rivest - Shamir - Adleman (tên người)
SETUP
(Bẫy được nhúng bí mật với bảo vệ toàn cục) Secretly
Embedded Trapdoor with Universal Protection
SSH
Vỏ an toàn (Secure Shell)
SSL
Lớp ổ cắm an toàn (Secure Sockets Layer)
TLS
An toàn lớp giao vận (Transport Layer Security)
VM
Bộ nhớ mất dữ liệu khi mất điện (Volatile Memory)
vi
DANH MỤC CÁC BẢNG
Bảng 1.1. Tổng hợp các tiêu chí đánh giá thuật toán sinh khóa chứa backdoor
25
Bảng 1.2. So sánh chiều dài khóa của các hệ mật...............................................31
Bảng 1.3. Chiều dài tối thiểu và tối đa của các số nguyên tố phụ......................33
Bảng 1.4. Các phương thức sinh số nguyên tố được phép..................................33
Bảng 2.1. Các điểm khác biệt giữa thuật toán BD1 với thuật toán PAP và PHP 58
Bảng 2.2. Các điểm khác biệt giữa thuật toán BD2 với Hidden Prime Factor...69
Bảng 2.3. Kịch bản thử nghiệm các thuật toán backdoor BD1, BD2.................73
Bảng 2.4. Kết quả thử nghiệm độ phức tạp thuật toán backdoor BD1...............75
Bảng 2.5. Kết quả thử nghiệm độ phức tạp thuật toán backdoor BD2...............76
Bảng 3.1. Kịch bản thử nghiệm thuật toán backdoor BD3.................................97
Bảng 3.2. Kết quả thử nghiệm độ phức tạp thuật toán backdoor BD3...............98
Bảng 3.3. Các điểm khác nhau giữa 03 thuật toán backdoor đề xuất...............101
vii
DANH MỤC CÁC HÌNH VẼ
Hình 1.1. Quá trình phát triển của backdoor mật mã...........................................................9
Hình 1.2. Mô hình phân tích backdoor......................................................................................14
Hình 2.1. Sơ đồ khối thuật toán sinh khóa trung thực tuân thủ điều kiện............44
Hình 2.2. Sơ đồ khối thuật toán sinh khóa trung thực tuân thủ điều kiện “P1” 46
Hình 2.3. Sơ đồ khối phần thuật toán sinh khóa của backdoor BD1.......................51
Hình 2.4. Sơ đồ khối phần thuật toán khôi phục khóa của backdoor BD1..........53
Hình 2.5. Sơ đồ khối phần thuật toán sinh khóa của backdoor BD2.......................63
Hình 2.6. Sơ đồ khối phần thuật toán khôi phục khóa của backdoor BD2..........65
Hình 2.7. Thiết bị T-Token...............................................................................................................71
Hình 2.8. Biểu đồ kết quả thử nghiệm độ phức tạp thuật toán backdoor BD1 . 75
Hình 2.9. Biểu đồ kết quả thử nghiệm độ phức tạp thuật toán backdoor BD2 . 76
Hình 3.1. Sơ đồ khối thuật toán sinh khóa trung thực tuân thủ điều kiện “P2” 83
Hình 3.2. Sơ đồ khối phần thuật toán sinh khóa của backdoor BD3.......................90
Hình 3.3. Sơ đồ khối phần thuật toán khôi phục khóa của backdoor BD3..........92
Hình 3.4. Biểu đồ kết quả thử nghiệm độ phức tạp thuật toán backdoor BD3
102
viii
DANH MỤC CÁC THUẬT TOÁN
Thuật toán 2.1. Thuật toán sinh khóa RSA tuân thủ điều kiện “P1”……….. 47
Thuật toán 2.2. Phần thuật toán sinh khóa của backdoor BD1.......................53
Thuật toán 2.3. Phần thuật toán khôi phục khóa của backdoor BD1....................54
Thuật toán 2.4. Phần thuật toán sinh khóa của backdoor BD2.......................64
Thuật toán 2.5. Phần thuật toán khôi phục khóa của backdoor BD2..............65
Thuật toán 3.1. Thuật toán sinh khóa RSA tuân thủ điều kiện “P2”…………82
Thuật toán 3.2. Phần thuật toán sinh khóa của backdoor BD3.......................90
Thuật toán 3.3. Phần thuật toán khôi phục khóa của backdoor BD3..............91
1
MỞ ĐẦU
1. Tính cấp thiết
Mạng Internet ra đời và phát triển đã đẩy mạnh việc tạo, lưu trữ, truyền
và trao đổi thông tin (gọi chung là các giao dịch điện tử). Sự phát triển của các
giao dịch điện tử cũng kéo theo các vấn đề gây mất an toàn thông tin. Giải
pháp tốt nhất được ứng dụng trong giai đoạn hiện nay là sử dụng mật mã, mật
mã khóa công khai (PKI) để đảm bảo an toàn cho các giao dịch điện tử. Tuy
nhiên khi ứng dụng mật mã, mật mã khóa công khai để đảm bảo an toàn cho
các giao dịch điện tử (thông qua hạ tầng PKI [16]) thì xuất hiện các sự kiện sử
dụng mật mã để thực hiện các hành vi trái pháp luật, tội phạm [25]. Các hoạt
động tội phạm trực tiếp có sử dụng mật mã gồm: tạo virus, mã độc tấn công
các hệ thống thông tin lớn như: các hệ thống điều khiển nhà máy điện hạt
nhân, hệ thống vệ tinh, hệ thống vũ khí quân sự, hệ thống truyền tải điện, hệ
thống viễn thông, Internet quốc gia, hệ thống điều khiển không lưu, điều
khiển giao thông công cộng. Các hoạt động tội phạm gián tiếp: giữ bí mật cho
việc trao đổi thông tin phục vụ các hoạt động: khủng bố [25], chế tạo vật liệu
nổ, tống tiền [30], buôn bán vũ khí, ma túy, giết người…[7]). Từ các sự kiện
nêu trên nảy sinh nhu cầu cần có biện pháp để từ bản mã, khôi phục, giải mã
lấy được bản rõ (phá vỡ tính bảo mật trong điều kiện không có khóa) để đảm
bảo an ninh cho cộng đồng. Nhu cầu đảm bảo an ninh cho cộng đồng nêu trên
là chính đáng và được pháp luật bảo vệ, cho phép thực hiện.
Hiện tại có 03 cách phổ biến nhất để phá vỡ được tính bảo mật (lấy
được bản rõ từ bản mã):
1. Lấy khóa mã thông qua con người: ăn cắp/mua chuộc/hối lộ…
2. Khai thác các lỗ hổng có sẵn trên các sản phẩm mật mã do vô ý tạo ra
(sử dụng khóa dễ đoán, gửi khóa cùng với bản mã) hoặc do cố ý tạo ra (nhà sản
2
xuất chủ động cài đặt backdoor).
3. Thám mã (phá vỡ hệ mật bằng các phương pháp toán học).
Ưu, nhược điểm của các phương pháp phá vỡ tính bảo mật:
- Phương pháp lấy khóa mã thông qua con người hoặc khai thác các lỗ
hổng sẵn có trên sản phẩm mật mã do vô ý tạo ra chỉ thực hiện được với một
số trường hợp xác định và mang tính ngẫu nhiên.
- Phương pháp thám mã đã đạt được những kết quả nhất định. Tuy
nhiên với sự phát triển của các hệ mật mã hiện đại được cài đặt theo các
chuẩn xác định thì việc thám mã để khôi phục lại bản rõ trở nên ngày càng
khó và không khả thi cả về chi phí, công sức và thời gian (vì vậy các hệ mật
an toàn mới được sử dụng rộng rãi như hiện nay).
- Phương pháp sử dụng backdoor có nhược điểm làm giảm không gian
khóa nhưng có ưu điểm khôi phục lại bản mã nhanh, tất định, chi phí triển khai
thấp, khó bị phát hiện khi cài đặt trong những sản phẩm mật mã dạng hộp đen.
Trong những năm gần đây, đã phát hiện được một số doanh nghiệp, cơ
quan chính phủ cài backdoor vào trong các sản phẩm mật mã [50], [52] và
vào trong các chuẩn về mật mã [21]. Bên cạnh đó nhiều nghiên cứu về
backdoor mật mã đã được công bố. Các nghiên cứu về backdoor mật mã trải
rộng từ các hệ mật (mục 1.1.2.2), giao thức mật mã [22], [39], đến bộ sinh số
giả ngẫu nhiên [21]. Đối với backdoor trong các hệ mật bất đối xứng, các
nghiên cứu tập trung nhiều vào hệ mật RSA (mục 1.5). Ngoài ra một số công
trình nghiên cứu về backdoor cũng được thực hiện trên các hệ mật bất đối
xứng khác như Elgamal [60], [61], EC [64]. Đến nay, các nghiên cứu về
backdoor mật mã đã công bố (mục 1.5) hoặc đã bị phát hiện với số lượng ít và
chất lượng còn cần nhiều nỗ lực cải tiến hơn nữa (mục 1.5.4).
Như vậy khi sử dụng mật mã luôn có hai nhu cầu đồng thời tồn tại: thứ
3
nhất là nhu cầu bảo vệ thông tin bằng các hệ mật mã; thứ hai là nhu cầu phá
vỡ tính bảo mật, (khôi phục lại bản rõ từ bản mã của người dùng), để đảm bảo
an ninh cho cộng đồng. Vì vậy bên cạnh hướng tăng cường độ an toàn cho các
giao dịch điện tử thông qua việc đảm bảo an toàn cho thuật toán mật mã, việc
cài đặt hệ mật, thông tin kênh bên, các hệ thống thông tin sử dụng mật mã (hạ
tầng PKI) cũng cần được đảm bảo an ninh, an toàn, chống lại việc sử dụng
mật mã, sử dụng PKI để thực hiện các hành vi, hành động tội phạm.
Mật mã dùng để bảo vệ thông tin càng được sử dụng rộng rãi thì nhu cầu
đảm bảo an ninh khi sử dụng mật mã ngày càng tăng. Hiện tại việc sử dụng các
sản phẩm mật mã (dạng hộp đen) để đảm bảo an toàn cho các giao dịch điện tử
trên thế giới và ở Việt Nam diễn ra ngày càng nhiều, kéo theo nhu cầu đảm bảo
an ninh cho cộng đồng khi sử dụng mật mã diễn ra ngày càng cấp thiết.
Từ thực tế ứng dụng, nhu cầu và hiện trạng nghiên cứu, triển khai
backdoor mật mã như trên, NCS lựa chọn đề tài “Nghiên cứu, phát triển một số
thuật toán sinh khóa RSA chứa backdoor” nhằm nghiên cứu vấn đề đảm bảo an
ninh cho việc ứng dụng mật mã khóa công khai (PKI), chống lại việc sử dụng hệ
thống PKI để thực hiện các hành vi, hành động tội phạm. Cụ thể, Luận án tập
trung nghiên cứu một vấn đề hẹp của hệ mật RSA được sử dụng phổ biến trong
PKI là thuật toán sinh khóa trên hệ mật RSA có chứa backdoor, ứng dụng để
đảm bảo an ninh cho các hạ tầng PKI có sử dụng hệ mật RSA.
2. Mục đích, nhiệm vụ nghiên cứu
2.1. Mục đích nghiên cứu
Nghiên cứu, tìm kiếm các thuật toán sinh khóa chứa backdoor hiệu quả
để có thể ứng dụng nhằm đảm bảo an ninh cho một hạ tầng PKI cụ thể.
2.2. Nhiệm vụ nghiên cứu
- Nghiên cứu các mô hình, công cụ hình thức hiệu quả để phân tích và
4
đánh giá backdoor.
- Tìm kiếm phương pháp tạo backdoor, phương pháp khôi phục khóa
riêng tất định từ khóa công khai chứa backdoor.
- Đề xuất một số thuật toán sinh khóa chứa backdoor tuân thủ chuẩn an
toàn xác định (ví dụ chuẩn FIPS 186-4 [27]).
- Cài đặt, thử nghiệm các thuật toán sinh khóa chứa backdoor trong các
module mật mã tạo khóa dạng hộp đen.
3. Đối tượng, phạm vi nghiên cứu
3.1. Đối tượng nghiên cứu
- Mô hình lý thuyết, công cụ hình thức, tiêu chí đánh giá các thuật toán
về backdoor trong các hệ mật.
- Phương pháp tạo (trích, nhúng thông tin) backdoor.
- Phương pháp khôi phục khóa riêng từ khóa công khai có chứa backdoor.
3.2. Phạm vi nghiên cứu
Đến nay hai hệ mật khóa công khai RSA và EC được đánh giá an toàn nên
được sử dụng rộng rãi. Do được nghiên cứu và công bố sớm hơn nên hiện tại, hệ
mật RSA được sử dụng phổ biến trong các sản phẩm mật mã. Để kết quả nghiên
cứu có thể ứng dụng ngay, trực tiếp vào thực tiễn, luận án giới hạn phạm vi
nghiên cứu: sinh khóa, khôi phục khóa chứa backdoor trên hệ mật RSA.
4. Cơ sở lý luận, thực tiễn và phương pháp nghiên cứu
4.1. Cơ sở lý luận
Để thực hiện được mục đích nghiên cứu, Luận án cần dựa trên cơ sở:
- Lý thuyết về backdoor trong các hệ mật: nhằm tập hợp các kiến thức
về phân tích và đánh giá backdoor mật mã.
- Hệ mật mã khóa công khai RSA: nhằm nghiên cứu các kiến thức tổng
5
quan về hệ mật, các tham số của hệ mật, các chuẩn có liên quan và thuật toán
sinh khóa của hệ mật.
- Phương pháp phân tích nhân tử: nhằm nghiên cứu các phương pháp
tìm nghiệm nguyên của phương trình đa thức modulo một biến phục vụ cho
việc phân tích nhân tử nguyên tố p, của số modulus RSA.
4.2. Thực tiễn
Nhu cầu của nhà cung cấp hạ tầng khóa công khai (PKI) tạo cặp khóa
mã cho người dùng để khi cần có thể cung cấp lại khóa riêng của người dùng
(cho người dùng khi bị mất khóa, cho cơ quan quản lý nhà nước khi được yêu
cầu) mà không phải duy trì CSDL khóa riêng tương ứng.
Nhu cầu của các cơ quan quản lý nhà nước (quốc phòng, an ninh) ứng
dụng cho module sinh khóa của người dùng (thiết bị phần cứng PKI-Token)
để có thể khôi phục lại các khóa dùng để mã (khôi phục bản rõ từ bản mã) khi
có yêu cầu nhằm đảm bảo an ninh cho cộng đồng.
Cung cấp cho người dùng những hiểu biết để phân tích, nhận biết và
phòng chống backdoor khi sử dụng những sản phẩm mật mã dạng hộp đen.
4.3. Phương pháp nghiên cứu
Phương pháp nghiên cứu: mô hình hóa, thực nghiệm.
5. Bố cục của Luận án
Bên cạnh các phần mở đầu, kết luận, các công trình khoa học đã công
bố, tài liệu tham khảo, trọng tâm của Luận án tập trung vào 03 chương:
Chương 1: Cơ sở về Backdoor trong sinh khóa
Chương này trình bày tổng quan các kiến thức cơ sở về Backdoor mật mã;
công cụ mô hình hóa, các tiêu chí phân tích, đánh giá backdoor của Arboit;
phương pháp phân tích nhân tử của Coppersmith; chuẩn FIPS 186-4 về hệ mật
6
RSA và một số kết quả nghiên cứu về backdoor trong sinh khóa RSA.
Chương 2: Đề xuất thuật toán backdoor BD1, BD2
Chương này trình bày đề xuất 02 thuật toán sinh khóa RSA chứa
backdoor, BD1, BD2, với các tham số tuân thủ điều kiện “P1” theo chuẩn
FIPS 186-4. Các thuật toán backdoor BD1, BD2 được phân tích, đánh giá chi
tiết theo mô hình hình thức của Arboit và được thử nghiệm trên thiết bị tự chế
tạo T-Token có các kết quả phù hợp với đánh giá.
Chương 3: Đề xuất thuật toán backdoor BD3
Chương này trình bày đề xuất về 01 thuật toán sinh khóa RSA chứa
backdoor, BD3, với các tham số tuân thủ điều kiện “P2” theo chuẩn FIPS 186-
4. Thuật toán backdoor BD3 được phân tích, đánh giá chi tiết theo mô hình
hình thức của Arboit và được thử nghiệm trên thiết bị tự chế tạo T-Token có
các kết quả phù hợp với đánh giá.
7
CHƯƠNG 1. CƠ SỞ VỀ BACKDOOR TRONG SINH KHÓA
Chương này trình bày cơ sở về backdoor trong sinh cặp khóa của hệ mật
khóa công khai. Ngoài phần trình bày tổng quan về backdoor mật mã, nội
dung của chương tập trung trình bày công cụ hình thức của Arboit để phân
tích và đánh giá backdoor, phương pháp phân tích nhân tử của Coppersmith
để khôi phục lại khóa riêng từ khóa công khai tương ứng, chuẩn FIPS 186-4
để áp dụng cho các tham số (vào/ra) của thuật toán sinh khóa và một số kết
quả nghiên cứu về backdoor trong sinh khóa RSA. Dựa trên cơ sở về
backdoor và các phân tích, đánh giá về kết quả nghiên cứu backdoor của các
tác giả đi trước, chương 1 nêu vấn đề cần nghiên cứu, giải quyết của luận án.
1.1. Giới thiệu về backdoor mật mã
1.1.1. Backdoor mật mã
1.1.1.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.
1.1.1.2. 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.9 trong [62]).
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.
1.1.1.3. 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.1.
Các backdoor chưa công bố
1983
1988
Simmons Desmedt
1993
1996 1997
2005
2016
Anderson Young Young Howgrave- Crepeau& Young
Stefan
&Yung &Yung
Các kênh ngầm
2001
Graham
2003
Slakmon &Yung
Wüller
backdoors
(Subliminal channels)
Đã bị phá vỡ
(broken)
Đối xứng
(symmetric)
Bất đối xứng
(asymmetric)
Hình 1.1. Quá trình phát triển của backdoor mật mã [4]
1.1.1.4. Đặ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ã.
1.1.2. Phạm vi sử dụng của backdoor mật mã
1.1.2.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
- Xem thêm -