January 8, 2018

Что такое AxCrypt ID?

Внимание – технический пост ;-) Это только для тех, кто действительно интересуется некоторыми внутренними функциями AxCrypt.

На самом деле, это нечто большее. Технически, AxCrypt ID представляет собой пару ключей RSA-4096.

Пара ключей - это концепция, используемая в криптографии с открытым ключом, или асимметричной криптографии. В этом типе криптографии есть два связанных ключа со следующими свойствами:

  • Открытый ключ – этот ключ не является секретным и может быть использован кем угодно для шифрования данных. Но это не может быть использовано для расшифровки чего-либо! Иногда мы называем это общим ключом.
  • Закрытый ключ – этот ключ должен быть секретным и необходим для расшифровки любых данных, зашифрованных с помощью открытого ключа. Мы иногда называем это секретным ключом.
  • Зная открытый ключ, вычислительно неосуществимо (т.е. невозможно с точки зрения непрофессионала) получить закрытый ключ.
  • Когда мы шифруем любой файл с помощью AxCrypt, мы делаем это с помощью AES-128/-256. Это симметричный алгоритм надежного шифрования с одним ключом, используемым как для шифрования, так и для дешифрования.

    В принципе, процесс, когда AxCrypt шифрует файл, заключается в следующем:

  • Случайный 128- или 256-битный сеансовый ключ генерируется при каждом шифровании файла.
  • Данные файла зашифрованы с использованием AES и сессионного ключа.
  • Сеансовый ключ зашифрован вашим паролем с использованием специального алгоритма переноса ключей, в основе которого лежит AES. Этот зашифрованный сеансовый ключ добавляется к зашифрованному файлу.
  • Сеансовый ключ зашифрован вашим открытым ключом AxCrypt ID с использованием RSA-4096. Этот зашифрованный сеансовый ключ добавляется к зашифрованному файлу.
  • Сеансовый ключ зашифрован с помощью открытого ключа AxCrypt ID любых других пользователей AxCrypt, с которыми вы выбрали общий доступ к файлу. Эти зашифрованные сеансовые ключи добавляются в зашифрованный файл.
  • Чтобы расшифровать файл, AxCrypt выполняет следующее:

  • Возьмите свой пароль, найдите сеансовый ключ, зашифрованный с помощью приведенного выше пароля, и попробуйте расшифровать его. В случае успеха расшифрованный сеансовый ключ используется для расшифровки файла.
  • Возьмите свой личный ключ AxCrypt ID, найдите все сеансовые ключи, зашифрованные с помощью открытого ключа AxCrypt ID, и попробуйте расшифровать каждый. Если кто-либо добивается успеха, расшифрованный сеансовый ключ используется для расшифровки файла.
  • Пара ключей обычно генерируется на нашем сервере при создании учетной записи. Закрытый ключ временно зашифрован с помощью нашего локального системного ключа. Как только вы войдете в систему и установите свой пароль, мы повторно зашифруем его, используя ваш пароль.

    Закрытый ключ, когда он зашифрован, на самом деле, конечно, зашифрован как файл AxCrypt – но только с использованием вашего пароля для шифрования сеансового ключа, как указано выше. Мы не используем никаких открытых ключей для этого шифрования.

    Таким образом, обычно процесс представляет собой:

  • Вы регистрируете учетную запись. Мы генерируем и создаем пару ключей на нашем сервере и временно шифруем закрытый ключ.
  • Вы устанавливаете свой пароль. Мы повторно шифруем закрытый ключ с помощью вашего пароля. На данный момент никто не может восстановить ваш закрытый ключ, не зная вашего пароля. Ни мы, ни кто-либо другой.
  • Вы входите в систему с помощью приложения AxCrypt. Приложение связывается с нашим сервером и загружает пару ключей – как закрытый, так и открытый ключи с сервера. Закрытый ключ хранится в зашифрованном виде.
  • Всякий раз, когда открытие файла с использованием вашего пароля для входа завершается неудачей, AxCrypt расшифрует закрытый ключ и попытается расшифровать сеансовый ключ, как описано выше. Это позволит вам открывать файлы с общим ключом, а также старые файлы, зашифрованные более ранним паролем, если с тех пор вы изменили пароль (примечание: изменен – не сброшен).
  • Изменение вашего пароля AxCrypt ID фактически означает, что мы берем ваш закрытый ключ, расшифровываем его, используя старый пароль, а затем повторно шифруем его, используя новый пароль. Вот как смена пароля позволит вам открыть старые файлы, зашифрованные AxCrypt. Обратите внимание, что они по-прежнему будут открываться с использованием старого пароля! Именно поэтому вы никогда не зависите от наших серверов. Если вы знаете исходный пароль, вы всегда можете открыть файл. Если у вас есть синхронизированная копия зашифрованного закрытого ключа, вы можете открыть любой файл, если у вас есть текущий пароль.

    Все это управление ключами выполняется AxCrypt автоматически, но является полностью прозрачным, пока вы разрешаете AxCrypt получать доступ к нашим серверам.

    Для продвинутых пользователей, которые полностью понимают вышеуказанные механизмы, все это возможно сделать без наших серверов. Можно генерировать пары ключей AxCrypt ID, экспортировать, импортировать их и т.д. Мы никому не рекомендуем делать это, поскольку ошибка или недоразумение легко могут привести к потере данных или невозможности использовать AxCrypt.

    Все вышесказанное является упрощенной версией процесса. На самом деле включено множество дополнительных сведений для обеспечения безопасности и обработки различных сценариев синхронизации, событий сброса пароля и т.д. Для получения более подробной информации ознакомьтесь с technical documentation.

    Попробуйте бесплатно