В 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 |