KYYEU_REV2022_final - 62

5 5 0
KYYEU_REV2022_final - 62

Đang tải... (xem toàn văn)

Thông tin tài liệu

Nghiên cứu Thực thi sinh khóa RSA-2048 bit trên lõi ARM của chíp Infineon ứng dụng cho thẻ thông minh thử nghiệm cài đặt thực thi các thuật toán mật mã khóa công khai trên hệ điều hành chuyên dụng sử dụng trong các hệ thống hạ tầng khóa công khai. Xây dựng hệ điều hành Native OS tích hợp thuật toán mật mã khóa công khai trên các thiết bị Smartcard (sử dụng chíp vi xử lý ARM) là có ý nghĩa thực tiễn trong hệ thống chứng thư số cho nền tảng chuyển đổi số. Mời các bạn cùng tham khảo!

Hội nghị Quốc gia lần thứ 25 Điện tử, Truyền thông Công nghệ Thông tin (REV-ECIT2022) Thực thi sinh khóa RSA-2048 bit lõi ARM chíp Infineon ứng dụng cho thẻ thông minh Lục Như Quỳnh 1,*, Nguyễn Tất Thắng2, Đào Thanh Toản3, Trần Minh Tiên4 Học viện Kỹ thuật mật mã, 141 Chiến Thắng, Tân Triều, Thanh Trì, Hà Nội Cục Quản lý mật mã dân Kiểm định sản phẩm mật mã, 23 Ngụy Như Kon Tum, Nhân Chính, Thanh Xuân, Hà Nội, Việt Nam Trường Đại học Giao thông Vận tải, Số Cầu Giấy, Hà Nội Cục Đăng Kiểm Việt Nam, Số 18 Phạm Hùng, Hà Nội Email: quynhln@actvn.edu.vn, lucnhuquynh69@gmail.com Abstract— Ý tưởng nghiên cứu này, cài đặt thực thi thuật tốn mật mã khóa cơng khai hệ điều hành chuyên dụng sử dụng hệ thống hạ tầng khóa cơng khai Xây dựng hệ điều hành Native OS tích hợp thuật tốn mật mã khóa cơng khai thiết bị Smartcard (sử dụng chíp vi xử lý ARM) có ý nghĩa thực tiễn hệ thống chứng thư số cho tảng chuyển đổi số Trong này, tác giả đưa kết tính tốn tài ngun sử dụng thuật tốn sinh khóa RSA 2048 bit chip SLE97 Infineon Kết chạy mô cơng cụ SLE90 Simulator µKeil ARM SmartCardManager Infineon có tốc độ xử lý xấp xỉ khoảng 78.480 giây (trên chip SLE97 thực tế xấp xỉ khoảng 2.5 giây) Kết cho thấy thời gian thực thi đáp ứng yêu cầu để triển khai thực tế với thiết bị ký số ứng dụng hạ tầng chuyển đổi số cần thời gian ngắn thiết bị hạng nhẹ, thẻ thơng minh SmartCard vấn đề tối ưu tài nguyên nhớ sử dụng thời gian thực thi ngắn thuật tốn mật mã khóa công khai RSA cho ứng dụng vấn đề lớn [5] Trong này, tác giả đưa kết tính tốn tài ngun sử dụng thuật tốn sinh khóa RSA 2048 bit chip SLE97 Infineon [6] Đưa kết chạy mơ cơng cụ SLE90 Simulator (Infineon) µKeil ARM SmartCardManager (Infineon) thuật tốn sinh khóa RSA 2048 bit II Bài toán RSA [7]: Cho số nguyên dương n tích hai số nguyên tố lẻ p q phân biệt, e số nguyên dương cho gcd(e, ( p  1).(q  1))  số nguyên c Tìm số nguyên m thỏa mãn: Keywords- ARM, Native OS, RSA 2048-bit, Simulation, SLE97, SmartCard I me  c mod n GIỚI THIỆU (1) Thuật tốn sinh khóa RSA xây dựng dựa toán RSA với số nguyên lớn [3], [8] Trong nghiên cứu này, tác giả tham khảo công bố [9] để sinh tham số cho hệ thống mật mã khóa cơng khai RSA đảm bảo an tồn Trong đó, bước lựa chọn hai số nguyên tố bí mật phân biệt p q tác giả làm theo phương pháp cơng bố [10]; Tính n = p.q tính tham số bí mật  (n)  LCM ( p  1, q  1) theo công bố [11], [12] [13]; Số mũ khóa cơng khai e theo [14]; Khóa bí mật d  e 1 (mod  (n)) [15] RSA ký hiệu viết tắt Ron Rivest, Adi Shamir Leonard Adleman [1] Hiện tại, hệ mật RSA ứng dụng nhiều vấn đề truyền thơng khác có bảo mật [1] Đối với lĩnh vực chứng thư số, hệ mật RSA sử dụng thành phần thiết bị ký số Thuật tốn sinh khóa RSA thuật tốn cần thiết sử dụng hệ mật khóa cơng khai RSA [2] Vấn đề thiết kế phát triển thuật toán hệ mật RSA nghiên cứu nhiều nâng cấp dần từ 1024 bit đến 2048 bit [2], [3] Đã có thư viện mã nguồn mở giúp thuận tiện việc nghiên cứu tùy biến thuật toán mật mã hệ điều hành chuyên dụng, thiết bị chíp vi xử lý khác nhau, thư viện miracl, SSL/TLS, openVPN [4] Vấn đề tính tốn số ngun dương d tìm nghiệm cho d nhỏ thỏa mãn phương trình: d e  (mod  (n)) (2) Trong đó, e thường có độ dài bit ngắn trọng số Hamming nhỏ để có hiệu mã hóa, hầu hết ứng dụng sử dụng e  216   65537 Một số giá trị e nhỏ e = có chứng minh khơng đảm bảo an tồn [16], [1] Số e thành Hệ điều hành Native OS hệ điều hành chuyên dụng, xây dựng phục vụ mục đích hệ thống chứng thư số, thiết bị sử dụng công nghệ thẻ thông minh chuyển đổi số Đối với ISBN 978-604-80-7468-5 CÁC NGHIÊN CỨU LIÊN QUAN THUẬT TỐN SINH KHĨA RSA 359 Hội nghị Quốc gia lần thứ 25 Điện tử, Truyền thơng Cơng nghệ Thơng tin (REV-ECIT2022) phần mũ khóa cơng khai, d thành phần mũ khóa bí mật [17], [18], [19] Biểu diễn khóa cơng khai cặp (n, e) gồm thành phần modulus n thành phần mũ e Khóa bí mật cặp (n, d), với modulus n thành phần mũ bí mật d Trong số ứng dụng, biểu diễn khóa bí mật thường cặp ( p, q, dP, dQ, qInv) , với p, q số nguyên tố phân biệt, dP số nguyên dương thỏa mãn e.dP  mod ( p  1) , dQ số nguyên dương thỏa mãn e.dQ  mod (q  1) , qInv số nguyên dương thỏa mãn q.qInv  mod p Hình 2: Thành phần hệ điều hành Native OS Hiện hầu hết ứng dụng sử dụng lược đồ sinh khóa RSA vậy, thành phần p, q, d, modulus n, e, …đều phải kiểm tra vượt qua loạt tiêu chuẩn đảm bảo an toàn tổ chức tiêu chuẩn quốc tế (như NIST, ISO/IEC) sử dụng thực tế III Cấu trúc thành phần hệ điều hành Native OS Hình Các thành phần hệ điều hành Native OS tầng phía tầng Hardware thành phần thiết kế đảm bảo theo chuẩn ISO 7816 [5] I/O fucntion hàm tương tác điều khiển phần cứng liên quan đến chức truyền nhận I/O Memory fucntion hàm tương tác điều khiển phần cứng tương tác nhớ FLASH Crypto fucntion hàm tương tác điều khiển phần cứng hỗ trợ thuật tốn mã hóa/giải mã T=0 protocol library tập hợp hàm thực đầy đủ tính protocol theo ISO 7816 Memory library tập hợp hàm nhằm quản lý vùng nhớ, cho phép người sử dụng tương tác đến vùng nhớ theo định danh Initial System Routine thực việc khởi động hệ thống, bắt tay với Reader thẻ bắt đầu hoạt động Command Process Module cho việc xử lý lệnh Thành phần mật mã tùy biến modulus Crypto lib Native OS lựa chọn thuật tốn sinh khóa RSA 2048 bit Thuật tốn sinh khóa RSA 2048 bit sử dụng lấy từ thư viện miracl [4] CẤU TRÚC HỆ ĐIỀU HÀNH NATIVE OS Hầu hết hệ điều hành Smartcard thiết kê xây dựng dựa chuẩn ISO 7816 phù hợp với ứng dụng chữ ký số Một hệ điều hành SmartCard MULTOS [5] Hình IV Thiết kế phát triển thuật tốn sinh khóa RSA 2048 bit sử dụng cơng cụ lập trình µKeil phiên từ 4.73 trở lên hãng ARM [20] tích hợp thư viện SDK SLE90 [21] hãng Infineon cơng cụ µKeil Ngồi ra, cịn sử dụng thêm SmartCardManager Infineon để thuận tiện trình chạy mơ cho thuật tốn sinh RSA 2048 bit Việc thiết kế hệ điều hành Native OS có số hàm đủ để thực thi thuật tốn sinh khóa RSA 2048 bit tùy biến có hỗ trợ chuẩn P1363 hàm số học thư viện mã nguồn mở miracl [4] Hình 1: Các tầng JavaCard OS Trong hướng tới việc tùy biến chức mật mã tầng O.S & Native Functions (đây hệ điều hành Native OS) hoạt động tầng giao tiếp phần cứng ứng dụng phía thơng qua tầng Javacard VM (tầng chế máy ảo Java) Thiết kế trình biên dịch giao tiếp mật mã đảm bảo theo chuẩn PKCS#11 PKCS#1 [1] ISBN 978-604-80-7468-5 KẾT QUẢ VÀ THẢO LUẬN Kết biên dịch chương trình cơng cụ µKeil-ARM thơng tin lưu hai file “DemoOS_SLE97.build_log.htm” “DemoOS_SLE97.axf” 360 Hội nghị Quốc gia lần thứ 25 Điện tử, Truyền thông Công nghệ Thông tin (REV-ECIT2022) Bảng cho thấy, kết tài nguyên kích thước chương trình sinh khóa RSA 2048 bit chiếm dụng tài nguyên chíp SLE97 Code=19860 ROdata=2124 RW-data=52 ZI-data=28788 (chủ yếu sử dụng ROM RAM chíp SLE97) Depth=11264, IF_KEY_PAIR có Max Depth= 10944 Hình Hình 4, cho thấy kết chạy mơ cơng cụ SLE90 Simulator (Infineon) µKeil – ARM đạt tốc độ xử lý 78.480 giây – xấp xỉ khoảng 1.308 phút số lệnh (instructions) hàm hàm sinh khóa RSA 2048 bit Bảng 1: Kết Tài nguyên sinh khóa SLE97 file DemoOS_SLE97.build_log.htm src\libCrypto\bcyarth2.c: warnings, errors compiling bcybits.c compiling bcymonty.c src\libCrypto\bcymonty.c(249): warning: #550-D: variable "w0g" was set but never used mr_small carry,delay_carry,m,ndash,*w0g,*mg; src\libCrypto\bcymonty.c(249): warning: #550-D: variable "mg" was set but never used mr_small carry,delay_carry,m,ndash,*w0g,*mg; src\libCrypto\bcymonty.c(261): warning: #177-D: variable "dbled" was declared but never referenced mr_large dbled,ldres; src\libCrypto\bcymonty.c(261): warning: #177-D: variable "ldres" was declared but never referenced mr_large dbled,ldres; src\libCrypto\bcymonty.c: warnings, errors compiling bcyshs256.c compiling bcystrong.c compiling bcyxgcd.c compiling bcygcd.c compiling bcycore.c src\libCrypto\bcycore.c(252): warning: #177-D: variable "ldres" was declared but never referenced mr_large ldres,p=(mr_large)a*b+c; src\libCrypto\bcycore.c(1072): warning: #111-D: statement is unreachable return mirsys_basic(mr_mip,nd,nb); src\libCrypto\bcycore.c: warnings, errors compiling bcyprime.c compiling bcypower.c linking Program Size: Code=28620 RO-data=2124 RW-data=56 ZIdata=28792 ".\obj\DemoOS_SLE97.axf" - Error(s), 31 Warning(s) Hình 3: Kết tốc độ xử lý sinh khóa RSA 2048-bit key Hình 4: Kết số lệnh thực sinh hóa RSA 2048-bit SLE97 Bảng 2: Các hàm chip SLE97 ## ARM Linker, 5990286: Last Updated: Sun Jul 09 09:45:07 2017 1) Maximum Stack Usage = 11264 bytes Unknown(Cycles, Untraceable Function Pointers) 2) Call chain for Maximum Stack Depth: main ⇒ cmd_SinhkhoaRSA_2048 ⇒ SINHKHOA_RSA_2048 IF_KEY_PAIR ⇒ isprime ⇒ powltr ⇒ prepare_monty invmodp ⇒ xgcd ⇒ mad ⇒ divide ⇒ mr_psub ⇒ copy zero 3) Mutually Recursive functions NMI_Handler ⇒ NMI_Handler HardFault_Handler ⇒ HardFault_Handler MemManage_Handler ⇒ MemManage_Handler BusFault_Handler ⇒ BusFault_Handler UsageFault_Handler ⇒ UsageFault_Handler SVC_Handler ⇒ SVC_Handler DebugMon_Handler ⇒ DebugMon_Handler PendSV_Handler ⇒ PendSV_Handler SysTick_Handler ⇒ SysTick_Handler CRYPTO_IRQHandler ⇒ CRYPTO_IRQHandler Kết SmartCardManager cụ thể: + Atr : 09:45:48:684 3b 18 96 44 65 6d 4f 53 31 2e 30 - ; DemoOS1.0 Send: 09:45:51:459 c2 68 00 00 96 h Rec : 10:07:04:518 95 12 86 70 db 85 9b 85 55 60 fb 4f 71 be b4 e0 b9 15 a8 c4 ec a1 d4 79 c6 f8 77 a1 77 f1 71 e2 79 3f a4 f7 5a fd 06 05 6b f6 be 69 fc 8b d7 7e 4a fc b5 94 f3 7b 03 f4 76 c2 31 fd 87 a9 aa b7 68 46 f1 07 7f 8f 78 86 58 8b 5e ba 48 dc 42 56 82 db ca 1a 73 ca 90 00 p U`.Oq y w.w.q.y? Z k i ~J { v.1 hF •.x.X ^.H.BV s ⇒ ⇒ ⇒ IF_KEY_PAIR (Thumb, 1472 bytes, Stack size 10360 bytes, bcyp1363.o(.text))[Stack]   Max Depth = 10944 Để đánh giá kết quả, tác giả sử dụng công cụ mô SLE90 Simulator SmartCardManager Infineon cung cấp theo tài liệu kỹ thuật chương trình thỏa thuận riêng Việt Nam Infineon [23] Điều thực mô thiết bị Token cách kết hợp trình mơ SLE90 Call Chain = IF_KEY_PAIR ⇒ isprime ⇒ powltr ⇒ prepare_monty ⇒ invmodp ⇒ xgcd ⇒ mad ⇒ divide ⇒ mr_psub ⇒ copy ⇒ zero Bảng 2, kết tiến trình sâu sử dụng chip SLE97 hàm cmd_Sinhkhoa_2048 với Max ISBN 978-604-80-7468-5 361 Hội nghị Quốc gia lần thứ 25 Điện tử, Truyền thông Công nghệ Thơng tin (REV-ECIT2022) Simulator SmartCardManager kết khoảng 1.308 phút Điều này, nghĩa thuật tốn sinh khóa RSA 2048 bit chạy trực tiếp chíp SLE97 khoảng xấp xỉ 2.5 giây (tốc độ chíp thực nhanh khoảng gấp 30 lần so với mô phỏng) TÀI LIỆU THAM KHẢO [1] [2] [3] Bảng 3: So sánh hiệu suất thuật tốn sinh khóa RSA 2048 bit với thuật tốn sinh khóa khác Thuật tốn Trong nghiên cứu (trên chíp thực SL97) Sinh cặp khóa RSA 2048-bit Trong cơng bố [24] Sinh cặp khóa RSA (2048-bit) (MAXQ1103 EV Kit at 12MHz) Sinh cặp khóa RSA (2048-bit) (DS5250 EV Kit at 22.1MHz) Tốc độ thực thi tảng phần cứng (giây) 2.5 [4] [5] 15.63 [6] 122.4 [7] Các kết nghiên cứu [24] việc thực thi sinh khóa RSA 2048 bit tích hợp vào chíp MAXQ1103 DS5250 Kết bảng cho thấy kết thực thi sinh khóa RSA 2048 bit nhóm tác giả thực chip SLE97 có nhiều cải thiện so với thuật tốn sinh khóa chíp MAXQ1103 DS5250 công bố [24] [8] [9] Kết đạt tốc độ tương ứng với việc sinh khóa RSA 2048 bit thiết bị ký số Smartsign, HSM Utimaco [22] thiết bị SecureToken ST3 SecureMetric [22] Như vậy, thuật tốn sinh khóa RSA 2048 bit cải thiện tốc độ đáp ứng yêu cầu triển khai thực tế Nó giúp thực giao dịch số an toàn, chống lại công V [10] [11] [12] [13] KẾT LUẬN Trong nghiên cứu này, sử dụng công cụ µKeil – ARM có tích hợp cơng cụ mơ SLE90 Simulator, SmartCardManager Infineon để thực tùy biến thuật tốn sinh khóa RSA 2048 bit hệ điều hành Native OS chíp SLE97 Infineon Kết cho thấy tốc độ xử lý cải thiện nhiều tối ưu tài nguyên chiếm dụng thuật toán chip SLE97 Kết cho thấy, thuật tốn hồn tồn đáp ứng yêu cầu thực tế để triển khai thuật toán hệ điều hành Native OS phục vụ giao dịch ký số điện tử Áp dụng thuật tốn sinh khóa RSA 2048 bit để đảm bảo an tồn thơng tin người dùng chống lại công [14] [15] [16] [17] [18] LỜI CẢM ƠN Nhóm tác giả xin chân thành cảm ơn Học viện Kỹ thuật mật mã tạo điều kiện giúp đỡ nhóm hỗ trợ nghiên cứu ISBN 978-604-80-7468-5 [19] [20] 362 P R C Standard, “https://www.emc.com/emc-plus/rsalabs/standards-initiatives/pkcs-rsa-cryptographystandard.htm” N Stoianov and A Ivanov, “Public Key Generation Principles Impact Cybersecurity,” Inf Secur An Int J., vol 47, no 2, pp 249–260, 2020, doi: 10.11610/isij.4717 T K Frederiksen, Y Lindell, V Osheter, and B Pinkas, “Fast Distributed RSA Key Generation for Semi-honest and Malicious Adversaries,” 2018, pp 331–361 doi: 10.1007/9783-319-96881-0_12 “https://libraries.docs.miracl.com/miracl-user-manual; https://openvpn.net/” W Rankl and W Effing, Smart Card Handbook Wiley, 2010 doi: 10.1002/9780470660911 P Ramesh, “ScholarWorks: UMass Amherst Accelerating RSA Public Key Cryptography via Hardware Acceleration,” no April, 2020 S Sarna and R Czerwinski, “Small Prime Divisors Attack and Countermeasure against the RSA-OTP Algorithm,” Electronics, vol 11, no 1, p 95, Dec 2021, doi: 10.3390/electronics11010095 S B Belhaouari, Y Hamdi, and A Hamdi, “Revisited Carmichael’s Reduced Totient Function,” Mathematics, vol 9, no 15, p 1800, Jul 2021, doi: 10.3390/math9151800 S Rahman, I Triana, S Khairani, A Yasir, and S Sundari, “RSA key development using fingerprint image on text message,” J Phys Conf Ser., vol 930, p 012037, Dec 2017, doi: 10.1088/1742-6596/930/1/012037 A Mohammed and A Alkhelaifi, “RSA: A number of formulas to improve the search for p + q p+q,” J Math Cryptol., vol 11, no 4, Dec 2017, doi: 10.1515/jmc-20160046 K Li and Q Cai, “Practical Security of RSA Against NTCArchitecture Quantum Computing Attacks,” Int J Theor Phys., vol 60, no 8, pp 2733–2744, Aug 2021, doi: 10.1007/s10773-021-04789-x B Fagin, “Composite Numbers That Give Valid RSA Key Pairs for Any Coprime p,” Information, vol 9, no 9, p 216, Aug 2018, doi: 10.3390/info9090216 N Ramanjaneya Reddy, P C Reddy, and M Padmavathamma, “Study the Impact of Carmichael Function on RSA,” 2016, pp 752–756 doi: 10.1007/978-981-10-34336_90 F A AL-Maamori and M S Rashid, “Counting Functions to Generate The Primes in the RSA Algorithm and DiffieHellman Key Exchange,” Ibn AL- Haitham J Pure Appl Sci., p 423, Apr 2018, doi: 10.30526/2017.IHSCICONF.1805 Z Zheng and F Liu, “On the High Dimensional RSA Algorithm A Public Key Cryptosystem Based on Lattice and Algebraic Number Theory,” pp 1–18, 2022, [Online] Available: http://arxiv.org/abs/2202.02675 “https://www.rsa.com/en-us” H J Mahanta and A K Khan, “Securing RSA against power analysis attacks through non‐uniform exponent partitioning with randomisation,” IET Inf Secur., vol 12, no 1, pp 25–33, Jan 2018, doi: 10.1049/iet-ifs.2016.0508 K Suresh, R Pal, and S R Balasundaram, “Two-factorbased RSA key generation from fingerprint biometrics and password for secure communication,” Complex Intell Syst., vol 8, no 4, pp 3247–3261, Aug 2022, doi: 10.1007/s40747022-00663-3 L Matysiak, “Generalized RSA cipher and Diffie-Hellman protocol,” J Appl Math Informatics, vol 39, no 1–2, pp 93– 103, 2021, doi: 10.14317/jami.2021.093 “https://developer.arm.com/products/processors/cortexm/cortex-m3” Hội nghị Quốc gia lần thứ 25 Điện tử, Truyền thông Công nghệ Thông tin (REV-ECIT2022) [21] “www.infineon.com/cms/en/product/security /sle97/channel html” [22] “https://hsm.utimaco.com/; https://www.securemetric.com/public-key 2/securetokenst3/” ISBN 978-604-80-7468-5 [23] “Infineon-Security-Solutions-PortfolioProductSelectionGuide-v20_02-EN.pdf.”; “UserManual_CardAdapter 3.6 2013-07.pdf.” [24] M A Accelerator and A Note, “Application Note 4347 RSA Key Generation Using the DeepCover Secure,” pp 1–6, 2008 363 ... https://www.securemetric.com/public-key 2/securetokenst3/” ISBN 97 8-6 0 4-8 0-7 46 8-5 [23] “Infineon-Security-Solutions-PortfolioProductSelectionGuide-v20_02-EN.pdf.”; “UserManual_CardAdapter 3.6 201 3-0 7.pdf.” [24]... giúp đỡ nhóm hỗ trợ nghiên cứu ISBN 97 8-6 0 4-8 0-7 46 8-5 [19] [20] 362 P R C Standard, “https://www.emc.com/emc-plus/rsalabs/standards-initiatives/pkcs-rsa-cryptographystandard.htm” N Stoianov and... Distributed RSA Key Generation for Semi-honest and Malicious Adversaries,” 2018, pp 331–361 doi: 10.1007/978 3-3 1 9-9 688 1-0 _12 “https://libraries.docs.miracl.com/miracl-user-manual; https://openvpn.net/”

Ngày đăng: 31/12/2022, 13:34