Если у вас возникли вопросы, или появилось предложение, напишите нам

KeyMaker

Инфраструктура открытых ключей хорошо описана и позволяет решать огромное количество прикладных задач криптографии. Как это обычно и случается, вслед за этим начинаются ограничения, которые подчас вызваны самыми базовыми принципами технологии.

Так, в системах PKI (или ИОК) камнем преткновения стал принцип сохранения в тайне секретного ключа (ключа подписи, закрытого ключа). В большинстве систем закрытый ключ знает и может использовать только владелец этого ключа. Противное является нарушением условий эксплуатации, компрометацией ключа и должно приводит к немедленному принятию мер.

Иногда же появляются задачи, в которых использовать ключ должен не его владелец, а кто-то другой, естественно, при наличии некоторого контроля со стороны владельца. На первый взгляд задача кажется невыполнимой: никто не должен знать чужой закрытый ключ. Однако в основе кажущегося парадокса лежит лишь несколько слишком образное восприятие связанных с криптографическими ключами понятий, а отнюдь не объективное противоречение.

Дело в том, что «знать» ключ для того, чтобы его использовать, вообще говоря, не надо. Более того, в большинстве случаев ключи никто и не «знает». Словом «знать» разработчики жаргонно выражают смысл «иметь возможность произвести операцию».

Теперь задача звучит менее философски и более решаемо: необходимо, чтобы строго определенную операцию с ключом мог совершать не его владелец. При этом ему не должны быть доступны ни одна другая операция с этим ключом, кроме разрешенной, а разрешенные операции должны учитываться (в зависимости от сценария работы в конкретной системе это может быть контроль кратности операции, или просто записи о каждом факте операции или тех или иных ее параметрах).

Для решения подобных задач было создан продукт KeyMaker. Это небольшое USB-устройство, которое позволяет записать в него мастер-ключ и производить с ним необходимые криптографические операции (в общем случае – генерацию производных ключей) прямо внутри устройства. Мастер-ключ неизвлекаем, в KeyMaker нет функции его экспорта.

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

KeyMaker имеет встроенный журнал работы с ключами. Журнал находится во внутренней памяти устройства и доступен пользователю только на чтение. При необходимости всегда можно отследить, сколько раз мастер-ключ использовался, в каких функциях и, опционально, с какими данными.

Опционально устройство может содержать встроенные часы реального времени, что позволяет ввести ограничение на время использование ключа.

Владелец мастер-ключа при записи ключа в устройство может задать максимальное количество операций с ключом.

Таким образом получаем следующую логику работы. Владелец мастер-ключа хочет передать своему агенту полномочия по реализации некоторых криптографических функций. И не хочет, чтобы агент распоряжался мастер-ключом сверх делегированных ему полномочий. Владелец записывает мастер-ключ в устройство и передает устройство агенту. Агент выполняет необходимые функции в пределах ограничения по количеству использований мастер-ключа и времени его использования. Владелец мастер-ключа при необходимости проверяет журнал устройства. Таким образом агент выполняет криптографические функции, но не знает мастер-ключ.

Также в устройство можно добавить функцию «идеальности»: в этом случае устройство будет работать только на тех АРМ, которые были в нем предварительно зарегистрированы. Проверка соответствия АРМ списку разрешенных будет выполняться процессором устройства, список разрешенных АРМ – содержаться во внутренней памяти устройства, аналогично тому, как это реализовано в «Идеальном токене» или «Секрете Особого Назначения». В этом случае агент сможет выполнять только доверенные ему криптографические операции только на тех АРМ, которые ему заранее разрешены.

от базиса
к надстройке
Кнопка связи