Persistent Fault Analysis Against sm4 Implementations in Libraries Crypto++ and gmssl
Download 1.24 Mb.
|
Persistent Fault Analysis Against SM4 Implementations in Libraries
2021-yil 26-martda qabul qilingan, 2021-yil 12-aprelda qabul qilingan, nashr etilgan sana 2021-yil 21-aprel, joriy tahrir sanasi 2021-yil 3-may. Raqamli obyekt identifikatori 10.1109/ACCESS.2021.3074708 Crypto++ va GMSSL kutubxonalarida SM4 joriy etilishiga qarshi doimiy xatolar tahlili QING GUO, ZHENHAN KE, SIYUAN VANG VA SHIHUI CHENG Kibermakon xavfsizligi maktabi, Pekin pochta va telekommunikatsiyalar universiteti, Pekin 100876, Xitoy Muallif: Shixui Zheng (shihuizh@bupt.edu.cn) Bu ish qisman 61502048 granti doirasida Xitoy Milliy fan fondi, qisman 2017YFB0803001 granti doirasidagi Milliy fan va texnologiya loyihasi va qisman 201906475014 granti doirasida Xitoy stipendiyalar kengashi dasturi tomonidan qoʻllab-quvvatlandi. Xulosa O'tkinchi nosozlikni quyish bilan solishtirganda, doimiy nosozlikni quyish jarayoni uchun vaqt sinxronizatsiyasi va aniqlik talab qilinmaydi. Biroq, ma'lum bo'lgan doimiy xato tahlillari (PFA) SM4 ilovalarida ishlamaydi, chunki chiziqli transformatsiya qatlami shifrlash jarayonida xatolik yuzaga kelgan joyni yashiradi. Teskari chiziqli transformatsiyani differentsial usullar bilan birlashtirish orqali S-box bilan amalga oshirilgan SM4 ga qarshi birinchi doimiy xato tahlilini taqdim etamiz. Bundan tashqari, biz shifrlash jarayonida xatolik qayerda sodir bo'lishini emas, balki qidirish jadvaliga xato kiritilgan joyni aniqlash uchun joylashishni aniqlash algoritmini taklif qilamiz. Shunday qilib, joylashishni aniqlash algoritmi T-jadval bilan amalga oshirilgan SM4 ni buzishga yordam beradi. Biz PFA ni ikkita SM4 – Crypto (v8.3) va GMSSL (v1.0.0) ning ochiq manbali ilovalarida tasdiqlaymiz. Tajribalar shaxsiy kompyuterda o'tkaziladi va tahlil kodlari C tilida yoziladi. Eksperimental ma'lumotlar shuni ko'rsatadiki, normal va noto'g'ri shifrlangan matn juftlari soni o'rtacha 3000 ta bo'lsa, shifrlash kalitini muvaffaqiyatli tiklash ehtimoli 1 ga yaqin. Ya'ni, haqiqiy nosozliklar kiritilgandan so'ng, PFA amalda SM4 shifrlash tizimini buzishi mumkin. Nihoyat, biz hujumni himoyalangan SM4 ilovalariga qo'llaymiz va ikkita modulli vaqtinchalik zaxiraning (DMTR) E-va-D rejimi bizning PFAni mag'lub etishi mumkinligini isbotlaymiz. INDEX SHARTLARI SM4, doimiy xato tahlili, xato hujumi, Crypto++, GMSSL. I. KIRISH Sm4 simsiz LAN WAPI (simli autentifikatsiya va maxfiylik infratuzilmasi) uchun Xitoy milliy standartini qo'llab-quvvatlash uchun ishlab chiqilgan va Xitoy tomonidan 2012 yilda tijorat bloklari shifrlash standarti sifatida rasman nashr etilgan [1]. Chiziqli hujumlar [2], [3], differentsial hujumlar [4], [5] va kesh kabi SM4 ning keng qamrovli tahlillari taklif qilingan. hujum [6]. Xatolarni tahlil qilish birinchi bo'lib Boneh va boshqalar tomonidan taklif qilingan. [7] 1996 yilda va ular maxfiy ma'lumotlar kriptografik algoritmni bajarish paytida tasodifiy yoki qasddan nosozliklar kiritish orqali sizib chiqishi mumkinligini ta'kidladilar. Bir yil o'tgach, Biham va Shamir [8] Ma'lumotlarni shifrlash standartiga (DES) qarshi differentsial xato tahlilini (DFA) taklif qildilar. Ular 14, 15 va 16-yillarda yuzaga kelgan nosozliklardan foydalanganlar. Ushbu qo'lyozmani ko'rib chiqishni muvofiqlashtirgan va uni nashr etishni ma'qullagan yordamchi muharrir Fangfey Li edi. DES shifrlash kalitini ochish uchun alohida-alohida aylana oladi. SM4 ilovalariga qarshi ko'plab DFAlar ham nashr etilgan [9]–[11]. Chjan va Vu [9] birinchi marta 2006 yilda SM4 ga qarshi DFAni tasvirlab berishgan. Oxirgi to'rt turdan oldin oraliq holatda bir baytli nosozlik kiritiladi va nazariy jihatdan to'liq shifrlash kalitini olish uchun kamida 32 marta nosozlikni kiritish talab qilinadi. . 2008 yilda baytga yo'naltirilgan xatolar mustaqil ravishda kalit jadvalining sakkizta bajarilishiga kiritilgan va keyin SM4 ning to'liq 128 bitli kaliti [10] da ochilgan. 2011 yilda Li va boshqalar. [11] qisman kalit bitlarini chiqarish uchun 28-raunddan oldin oraliq holatda faqat bitta xatolikdan foydalangan va qolgan noma'lum 22.11-bitli kalit (o'rtacha) qo'pol qidiruv yordamida tiklangan. Yuqoridagi xatolar tahlillari shifrlash jarayonida oraliq holatning ma'lum bir pozitsiyasida xatoni aniq ishga tushirish uchun aniq vaqt sinxronizatsiyasini talab qiladigan vaqtinchalik xatolarga asoslanadi, masalan, shifrlash jarayonida 29-raundda kirish holatining bitlarini aylantirish. SM4 [9]. Biroq, doimiy xatolik odatda har qanday ochiq matnni shifrlashdan oldin kiritilishi mumkin, shuning uchun vaqt aniqligi endi shart emas. Chjan va boshqalar. [12] CHES-2018 da bir baytli nosozlik modeli bilan AESga qarshi PFAni taklif qildi. Mualliflar S-boxga bir baytli nosozlik kiritilgan va xatoning qiymati va joylashuvi raqibga ma'lum bo'lgan deb taxmin qilishdi. Bundan tashqari, kalitni tiklash uchun o'rtacha atigi 2281 shifrlangan matn ishlatiladi. Ular, shuningdek, sakkiz T-box bilan AES amalga oshirish qarshi PFA ko'rsatdi, lekin qurilmani qayta o'rnatish va nosozlik in'ektsiya jarayoni to'liq oxirgi davra kalitini tiklash uchun to'rt marta takrorlanishi kerak va zarur shifrlangan matnlar soni 8200 ga oshadi. Keyinchalik, ular PFA ning AESning bir nechta ilovalarida qo'llanilishining batafsil tahlilini taqdim etdi [13]. S-box bilan AESni amalga oshirishga qarshi takomillashtirilgan PFA, kiritilgan nosozlikning qiymati va joylashuvi to'g'risida bilimni talab qilmaydi [14]. Bundan tashqari, PFA sinovi birinchi marta ATmega163L mikrokontrollerida amalda namoyish etiladi, ammo raqibga qurilmani qayta o'rnatishga va S-box ichida nosozlik mavjudligini aniqlash uchun bir xil ochiq matnga mos keladigan to'g'ri va noto'g'ri shifrlangan matnlarni yig'ishga ruxsat beriladi. Caforio va boshqalar. [15] yumaloq funktsiyalari faqat S-box qidiruv operatsiyalaridan iborat soddalashtirilgan Feistel shifrlarining oxirgi davra kalitini tiklash kontseptsiyasini taxminan tasvirlab berdi. Biroq, agar dumaloq funktsiyadagi almashtirish qatlami, masalan, SM4 ning chiziqli o'zgarishi, oraliq holatning har bir baytiga bir baytli xatoni tarqatsa, qaysi qidiruv operatsiyasida xato paydo bo'lishini aniqlash qiyin. Natijada, agar kiritilgan xatoning holati va qiymati ma'lum bo'lsa ham, oxirgi tur kalitini chiqarib bo'lmaydi. Biz Feistelning umumlashtirilgan tuzilishiga asoslangan SM4 ga qarshi qayta ko'rib chiqilgan PFAni taqdim etamiz. Qidiruv jadvalida bir baytlik xatolik yuzaga keladi va xatoning qiymati va joylashuvi tasodifiy va raqibga ham noma'lum. Bundan tashqari, agar SM4 T-box yoki S-box yordamida amalga oshirilgan bo'lsa, butun shifrlash kalitini chiqarib yuborish uchun faqat bitta muvaffaqiyatli nosozlikni kiritish kifoya. Biz Crypto [16] va GMSSL [17] standart kriptografik kutubxonalarida joylashgan SM4 manba kodlariga hujumni alohida boshlaymiz. Bizning asosiy hissalarimiz quyidagilar: a) S-box va chiziqli transformatsiya yordamida SM4-ni amalga oshirish uchun, masalan, Crypto-dagi SM4 kodi, biz teskari chiziqli transformatsiya L-1 [18] va ikkita oraliq holatning differensialini ishlatamiz. xatolik yuzaga kelgan joy. Bundan tashqari, biz uchta sinchkovlik bilan tanlangan shifrlangan matn juftligi orqali kiritilgan xatoning holatini xulosa qilamiz. b) T-jadval yordamida SM4-ni amalga oshirish uchun, masalan, GMSSL-dagi SM4 kodi, biz xato sodir bo'lgan joyni aniqlash va T-jadvalidagi noto'g'ri yozuvning o'rnini aniqlash uchun joylashishni aniqlash algoritmini taklif qilamiz. Bizning ma'lumotimizga ko'ra, bu bitta T-jadval yordamida SM4 dasturini buzadigan birinchi xato hujumi. c) Joylashuvni aniqlash algoritmi S-box yordamida SM4 amalga oshirishda ham ishlaydi. a) Biz DMTR [19] tomonidan himoyalangan SM4 ilovalariga qarshi qayta ko'rib chiqilgan PFA tajribalarini o'tkazamiz va E-and-D rejimi hujumni bartaraf etishi mumkinligini isbotlaymiz. Ushbu maqolaning qolgan qismi quyidagicha tashkil etilgan: Biz birinchi bo'limda SM4 haqida qisqacha sharh beramiz. Ikkinchidan, biz III bo'limda S-box bilan SM4-ni amalga oshirishga qarshi PFAning asosiy g'oyasi va jarayonini tasvirlaymiz va IV bo'limda T-jadval bilan SM4-ni amalga oshirishga qarshi joylashishni aniqlash algoritmi va PFA bilan tanishamiz. Uchinchidan, biz V bo'limda hujumimiz murakkabligiga nazariy baho beramiz. Crypto va GMSSL bilan bog'liq SM4 ilovalariga qarshi PFA eksperimental natijalari VI bo'limda ko'rsatilgan. Va nihoyat, biz VII bo'limda PFAga qarshi turish uchun qarshi choralarni taklif qilamiz va maqolani VIII bo'limda yakunlaymiz. II. SM4 ALGORITMINING TAVSIFI SM4 blokining oʻlchami ham, kalit uzunligi ham 128 bit boʻlib, shifrlash ham, kalit jadvali ham Feistelning umumlashtirilgan tuzilishiga asoslanadi [1]. Feistel tuzilmasi tufayli shifrlash va shifrni hal qilish jarayoni bir xil, ammo pastki kalitlar shifrni ochish protsedurasida teskari tartibda qo'llaniladi. Ushbu bo'limda biz SM4 ning shifrlash va kalit jadvali jarayonini qisqacha tasvirlab beramiz va T-jadvalga asoslangan SM4 ni amalga oshirish bilan tanishamiz. A. KRİPSIYA 128 bitli ochiq matn to'rtta so'zga (X0, X1, X2, X3) bo'linadi va to'rtta 32 bitli registrlarga alohida beriladi. Shifrlash jarayoni 32 davrli takrorlash va teskari o'zgartirish R dan iborat. Dumaloq funksiya quyidagicha aniqlanadi: Xi+4 Xi (Xi 1 Xi 2 Xi 3 RKi) , i 0, 1, . . . , 31. Mana, RKi 0, 1 32 i-tur kaliti boʻlib, chiziqli boʻlmagan t oʻzgartirish va L chiziqli oʻzgartirishdan, yaʼni ( ) L(t ( )) dan iborat. Nochiziqli transformatsiyada t , S bilan belgilangan to'rtta S-box qidiruvi mavjud. Ai 1 (Xi 1 Xi 2 Xi 3 RKi) to'rt baytga bo'lingan transformatsiyaning kirish holatini ifodalasin (ai 1, 0, ai 1,1, ai 1,2, ai 1,3) va Bi 1 va Hi 1 mos ravishda t va L ning chiqish holatlari bo‘lsin. t va L o'zgarishlar quyidagicha ifodalanadi: Bi+1 = t (Xi+1 ⊕ Xi+2 ⊕ Xi+3 ⊕ RKi) = (S(ai+1,0)||S(ai+1,1)||S(ai+1,2)||S(ai+1,3)), Hi+1 = L (Bi+1) = Bi+1 ⊕ (Bi+1 ≪ 2) ⊕ (Bi+1 ≪ 10) ⊕(Bi+1 ≪ 18) ⊕ (Bi+1 ≪ 24). Teskari o'zgartirish X32, X33, X34, X35 ichki holatini C 0, 1 128 shifrlangan matnga, ya'ni (X32, X33, X34, X35) (X35, X34, X33, X32) xaritalaydi. Bundan tashqari, L-1 teskari chiziqli transformatsiya quyidagicha aniqlanadi [11]: Bi+1 = L−1 (Hi+1) = Salom+1 ⊕ (Hi+1 ≪ 2) ⊕ (Hi+1 ≪ 4) ⊕(Salom+1 ≪ 8) ⊕ (Salom+1 ≪ 12) ⊕ (Salom+1 ≪ 14) ⊕(Salom+1 ≪ 16) ⊕ (Salom+1 ≪ 18) ⊕ (Salom+1 ≪ 22) ⊕(Salom+1 ≪ 24) ⊕ (Salom+1 ≪ 30). Download 1.24 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling