Модулі управління ключами шифрування: пояснення
Що таке криптографічні ключі та чому їх потрібно зберігати в безпеці?
Криптографічний ключ — це рядок даних, який використовується для шифрування даних (щоб зробити дані секретними), їх дешифрування (для виконання зворотної операції), підпису даних (для підтвердження їх автентичності) або перевірки підпису.
Шифрувальні ключі бувають двох видів: симетричні та асиметричні. У випадку з симетричними алгоритмами один і той самий ключ використовується як для шифрування, так і для дешифрування, тоді як в асиметричних алгоритмах ключі відрізняються — ключ, що використовується для шифрування, називається публічним, а ключ для дешифрування — приватним.
Для автентифікації даних зазвичай використовуються асиметричні алгоритми для підпису та перевірки підписів.
Якщо Аліса хоче надіслати секретне повідомлення Бобу, використовуючи симетричну криптографію, вона створить шифровку (або ключ) для його шифрування. Боб отримає зашифроване повідомлення та зможе його дешифрувати, якщо матиме ключ.
Однак виникає питання: як Боб отримає симетричний ключ для дешифрування повідомлення? Очевидно, його не можна передати відкрито, тому потрібен інший спосіб отримання секретного ключа. Це називається проблемою розподілу ключів.
У середині 1970-х років ця проблема була вирішена завдяки винаходу асиметричної криптографії, яку часто називають криптографією з публічним ключем. Використовуючи публічний ключ, Аліса може зашифрувати повідомлення для Боба, використовуючи його публічний ключ. Хоча будь-хто може перехопити це повідомлення, тільки Боб зможе його дешифрувати, використовуючи свій приватний ключ.
У криптовалютах публічні ключі прив’язані до гаманців, і публічний ключ вважається дійсним, якщо в гаманці є криптовалюта.
Щоб Аліса могла надіслати Біткоїн Бобу, вона підписує транзакцію своїм приватним ключем, прив’язаним до гаманця, з якого відправляє кошти. У транзакції вказується, що відповідна сума Біткоїнів має бути зарахована на гаманець з публічним ключем Боба. Майнерам, які перевіряють транзакцію, потрібно переконатися, що в гаманці Аліси є достатньо коштів і що підпис коректний. Водночас їм зовсім не потрібно знати, хто такі Аліса або Боб.
Вкрай важливо зберігати приватні ключі конфіденційними.
Якщо зловмисник отримує доступ до приватного ключа Аліси, він отримує повний контроль над усіма коштами в її гаманці. Хакери багато часу та ресурсів витрачають на розробку витончених фішинг-шахрайств, спрямованих на те, щоб переконати користувачів розкрити свої приватні ключі.
Що таке Multisig?
Multisig, або мультипідпис, передбачає використання більше ніж одного публічного ключа для авторизації транзакції.
Описана вище транзакція Аліси для Боба може розглядатися як транзакція з «одним підписом», оскільки лише Аліса повинна використати свій приватний ключ. У мультипідписній транзакції перевіряється кілька підписів відповідно до визначеної структури кворуму.
Наприклад, якщо Аліса і Боб відкривають спільний бізнес, вони можуть застосувати мультипідпис до бізнес-гаманця. Гаманець їхнього спільного рахунку матиме два публічні ключі. Для здійснення платежу обидва повинні використати свої приватні ключі, щоб авторизувати транзакцію.
Мультипідпис також можна налаштувати за складнішими конфігураціями, найчастіше відомими як N-з-M. Це означає, що для підтвердження та завершення транзакції потрібні N схвалень з M можливих учасників. Наприклад, може бути потрібна більшість схвалень, такі як 3 із 5 або 5 із 8.
Мультипідпис покращує безпеку рахунку. Ідея полягає в тому, що навіть якщо один набір приватних ключів буде втрачено чи вкрадено, кошти залишаться захищеними.
Що таке апаратний модуль безпеки (HSM)?
Апаратний модуль безпеки, або HSM (Hardware Security Module), — це спеціалізований фізичний пристрій, розроблений для збереження ключів у безпеці та виконання криптографічних операцій.
HSM є додатковим рівнем безпеки для захисту приватних ключів. Традиційно його використовують у стандартній банківській справі.
Коли ви вставляєте свою картку в банкомат, він запитує протокол у HSM, який знаходиться у центрі обробки даних банку. HSM зберігає всі криптографічні ключі, необхідні для роботи банку та автентифікації банкоматних карток.
Традиційний банк має мільйони секретних ключів, які необхідно управляти: для кожної банкоматної та кредитної картки, а також для інших внутрішніх потреб банку. Це створює значні труднощі в управлінні ключами, включаючи створення ключів для нових карток, знищення ключів при анулюванні картки, їх ротацію тощо.
Ці функції вирішуються за допомогою HSM інфраструктури банку. Оскільки рівень безпеки банку прямо залежить від безпеки цих криптографічних ключів, HSM спроєктовані так, щоб бути стійкими навіть до внутрішніх загроз.
HSM розроблені для виявлення спроб несанкціонованого доступу; вони можуть самознищуватися при виявленні підозрілої активності.
Для забезпечення додаткових рівнів захисту HSM часто розташовуються в захищених дата-центрах банків.
… *(Переклад продовжується, поки вся стаття не буде повністю переведена з форматом і деталями.)*