Trong hệ mật mã khóa công khai RSA, tính an toàn của hệ mật phụ thuộc chủ yếu vào việc đảm bảo tính an toàn của khóa bí mật, nên nó thường được lưu trong thiết bị lưu khóa bảo mật PKI Token. Trong bài viết này, nhóm tác giả giới thiệu giải pháp sinh tham số RSA 2048 bit trên thiết bị PKI Token.
Khoa học Cơng nghệ lĩnh vực An tồn thơng tin Cài đặt thuật tốn sinh tham số RSA 2048 bit thiết bị PKI Token Vũ Tá Cường, Nguyễn Thành Trung, Lê Đình Hùng Tóm tắt—Trong hệ mật mã khóa cơng khai RSA, tính an tồn hệ mật phụ thuộc chủ yếu vào việc đảm bảo tính an tồn khóa bí mật, nên thường lưu thiết bị lưu khóa bảo mật PKI Token Bên cạnh đó, để tăng cường tính an tồn cho khóa bí mật, khóa sinh thiết bị khơng thể chép ngồi, tránh tình trạng lộ lọt khóa Trong báo này, nhóm tác giả giới thiệu giải pháp sinh tham số RSA 2048 bit thiết bị PKI Token Abstract—In the RSA public-key cryptography system, the security of the cryptosystem depends primarily on ensuring the security of the secret key Therefore, the secret key is usually stored in security token In addition, to enhance security of the secret key, the key pair are generated inside the device and cannot be copied out, avoiding the disclosure of the secret key In this paper, we introduce the 2048-bit RSA parameter generation solution on the PKI Token device PKI Token thương mại giới [1]–[3] hỗ trợ chức sinh khóa thiết bị Tuy nhiên, khó kiểm sốt thuật tốn sinh khóa, tiêu chuẩn an toàn cho tham số RSA Đối với số mơi trường ứng dụng đặc biệt, tiêu chí quan trọng đưa sản phẩm bảo mật làm chủ toàn thiết kế phần cứng, phần mềm để tùy chọn cài đặt thuật tốn mật mã riêng vào thiết bị Vì vậy, việc nghiên cứu xây dựng module sinh tham số RSA thiết bị PKI Token cần thiết, giúp làm chủ kiểm sốt tồn quy trình sinh tham số RSA, giám sát loại trừ nghi ngờ mã độc, cửa hậu (backdoor) mức thấp (firmware) phần cứng thiết bị PKI Token II ĐỀ XUẤT GIẢI PHÁP SINH THAM SỐ RSA TRÊN THIẾT BỊ PKI TOKEN A Các phương pháp sinh số nguyên tố lớn Từ khóa— PKI Token; RSA 2048; sinh khóa a) Phương pháp sinh số nguyên tố xác suất Keyword— PKI Token; RSA 2048; generating key pair Khi tìm hiểu phương pháp sinh số nguyên tố xác suất cần ý hai vấn đề chính: phép kiểm tra nguyên tố xác suất phương pháp lựa chọn số nguyên dương đầu vào Có số phép kiểm tra nguyên tố xác suất thường sử dụng kiểm tra Fermat, Solovay-Strassen, Miller-Rabin Lucas [6], [7] Trong đó, phép kiểm tra Miller-Rabin có xác suất sai thấp [6], [7] Các phương pháp sinh số nguyên tố xác suất thường xây dựng dựa phép kiểm tra Có phương pháp lựa chọn số nguyên dương đầu vào phương pháp lựa chọn ngẫu nhiên phương pháp tìm kiếm tăng dần [7], [8] I GIỚI THIỆU Cũng hầu hết hệ mật mã khác, mơ hình, cấu trúc thuật tốn hệ mật mã khóa cơng khai RSA cơng khai Vì vậy, việc đảm bảo an toàn hệ mật phụ thuộc nhiều vào việc đảm bảo tính an tồn khóa bí mật Để đảm bảo an tồn cho khóa bí mật thường lưu thiết bị lưu khóa bảo mật PKI (Public Key Infrastructure) Token Thiết bị PKI Token thành phần quan trọng giải pháp bảo mật khả lưu trữ khóa, tham số mật tính tốn mật mã mơi trường an tồn Ngồi ra, để đảm bảo tính an tồn tuyệt đối cho khóa bí mật, b) Phương pháp sinh số nguyên tố tất định người ta lựa chọn phương pháp sinh khóa Các phương pháp sinh số nguyên tố xác suất thiết bị PKI Token Khóa bí mật sau sinh cho phép tạo số nguyên tố với xác lưu vào thiết bị chép suất Phương pháp sinh số ngun tố tất ngồi, tránh tình trạng lộ lọt khóa Các thiết bị định cho phép tạo số nguyên tố chứng minh mặt toán học Một số thuật toán sinh số nguyên tố tất định phổ biến Bài báo nhận ngày 22/5/2020 Bài báo nhận xét trình bày [8], [9] là: phương pháp phản biện thứ ngày 23/6/2020 chấp nhận đăng Maurer, phương pháp Shawe-Taylor, phương ngày 23/6/2020 Bài báo nhận xét phản biện thứ hai ngày 04/8/2020 chấp nhận đăng ngày 15/9/2020 pháp bậc hai phương pháp bậc ba Số 1.CS (11) 2020 53 Journal of Science and Technology on Information security Đánh giá sơ phương pháp Trong hai phương pháp sinh số nguyên tố trên, tính an toàn, phương pháp sinh số nguyên tố tất định vượt trội hẳn phương pháp sinh số nguyên tố xác suất, xác suất sai không Tuy nhiên, xét tốc độ thực thi độ phức tạp tính tốn phương pháp sinh số ngun tố xác suất có ưu Phương pháp sinh số nguyên tố xác suất cho dễ cài đặt có tốc độ nhanh so với phương pháp sinh số nguyên tố tất định [9], [11] Trong hai phương pháp sinh số nguyên dương đầu vào, phép kiểm tra ứng cử viên ngẫu nhiên đánh giá cao phân bố đầu thuật toán, nhiên thực hành hiệu thuật toán tìm kiếm tăng dần Các nghiên cứu [11], [12] phương pháp tìm kiếm tăng dần tiết kiệm có hiệu đáng kể so với phương pháp chọn “ngẫu nhiên đều” B Đề xuất mơ hình sinh tham số RSA thiết bị PKI Token Mơ hình sinh tham số RSA thiết bị PKI Token mô tả cụ thể sau: Mầm ngẫu nhiên lấy dựa lỗi lượng tử hóa ADC (Analog to Digital Converter) chip STM32F103 Mầm ngẫu nhiên sử dụng để tạo số ngẫu nhiên, đưa vào hàm sinh số nguyên tố lớn Các số nguyên tố lớn sinh 𝑝 𝑞 sử dụng để tính tham số (𝑛 𝑑) Các tham số đánh giá thông qua hàm kiểm tra tiêu chuẩn tham số RSA trước lưu vào thiết bị dạng khóa Để giảm bớt khối lượng tính tốn cho thiết bị, số mũ cơng khai gắn cố định 𝑒 = 75537 Mầm ngẫu nhiên Lưu khóa Random() Kiểm tra yêu cầu n, d Sinh số Tính tham số Việc sinh tham số RSA địi hỏi khối lượng tính ngun tố lớn n, d toán lớn, phải tạo số nguyên tố bí mật 𝑝 𝑞 đủ lớn để đảm bảo tiêu chuẩn an tồn Hình Mơ hình sinh tham số RSA thiết bị Ngoài ra, việc thực tính tốn số PKI Token ngun tố lớn địi hỏi tài ngun tính tốn lớn [7], [9], [11] Để thực sinh tham số RSA III NGHIÊN CỨU XÂY DỰNG MODULE FIRMWARE SINH THAM SỐ RSA TRÊN THIẾT BỊ PKI TOKEN thiết bị PKI Token, thuật toán sinh số nguyên tố cần lựa chọn, chỉnh sửa để đảm Thiết bị PKI Token thiết bị chuyên dụng bảo tính khả thi nhóm tác giả tự nghiên cứu chế tạo, làm chủ Như phân tích trên, phương toàn từ thiết kế phần cứng, xây dựng firmware pháp sinh số nguyên tố nêu, phương pháp sinh cho thiết bị Thiết bị sử dụng để lưu cặp số nguyên tố xác suất phương pháp có độ phức khóa RSA nhằm đảm bảo tính an tồn cho khóa tạp thấp, khơng u cầu nhiều tài ngun, phù hợp bí mật suốt q trình sử dụng Việc sinh với thiết bị có tài nguyên hạn chế Vì vậy, tham số RSA trực tiếp thiết bị đảm bảo tính nhóm tác giả lựa chọn phương pháp sinh số an toàn tuyệt đối cho khóa mật sinh ra, khóa ngun tố xác suất để xây dựng module sinh tham mật sinh khơng thể chép đọc ngồi số RSA thiết bị PKI Token Ngồi ra, nhóm tác giả đưa lựa chọn phương pháp chọn ứng cử viên đầu vào phép kiểm tra tính nguyên tố sử dụng Về phương pháp lựa chọn ứng cử viên đầu vào, nhóm tác giả sử dụng phương pháp tìm kiếm tăng dần, cách tiếp cận cho hiệu [11], [12] Về phép kiểm tra tính ngun tố, nhóm tác giả sử dụng kiểm tra Miller-Rabin, phương pháp có tốc độ nhanh, dễ cài đặt có độ xác cao [6], [7] Module sinh tham số RSA thiết bị PKI Token hoạt động theo mơ Hình 54 No 1.CS (11) 2020 Khoa học Cơng nghệ lĩnh vực An tồn thơng tin Bắt đầu Nhận lệnh từ ứng dụng Kiểm tra Admin PIN Module sinh khóa Gửi thơng báo lên ứng dụng 0x80 – Tạo cặp khóa RSA 0x81 – Xuất khóa cơng khai P2 0x00 Lc 02 Trường liệu vị trí khóa Le 00 BẢNG CẤU TRÚC APDU PHẢN HỔI Đúng Lưu khóa, Xuất khóa cơng khai P1 Sai Trường liệu Khóa cơng khai SW1-SW2 Trạng thái trả Ở đây, vị trí khóa cần sinh quy định thống phần mềm máy tính thiết bị, cụ thể là: Khóa số 01: 0xB600; Khóa số 02: 0xB800; Khóa số 03: 0xA400; Khóa số 04: 0xBA00; Khóa số 05: 0xBC00 Khi thiết bị nhận lệnh ADPU với câu lệnh định nghĩa trên, liệu gửi xuống Kết thúc từ phần mềm máy tính chuyển cho hàm sinh cặp khóa RSA Tại đây, hàm sinh cặp khóa kiểm tra xem mã Admin PIN Hình Lưu đồ sinh khóa thiết bị PKI Token kiểm tra trước chưa Nếu trạng thái trả Q trình sinh khóa RSA thiết bị diễn cho thấy mã Admin PIN chưa kiểm tra lưu đồ Hình Để xây dựng trước đó, hàm trả thơng báo lỗi “khơng module sinh tham số RSA thiết bị PKI phép tạo khóa” lên cho phần mềm máy tính Token theo lưu đồ trên, cần thực số thông qua APDU Trong trường hợp việc kiểm nội dung sau: xây dựng module sinh khóa, tra mã Admin PIN trước thành cơng, hàm module lưu khóa, module xuất khóa cơng khai tạo khóa gọi để sinh khóa cho thiết bị tích hợp module sinh tham số RSA vào Hàm tạo khóa xây dựng theo quy trình firmware thiết bị PKI Token Hình A Nghiên cứu xây dựng module firmware sinh khóa Xác định ID độ Việc giao tiếp phần mềm máy tính dài khóa với thiết bị thực thông qua lệnh APDU (Application Protocol Data Unit), Gửi truy vấn xuống cho phép phần mềm máy tính gửi xuống thiết tạo ngẫu nhiên bị lệnh cần thực liệu gửi xuống thiết bị Danh sách lệnh cần thực định nghĩa thống chung phần mềm Gọi hàm sinh tham máy tính thiết bị Do đó, cần định số RSA nghĩa cấu trúc lệnh sinh khóa Bảng Bảng Gửi tham số BẢNG CẤU TRÚC APDU LỆNH RSA cho module lưu khóa, xuất khóa CLA 00 INS 0x47 Hình Quy trình hoạt động module sinh khóa Số 1.CS (11) 2020 55 Journal of Science and Technology on Information security Hoạt động cụ thể hàm sau: đầu tiên, hàm xác định vị trí khóa độ dài khóa cần tạo, tham số hàm gửi kèm lệnh sinh khóa từ phần mềm quản trị Sau hàm gửi truy vấn xuống tạo ngẫu nhiên, tạo ngẫu nhiên sinh chuỗi ngẫu nhiên gửi lại cho module sinh khóa Module sinh khóa sử dụng chuỗi ngẫu nhiên ứng cử viên đầu vào cho hàm sinh số nguyên tố Sau nhận chuỗi ngẫu nhiên từ tạo ngẫu nhiên, hàm gọi hàm sinh tham số RSA Các tham số RSA sau tạo gửi sang module lưu khóa Cuối module xuất khóa cơng khai gọi để xuất khóa cơng khai từ cặp khóa RSA vừa sinh lên ứng dụng máy tính B Nghiên cứu xây dựng module firmware lưu khóa thiết bị, ứng dụng cần kiểm tra xem vị trí cần tạo có khóa hay chưa Tuy nhiên thao tác phụ thuộc hồn tồn vào người lập trình ứng dụng Vì phía thiết bị, cần có thủ tục xóa khóa vị trí cần tạo, nhằm tránh trường hợp vị trí khóa cần lưu có khóa, việc ghi đè liệu lên gây lỗi Bước 2: Xác định kích thước địa khóa Trong bước này, module xác định kích thước khóa cần lưu địa lưu nhớ flash thiết bị Kích thước khóa mặc định trường hợp 2048 bit, cịn địa khóa quy định từ trước ứng với khóa cụ thể Bước 3: Mã hóa khóa lưu mã vào thiết bị Khóa bí mật trước lưu vào thiết bị mã hóa thuật tốn MKC1A sử dụng khóa DEK vector khởi tạo (IV) lấy từ tạo ngẫu nhiên Khóa bí mật sau mã hóa lưu vào nhớ flash thiết bị với khóa cơng khai Tại module lưu khóa, sau nhận tham số RSA từ module sinh khóa, module lưu khóa tiến hành thực quy trình cần thiết để lưu khóa vừa sinh vào thiết bị Khóa RSA sau tạo lưu vào thiết bị theo Bước 4: Mã hóa DEK lưu mã vào thiết quy trình Hình (DEK – Data bị Khóa DEK (dùng để mã hóa giải mã khóa Encryption Key) bí mật) mã hóa sử dụng mã PIN User lưu vào nhớ flash thiết bị Xóa khóa, có C Nghiên cứu xây dựng module firmware xuất khóa cơng khai Xác định kích thước địa khóa Lấy địa khóa Mã hóa khóa lưu mã vào thiết bị Sau sinh khóa, khóa bí mật mã hóa lưu thiết bị, cịn khóa cơng khai thiết bị xuất ngồi Khóa cơng khai xuất theo định dạng chuẩn quy định tiêu chuẩn ISO 7816-4, cụ thể sau: Tiêu đề: 7f49 xx (xx – tổng độ dài phản hồi) Dữ liệu khóa cơng khai RSA: Mã hóa DEK lưu mã vào thiết bị 81 xx modulus (xx độ dài số modulus) 82 xx exponent (xx độ dài số mũ e) Giá trị độ dài xx cần tuân theo quy định tiêu chuẩn ISO 7816-4 số byte để lưu giá trị Hoạt động module lưu khóa mơ tả cụ sau: số byte cần để lưu giá trị 02 thể sau: phía trước cần thêm byte số 0x82, số byte Bước 1: Xóa khóa vị trí cần lưu, có cần lưu giá trị 01 phía trước khơng cần thêm Đầu tiên, sau nhận tham số vị trí byte số khóa, liệu khóa từ module sinh khóa, module Cụ thể, hoạt động module firmware xuất lưu khóa tiến hành xóa khóa vị trí cần lưu khóa cơng khai mơ tả sau: Bước thực để đảm bảo giải phóng nhớ phục vụ cho việc lưu khóa vào thiết bị Ở Bước 1: Lấy liệu khóa cơng khai Dữ liệu cần lưu ý là, ứng dụng quản trị thiết bị khóa cơng khai gồm số modulus số mũ công PKI Token, trước gửi lệnh sinh khóa xuống khai đọc từ nhớ flash thiết bị Hình Quy trình hoạt động module lưu khóa 56 No 1.CS (11) 2020 Khoa học Cơng nghệ lĩnh vực An tồn thông tin Bước 2: Tạo phần tiêu đề cho liệu phản hồi Phần tiêu đề liệu phản hồi xuất khóa cơng khai bắt đầu 7f49 theo chuẩn ISO 7816, đến tổng độ dài phản hồi Tổng độ dài liệu phản hồi gồm: độ dài số modulus, độ dài số mũ công khai bytes số (02 bytes số 7f49, byte lại giải thích sau) Vì độ dài số modulus 256 = 0x100 nên cần 02 bytes để lưu giá trị tổng độ dài liệu phản hồi, ta có phần tiêu đề 7f 49 82 xx xx trước Ngoài ra, theo [11], kiểm tra Miller-Rabin với sở có tốc độ thực thi nhanh nhiều so với kiểm tra Miller-Rabin với sở ngẫu nhiên khác Vì thêm kiểm tra Miller-Rabin sở trước kiểm tra Miller-Rabin với sở ngẫu nhiên khác loại bỏ phần lớn hợp số trước thực kiểm tra MillerRabin với sở ngẫu nhiên khác Phương pháp giúp cải thiện tốc độ phương pháp sinh số nguyên tố xác suất dựa kiểm tra MillerRabin mà không làm ảnh hưởng đến sai số phương pháp Bên cạnh đó, để tăng tính hiệu Bước 3: Tạo phần liệu số modulus Phần hàm sinh số nguyên tố, nhóm tác giả lựa chọn liệu số modulus bắt đầu 81, giải pháp tìm kiếm tăng dần lựa chọn ứng cử đến độ dài số modulus số modulus Vì cần viên đầu vào 02 bytes để lưu giá trị độ dài số modulus nên Lưu đồ thuật toán sinh số nguyên tố sau cải cần thêm số 82 sau số 81, cụ thể phần tiến thể Hình liệu số modulus sau: 81 82 01 00 modulus Bắt đầu Bước 4: Tạo phần liệu số mũ công khai Phần liệu số mũ công khai bắt đầu 82, đến độ dài số mũ exponent, số exponent Vì cần 01 byte để lưu giá trị độ dài số mũ công khai, nên phần liệu số mũ công khai sau: 82 xx exponent Xbits = 1024 Sinh số ngẫu nhiên lẻ X có độ dài Xbits D Nghiên cứu tích hợp module sinh tham số RSA vào firmware thiết bị PKI Token Để tích hợp module sinh tham số RSA vào firmware thiết bị PKI Token, việc xây dựng thêm module sinh khóa, lưu khóa xuất khóa cơng khai trình bày trên, cần phải tùy biến, lựa chọn hàm cần thiết thư viện polarSSL để tích hợp vào thiết bị Trước tiên, hàm sinh số ngun tố, nhóm tác giả tích hợp tạo ngẫu nhiên thiết bị để sinh ứng cử viên ngẫu nhiên đầu vào Do nhớ thiết bị PKI Token bị hạn chế, nên đưa thư viện cần thiết thư viện polarSSL xuống thiết bị Các thư viện cần thiết phục vụ việc sinh tham số RSA thiết bị gồm có thư viện tính tốn số lớn thư viện mật mã khóa cơng khai Để tăng tốc độ sinh tham số RSA thiết bị PKI Token, nhóm tác giả tiến hành cải tiến hàm sinh số nguyên tố thư viện polarSSL Theo [6], xác suất số nguyên ngẫu nhiên có ước số nguyên tố nhỏ tương đối lớn việc kiểm tra loại trừ số nguyên ngẫu nhiên có ước số nguyên tố nhỏ tốn tài nguyên tính toán kiểm tra Miller-Rabin, nên trước áp dụng kiểm tra Miller-Rabin, ứng cử viên ngẫu nhiên đầu vào nên kiểm tra ước nguyên tố nhỏ Chia thử Sai X = X +2 Đúng X = X +2 Sai MR2(X) = Đúng MR(h,X) = Sai X = X +2 Đúng Kết thúc Hình Lưu đồ thuật toán sinh số nguyên tố sau cải tiến IV NGHIÊN CỨU XÂY DỰNG CHƯƠNG TRÌNH TOKENADMIN HỖ TRỢ SINH THAM SỐ RSA Phần mềm TokenAdmin phần mềm chạy môi trường Windows dành cho người quản trị viên để quản lý, thực tác vụ cần thiết với thiết bị PKI Token Để phần mềm hỗ trợ sinh tham số RSA thiết bị PKI Token, cần xây dựng thêm chức tạo khóa xuất khóa cơng khai Chức phần mềm TokenAdmin xây dựng dựa lưu đồ hoạt động Hình Hình Số 1.CS (11) 2020 57 Journal of Science and Technology on Information security A Nghiên cứu xây dựng tích hợp module tạo B Nghiên cứu xây dựng tích hợp module xuất khóa cho phần mềm quản trị TokenAdmin khóa cơng khai cho phần mềm quản trị TokenAdmin Chức tạo khóa có nhiệm vụ gửi lệnh tạo khóa xuống thiết bị nhận lại kết q trình tạo khóa thiết bị Hoạt động cụ thể module tạo khóa phần mềm quản trị PKI Token hoạt động sau Đầu tiên, module kiểm tra xem có thiết bị kết nối hay chưa, chưa có thiết bị kết nối với máy tính, module hiển thị thơng báo hình Nếu có thiết bị kết nối, module yêu cầu người quản trị nhập vào mã PIN Admin Mã PIN Admin nhập vào kiểm tra thông qua hàm kiểm tra mã PIN Nếu mã PIN Admin nhập vào không đúng, module cho phép người quản trị nhập lại mã PIN Admin hết số lần nhập sai phép Nếu mã PIN Admin nhập vào hợp lệ, module yêu cầu người quản trị nhập vào vị trí khóa cần tạo Tiếp đó, module kiểm tra vị trí khóa cần tạo có khóa chưa Nếu chưa có khóa module gửi lệnh sinh khóa xuống thiết bị, ngược lại đưa thông báo Q trình sinh khóa thiết bị kết thúc, module nhận thơng báo kết sinh khóa thiết bị đưa kết thông báo Chức xuất khóa cơng khai giúp phần mềm gửi lệnh xuất khóa xuống thiết bị để lấy lên khóa cơng khai, lưu khóa cơng khai vào file phục vụ mục đích cần thiết Hoạt động cụ thể module tạo khóa phần mềm quản trị PKI Token hoạt động sau Đầu tiên, module kiểm tra xem có thiết bị kết nối hay chưa, chưa có thiết bị kết nối với máy tính, module hiển thị thơng báo hình Nếu có thiết bị kết nối, module yêu cầu người quản trị nhập vào mã PIN User Mã PIN User nhập vào kiểm tra thông qua hàm kiểm tra mã PIN Nếu mã PIN User nhập vào không đúng, module cho phép người dùng nhập lại mã PIN User hết số lần nhập sai phép Nếu mã PIN User nhập vào hợp lệ, module kiểm tra vị trí khóa cần xuất có khóa chưa Nếu có khóa module gửi lệnh xuất khóa xuống thiết bị, ngược lại đưa thơng báo Thiết bị gửi khóa cơng khai lên máy tính, module yêu cầu người dùng nhập tên để lưu khóa cơng khai xuất Cuối cùng, module đưa thông báo kết q trình xuất khóa cơng khai Bắt đầu Bắt đầu Chưa kết nối Chưa kết nối Kiểm tra thiết bị kết nối Có kết nối Đúng Sai Kiểm tra thiết bị kết nối Nhập mã PIN Admin Kiểm tra Solannhapsai Solannhapsai++ Kiểm tra mã PIN Sai Đúng Sai Nhập mã PIN User Kiểm tra Solannhapsai Solannhapsai++ Có kết nối Sai Kiểm tra mã PIN Đúng Đúng Chọn vị trí tạo khóa Lấy ID khóa Kiểm tra khóa thiết bị Kiểm tra khóa thiết bị Có khóa Khơng có Có khóa Tạo khóa Xuất khóa In thơng báo In thơng báo Kết thúc Hình Lưu đồ hoạt động module tạo khóa 58 No 1.CS (11) 2020 Khơng có Kết thúc Hình Lưu đồ hoạt động module xuất khóa cơng khai Khoa học Cơng nghệ lĩnh vực An tồn thơng tin Sau xây dựng, tích hợp module tạo tham số Ngồi ra, nhóm tác giả tiến hành thử RSA thiết bị PKI Token bổ sung chức nghiệm ký kiểm tra chữ ký; mã hóa giải mã tạo khóa xuất khóa cơng khai cho phần sử dụng khóa sinh thiết bị Kết thử mềm quản trị PKI Token máy tính Windows, nghiệm thể Hình Hình nhóm tác giả tiến hành kiểm thử hoạt động module tạo tham số RSA thiết bị PKI Token Nhóm tác giả thực thử nghiệm hoạt động module tạo tham số RSA 2048 bit thiết bị PKI Token, so sánh tốc độ sinh tham số RSA 2048 bit thiết bị PKI Token module sử dụng hàm sinh số nguyên tố thư viện polarSSL module sử dụng hàm sinh số nguyên tố nhóm tác giả cải tiến Các thử nghiệm thực máy tính HP PAVILION 7000 SERIES 7000 SERIES sử dụng chip Intel® Core™ i3-2100 CPU tốc độ 3.10GHz, RAM 5.00GB Kết thử nghiệm thể Bảng BẢNG KẾT QUẢ SO SÁNH TỐC ĐỘ GIỮA Hình Kết thử nghiệm ký kiểm tra chữ ký sử dụng khóa sinh thiết bị MODULE SỬ DỤNG HÀM SINH SỐ NGUYÊN TỐ TRONG BỘ THƯ VIỆN POLARSSL VÀ MODULE SỬ DỤNG HÀM SINH SỐ NGUYÊN TỐ CẢI TIẾN Module sử dụng hàm sinh số nguyên tố thư viện polarSSL Module sử dụng hàm sinh số nguyên tố nhóm tác giả cải tiến 11 phút 45 giây phút 45 giây 21 phút 30 giây phút giây 3 phút 44 giây phút 27 giây 14 phút giây phút 24 giây phút 11 giây phút 32 giây Hình Kết thử nghiệm mã hóa giải mã sử dụng khóa sinh thiết bị phút 10 giây phút 33 giây V KẾT LUẬN 7 phút 30 giây phút 24 giây 10 phút giây phút 51 giây phút 46 giây phút giây 10 phút 38 giây phút 37 giây Trung bình phút 20 giây phút 22 giây Bài báo trình bày việc nghiên cứu xây dựng tích hợp module sinh tham số RSA an tồn lên thiết bị PKI Token Trong q trình xây dựng module sinh tham số RSA, nhóm tác giả tiến hành cải tiến hàm sinh số nguyên tố thư viện polarSSL với mục đích tăng tốc độ sinh tham số RSA thiết bị PKI Token Lần thử Như vậy, thời gian trung bình cần sinh tham số RSA 2048 bit thiết bị PKI Token sử dụng hàm sinh số nguyên tố thư viện polarSSL khoảng phút 20 giây, sử dụng hàm sinh số nguyên tố nhóm tác giả cải tiến khoảng phút 22 giây Do đó, sau cải tiến thuật toán, tốc độ sinh tham số RSA thiết bị PKI Token tăng tốc đáng kể Các kết thử nghiệm cho thấy, module sinh tham số RSA thiết bị PKI Token hoạt động ổn định, đáp ứng yêu cầu đặt Ngoài ra, việc nghiên cứu cải tiến hàm sinh số nguyên tố giúp tăng tốc đáng kể tốc độ sinh tham số RSA 2048 bit thiết bị PKI Token Kết sở để nhóm tác giả tiếp tục hoàn thiện module sinh tham số RSA thiết bị PKI Token Số 1.CS (11) 2020 59 Journal of Science and Technology on Information security TÀI LIỆU THAM KHẢO [1] SafeNet eToken 5110 [02-04-2020] url: https://www.digisign.ro/uploads/SafeNeteToken-5110.pdf [2] Cryptomate64 [02-04-2020] url: http://www.cryptomate.com/ [3] RuToken [02-04-2020] url: https://www.rutoken.ru/products/all/rutoken-ecppki/#spec [4] National Institute of Standards and Technology Digital Signature Standard (DSS) [02-04-2020] url: https://nvlpubs.nist.gov/nistpubs/fips/ nist.fips.186-4.pdf [5] PolarSSL 1.2.10 released [02-04-2020] url: https://tls.mbed.org/techupdates/releases/polarssl-1.2.10-released [6] Alfred J Menezes, Paul C van Oorschot and Scott A Vanstone, “Handbook of Applied Crytography”, CRC Press, 1996 [7] Matúš Nemec, “The properties of RSA key generation process in software libraries”, Brno, 2016 [8] Hoàng Văn Thức, Luận án Tiến sĩ “Hệ tiêu chuẩn tham số an toàn cho hệ mật RSA ứng dụng”, 2011 [9] Christophe Clavier, Benoit Feix, Loïc Thierry and Pascal Paillier, “Generating Provable Primes Efficiently on Embedded Devices”, PKC 2012, LNCS 7293, pp 372-389, 2012 [10] Trần Duy Lai, Hoàng Văn Thức, Trần Sỹ Nam, “Thuật toán sinh số nguyên tố tất định hiệu thiết bị nhúng”, Nghiên cứu Khoa học Công nghệ lĩnh vực An tồn thơng tin, ISSN 2615-9570, No 01 Vol 01 2015 [11] Jørgen Brandt, Ivan Damgård and Peter Landrock, “Speeding up Prime Number Generation”, Advances in Cryptology – ASIACRYPT '91, pp 440-449 [12] Jørgen Brandt, Ivan Damgärd, “On generation of Probable primes by incremental search”, Crypto’92, pp 358-371 60 No 1.CS (11) 2020 SƠ LƯỢC VỀ TÁC GIẢ TS Vũ Tá Cường Đơn vị công tác: Viện KH-CN mật mã, Ban Cơ yếu Chính phủ, Hà Nội Email: vutacuong109@gmail.com Quá trình đào tạo: Tốt nghiệp cử nhân năm 2011, thạc sĩ năm 2013 tiến sĩ năm 2016 chuyên ngành “Vô tuyến điện tử”, Đại học Hàng không vũ trụ Kharkov, Ucraina Hướng nghiên cứu nay: PKI Token, kỹ thuật mật mã ThS Nguyễn Thành Trung Đơn vị công tác: Viện KH-CN mật mã, Ban Cơ yếu Chính phủ, Hà Nội Email: trungbcy@gmail.com Q trình đào tạo: Tốt nghiệp cử nhân năm 1995, thạc sĩ năm 2005 chuyên ngành “Kỹ Thuật mật mã”, Học viện Kỹ thuật Mật mã Hướng nghiên cứu nay: PKI Token, kỹ thuật mật mã ThS Lê Đình Hùng Đơn vị cơng tác: Viện KH-CN mật mã, Ban Cơ yếu Chính phủ, Hà Nội Email: ldhung85@gmail.com Quá trình đào tạo: Tốt nghiệp cử nhân năm 2008 chuyên ngành “Điện tử viễn thông”, Học viện Kỹ thuật quân sự, thạc sĩ năm 2017 chuyên ngành “Kỹ Thuật điện tử”, Đại học Cộng nghệ - ĐHQG HN Hướng nghiên cứu nay: PKI Token, kỹ thuật mật mã ... tạo tham số RSA 2048 bit thiết bị PKI Token, so sánh tốc độ sinh tham số RSA 2048 bit thiết bị PKI Token module sử dụng hàm sinh số nguyên tố thư viện polarSSL module sử dụng hàm sinh số nguyên... với mục đích tăng tốc độ sinh tham số RSA thiết bị PKI Token Lần thử Như vậy, thời gian trung bình cần sinh tham số RSA 2048 bit thiết bị PKI Token sử dụng hàm sinh số nguyên tố thư viện polarSSL... số PKI Token nguyên tố lớn đòi hỏi tài ngun tính tốn lớn [7], [9], [11] Để thực sinh tham số RSA III NGHIÊN CỨU XÂY DỰNG MODULE FIRMWARE SINH THAM SỐ RSA TRÊN THIẾT BỊ PKI TOKEN thiết bị PKI Token,