У 2024-му році компанія «Extra Systems» розробила в Києві систему консольного комерційного шифрозв'язку, засновану на алгоритмі RSA з ключами довжиною 1024 біта (зрозуміло, архітектура нашої системи дозволяє застосування і інших ключів, у принципі, будь-якого розміру). Відповідно до загальноприйнятих зараз у сучасній криптографії канонів (принцип Керкгоффса та максима Шеннона), алгоритми системи шифрозв'язку Extra Systems Cypher Net є відкритими.
Алгоритм RSA, зважаючи на свою іманентну повільність (навіть у разі застосування вставок мовою асемблера), природно, використовується нами виключно для узгодження між абонентами нашої системи (без будь-якої активної участі в цьому процесі центрального сервера, який просто туди-сюди ганяє байти, не розуміючи їхнього сенсу) ключа потокового шифрування (кожен раз свого для даного конкретного сеансу зв'язку). У подальших подіях, що відбуваються в межах створеного таким шляхом каналу захищеного зв'язку, він (алгоритм RSA) жодної участі вже не бере. Власне кажучи, тут ми (компанія Extra Systems) не винайшли велосипеда - така концепція (для організації шифрованого зв'язку) є сьогодні в усьому світі загальноприйнятою (за винятком винайденої нами "фічі" відмови від обміну в цьому процесі між абонентами їх відкритими ключами, що дозволило нам в результаті створити комерційний шифрозв'язок, який є принципово незламним ніякими способами).
Цей сайт призначений саме для того, щоб довести до відома будь-якої зацікавленої публіки всі необхідні деталі про механізми роботи розробленої нами в Україні в 2024 році унікальної системи абсолютно надійного комерційного шифрозв'язку.
Основною мовою програмування даної системи є мова C. Завдяки цьому вся система Extra Systems Cypher Net є повністю крос-платформною. Однак, для прискорення роботи алгоритмів RSA, наша система, опціонально, містить вставки мовою асемблера (тільки реалізація процедур «довгої математики»), які можуть, за бажанням клієнта, використовуватися лише на деяких найпоширеніших платформах. На тих же платформах, для яких у нас поки що немає цих модулів на асемблері, наша система працює виключно мовою C (без вставок на асемблері система, звичайно, працює повільніше).
Слід підкреслити, що в будь-якому з цих двох випадків криптографічні алгоритми роботи системи Extra Systems Cypher Net будуть ідентичними (оскільки всі вони повністю написані мовою C; асемблерні вставки у вихідному коді Cypher Net відносяться при цьому лише до оптимізації процедур «довгої математики» і ніякого відношення до власне криптографії як такої не мають).
Зазначимо також, що Extra Systems Cypher Net не містить жодних викликів сторонніх бібліотек, і весь її код був написаний нами самостійно від початку і до кінця. У наших модулях міститься лише невелика кількість звернень до базових функцій стандартної бібліотеки мови C (відкрити файл, прочитати файл тощо) та сервісів операційної системи (отримати поточний час, створити потік тощо).
Комплект поставки складається з приймача та передавача (дві консольні програми), відкритого та закритого ключа (стандартна довжина - 1024 біта, але за бажанням замовника може бути змінена), а також цифрових відбитків fingerprint, які ідентифікують клієнта та дозволяють йому встановлювати зв'язок з іншими абонентами мережі через центральний сервер нашої системи.
Щоб мати змогу зв'язуватися з іншими абонентами, клієнт має отримати у них відкриті ключі. Наш сервер, з міркувань безпеки, жодних ключів (у тому числі відкритих) нікому не посилає, не проводиться (що дуже важливо) також обмін відкритими ключами між абонентами в ході узгодження сеансового ключа, що робить нашу систему абсолютно незламною, оскільки зловмиснику просто нічого ламати.
Іншими словами, для здійснення зв'язку між абонентами N і M абонент N повинен мати закритий ключ N, відкритий ключ M, а також fingerprint_N_M (останній видається нами), а абонент M повинен мати закритий ключ M, відкритий ключ N, а також fingerprint_M_N (останній видається нами).
Збереження як закритих, так і відкритих ключів RSA повністю лежить на відповідальності самих абонентів. За умови нерозповсюдження (самими абонентами) цих ключів, наша система забезпечує всім абонентам абсолютний рівень секретності. У разі порушення цього правила якимись окремо взятими абонентами проблеми із секретністю виникають тільки у цих конкретних абонентів, жодним чином не торкаючись при цьому безпеки інших абонентів, що чітко дотримуються правил.
Цифрові відбитки fingerprint містять два абонентські ідентифікатори з випадковою "сіллю", захищені хешом і зашифровані по RSA відкритим ключем центрального сервера. Слід наголосити, що цей ключ ніде не публікується і нікому не передається - саме тому виготовлення відбитків fingerprint здійснюється нами. Така політика повністю позбавляє зловмисника можливості зламати систему і на цій ділянці.
Після ідентифікації абонентів N і M через fingerprint сервер просто пересилає між ними інформацію без жодного втручання у цей процес. Сервер немає ні закритих, ні навіть відкритих ключів абонентів. Узгодження сеансових ключів, таким чином, відбувається виключно між самими абонентами, без будь-якого втручання та участі центрального сервера Extra Systems Cypher Net.
Контент цієї сторінки доступний також англійською, французькою, німецькою та російською мовами.
© Extra Systems, 2024 |