Криптографічні примітиви — це чітко визначені криптографічні алгоритми низького рівня, які часто використовуються для побудови криптографічних протоколів комп'ютерних систем безпеки. Стандартний примітив зазвичай включає в себе стійкі хеш-функції та функції шифрування.
Обґрунтування
При створенні криптографічних систем розробники використовують криптографічні примітиви як базові структурні елементи. Враховуючи це, криптографічні примітиви призначені для виконання конкретних завдань і характеризуються високою надійністю.
Оскільки криптографічні примітиви використовуються в якості «будівельних блоків», вони повинні бути дуже надійними, тобто відповідати до цієї специфікації. Наприклад, якщо процедура шифрування передбачає розбиття комп'ютерних операцій на X частин, то при виконанні процедури зі значно меншим розбиттям X, криптографічний примітив повідомить про неможливість здійснення цієї операції. Якщо виявиться, що майже кожне виконання криптографічного примітиву дає збій, то протокол, який його використовує, стає вразливим. Оскільки створення криптографічних процедур є нелегкою задачею, тестування їх на надійність займає багато часу та практично ніколи не буде змісту розробляти новий криптографічний примітив, який відповідає потребам нової криптографічної системи. Причини включають в себе:
- Розробник може бути не компетентним в математичних і практичних областях, пов'язаних з криптографічними примітивами.
- Розробка нового криптографічного примітиву дуже трудомісткий і непростий процес навіть для експертів в цій галузі.
- Алгоритми в цій області повинні бути не тільки добре продуманими, але й також повинні бути добре протестовані спільнотою, бо навіть якщо криптографічні процедури з точки зору розробника виглядають безпечними, вони можуть містити помилки. Така пильна увага дає упевненість в тому, що алгоритм дійсно безпечний у використанні, адже документація по безпеці для криптографічних примітивів, як правило, недоступна.
Криптографічні примітиви схожі в певному сенсі на мови програмування. Програміст рідко винаходить нову мову програмування для написання нової програми; замість цього, він використовує одну із вже сформованих мов програмування для вирішення задачі.
Криптографічні примітиви є одним з структурних елементів будь-якої системи шифрування, наприклад, протоколів TLS, SSL, SSH і т. д. Розробники систем шифрування, які не можуть повністю забезпечити безпеку даних, мають використовувати безпечні криптографічні примітиви. Вибір найбільш надійного примітиву, який доступний для використання в протоколі, як правило, забезпечує найкращу безпеку даних. Однак, комбінації примітивів в будь-якій системі шифрування може призвести до недоліків і задача розробників уникнути їх.
Часто використовувані примітиви
- Одностороння хеш-функція, яку іноді називають як однусторонню функцію стиснення — обчислення меншого значення хешу для повідомлення (наприклад, sha-256)
- Шифрування з симетричним ключем — обчислення текста-шифру, що декодується тим ключем, який використовується для шифрування (наприклад, AES)
- Шифрування з відкритим ключем — обчислення текста-шифру, що декодується іншим ключем, який використовується для шифрування (наприклад, RSA)
- Цифровий підпис — підтвердження авторства повідомлення
- Криптографічно стійкий генератор псевдовипадкових чисел
Комбінування криптографічних примітивів
Криптографічні примітиви, самі по собі, досить обмежені. Вони не можуть бути розглянуті належним чином в рамках криптографічної системи. Наприклад, голий алгоритм шифрування немає ні механізму автентифікації, ні будь-якої явної перевірки повідомлення. Тільки при поєднанні протоколів шифрування можуть бути реалізовані декілька вимог безпеки. Наприклад, для того щоб передати повідомлення, яке не тільки зашифроване, але й захищене від взлому (тобто є конфіденційне і цілісне), процедури кодування, наприклад, DES, і звичайні хеш-функції, такі, як SHA-1 можуть використовуватися в комбінації. Якщо зловмисник не знає ключа шифрування, він не може модифікувати повідомлення, тобто значення цифр в повідомленні будуть дійсні.
Поєднання криптографічних примітивів для створення протоколу безпеки саме по собі є цілою спеціалізацією. Більшість помилок, що використовувались (тобто ненадійність в криптографічних системах) обумовлені не конструктивними помилками примітивів (припускаючи, що вони завжди були обрані з обережністю), але й тим, як вони використовуються, наприклад, не правильна розробка протоколу та помилка або недостатньо ретельне виконання. Математичний аналіз протоколів, на момент написання цієї статті, не є повний. Є кілька основних властивостей, які можна перевірити за допомогою автоматичних методів, таких як . Існують навіть методи повної перевірки (наприклад, SPI обчислення), але вони є надзвичайно громіздкими та не можуть бути автоматизованими. Розробка протоколу — це мистецтво, що вимагає глибоких знань та практики; навіть тоді помилки є спільними. Ілюстративний приклад для реальної системи можна побачити на сторінці новин про вразливість OpenSSL тут [ 23 жовтня 2020 у Wayback Machine.].
Див. також
- — список криптографічних примітивів
Посилання
- Levente Buttyán, István Vajda: Kriptográfia és alkalmazásai (Cryptography and its applications), Typotex 2004,
- Menezes, Alfred J: Handbook of applied cryptography, CRC Press, , October 1996, 816 pages.
- Crypto101 [ 12 червня 2018 у Wayback Machine.] is an introductory course on cryptography, freely available for programmers of all ages and skill levels.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Kriptografichni primitivi ce chitko viznacheni kriptografichni algoritmi nizkogo rivnya yaki chasto vikoristovuyutsya dlya pobudovi kriptografichnih protokoliv komp yuternih sistem bezpeki Standartnij primitiv zazvichaj vklyuchaye v sebe stijki hesh funkciyi ta funkciyi shifruvannya ObgruntuvannyaPri stvorenni kriptografichnih sistem rozrobniki vikoristovuyut kriptografichni primitivi yak bazovi strukturni elementi Vrahovuyuchi ce kriptografichni primitivi priznacheni dlya vikonannya konkretnih zavdan i harakterizuyutsya visokoyu nadijnistyu Oskilki kriptografichni primitivi vikoristovuyutsya v yakosti budivelnih blokiv voni povinni buti duzhe nadijnimi tobto vidpovidati do ciyeyi specifikaciyi Napriklad yaksho procedura shifruvannya peredbachaye rozbittya komp yuternih operacij na X chastin to pri vikonanni proceduri zi znachno menshim rozbittyam X kriptografichnij primitiv povidomit pro nemozhlivist zdijsnennya ciyeyi operaciyi Yaksho viyavitsya sho majzhe kozhne vikonannya kriptografichnogo primitivu daye zbij to protokol yakij jogo vikoristovuye staye vrazlivim Oskilki stvorennya kriptografichnih procedur ye nelegkoyu zadacheyu testuvannya yih na nadijnist zajmaye bagato chasu ta praktichno nikoli ne bude zmistu rozroblyati novij kriptografichnij primitiv yakij vidpovidaye potrebam novoyi kriptografichnoyi sistemi Prichini vklyuchayut v sebe Rozrobnik mozhe buti ne kompetentnim v matematichnih i praktichnih oblastyah pov yazanih z kriptografichnimi primitivami Rozrobka novogo kriptografichnogo primitivu duzhe trudomistkij i neprostij proces navit dlya ekspertiv v cij galuzi Algoritmi v cij oblasti povinni buti ne tilki dobre produmanimi ale j takozh povinni buti dobre protestovani spilnotoyu bo navit yaksho kriptografichni proceduri z tochki zoru rozrobnika viglyadayut bezpechnimi voni mozhut mistiti pomilki Taka pilna uvaga daye upevnenist v tomu sho algoritm dijsno bezpechnij u vikoristanni adzhe dokumentaciya po bezpeci dlya kriptografichnih primitiviv yak pravilo nedostupna Kriptografichni primitivi shozhi v pevnomu sensi na movi programuvannya Programist ridko vinahodit novu movu programuvannya dlya napisannya novoyi programi zamist cogo vin vikoristovuye odnu iz vzhe sformovanih mov programuvannya dlya virishennya zadachi Kriptografichni primitivi ye odnim z strukturnih elementiv bud yakoyi sistemi shifruvannya napriklad protokoliv TLS SSL SSH i t d Rozrobniki sistem shifruvannya yaki ne mozhut povnistyu zabezpechiti bezpeku danih mayut vikoristovuvati bezpechni kriptografichni primitivi Vibir najbilsh nadijnogo primitivu yakij dostupnij dlya vikoristannya v protokoli yak pravilo zabezpechuye najkrashu bezpeku danih Odnak kombinaciyi primitiviv v bud yakij sistemi shifruvannya mozhe prizvesti do nedolikiv i zadacha rozrobnikiv uniknuti yih Chasto vikoristovuvani primitiviOdnostoronnya hesh funkciya yaku inodi nazivayut yak odnustoronnyu funkciyu stisnennya obchislennya menshogo znachennya heshu dlya povidomlennya napriklad sha 256 Shifruvannya z simetrichnim klyuchem obchislennya teksta shifru sho dekoduyetsya tim klyuchem yakij vikoristovuyetsya dlya shifruvannya napriklad AES Shifruvannya z vidkritim klyuchem obchislennya teksta shifru sho dekoduyetsya inshim klyuchem yakij vikoristovuyetsya dlya shifruvannya napriklad RSA Cifrovij pidpis pidtverdzhennya avtorstva povidomlennya Kriptografichno stijkij generator psevdovipadkovih chiselKombinuvannya kriptografichnih primitivivKriptografichni primitivi sami po sobi dosit obmezheni Voni ne mozhut buti rozglyanuti nalezhnim chinom v ramkah kriptografichnoyi sistemi Napriklad golij algoritm shifruvannya nemaye ni mehanizmu avtentifikaciyi ni bud yakoyi yavnoyi perevirki povidomlennya Tilki pri poyednanni protokoliv shifruvannya mozhut buti realizovani dekilka vimog bezpeki Napriklad dlya togo shob peredati povidomlennya yake ne tilki zashifrovane ale j zahishene vid vzlomu tobto ye konfidencijne i cilisne proceduri koduvannya napriklad DES i zvichajni hesh funkciyi taki yak SHA 1 mozhut vikoristovuvatisya v kombinaciyi Yaksho zlovmisnik ne znaye klyucha shifruvannya vin ne mozhe modifikuvati povidomlennya tobto znachennya cifr v povidomlenni budut dijsni Poyednannya kriptografichnih primitiviv dlya stvorennya protokolu bezpeki same po sobi ye ciloyu specializaciyeyu Bilshist pomilok sho vikoristovuvalis tobto nenadijnist v kriptografichnih sistemah obumovleni ne konstruktivnimi pomilkami primitiviv pripuskayuchi sho voni zavzhdi buli obrani z oberezhnistyu ale j tim yak voni vikoristovuyutsya napriklad ne pravilna rozrobka protokolu ta pomilka abo nedostatno retelne vikonannya Matematichnij analiz protokoliv na moment napisannya ciyeyi statti ne ye povnij Ye kilka osnovnih vlastivostej yaki mozhna pereviriti za dopomogoyu avtomatichnih metodiv takih yak Isnuyut navit metodi povnoyi perevirki napriklad SPI obchislennya ale voni ye nadzvichajno gromizdkimi ta ne mozhut buti avtomatizovanimi Rozrobka protokolu ce mistectvo sho vimagaye glibokih znan ta praktiki navit todi pomilki ye spilnimi Ilyustrativnij priklad dlya realnoyi sistemi mozhna pobachiti na storinci novin pro vrazlivist OpenSSL tut 23 zhovtnya 2020 u Wayback Machine Div takozhKategoriya Kriptografichni primitivi spisok kriptografichnih primitivivPosilannyaLevente Buttyan Istvan Vajda Kriptografia es alkalmazasai Cryptography and its applications Typotex 2004 ISBN 963 9548 13 8 Menezes Alfred J Handbook of applied cryptography CRC Press ISBN 0 8493 8523 7 October 1996 816 pages Crypto101 12 chervnya 2018 u Wayback Machine is an introductory course on cryptography freely available for programmers of all ages and skill levels