Перейти к основному содержимому

108 записей с тегом "Безопасность"

Посмотреть все теги

· 9 мин. чтения

1. Обзор

Блочный шифр с симметричным ключом играет важную роль в шифровании данных. Это означает, что один и тот же ключ используется как для шифрования, так и для дешифрования. Advanced Encryption Standard ( AES) — это широко используемый алгоритм шифрования с симметричным ключом.

В этом руководстве мы узнаем, как реализовать шифрование и дешифрование AES с использованием архитектуры криптографии Java (JCA) в JDK.

2. Алгоритм AES

· 2 мин. чтения

1. Обзор

Advanced Encryption Standard ( AES) — это широко используемый алгоритм симметричного блочного шифрования. Вектор инициализации (IV) играет важную роль в алгоритме AES.

В этом руководстве мы объясним, как сгенерировать IV в Java. Кроме того, мы опишем , как избежать исключения InvalidAlgorithmParameterException , когда мы генерируем IV и используем его в алгоритме шифрования .

2. Вектор инициализации

Алгоритм AES обычно имеет три входа: открытый текст, секретный ключ и IV. Он поддерживает секретные ключи длиной 128, 192 и 256 бит для шифрования и расшифровки данных блоками по 128 бит. На рисунке ниже показаны входы AES:

· 4 мин. чтения

1. Введение

RSA, или, другими словами, Ривест-Шамир-Адлеман , представляет собой асимметричный криптографический алгоритм. Он отличается от симметричных алгоритмов, таких как DES или AES , наличием двух ключей. Открытый ключ, которым мы можем поделиться с кем угодно, используется для шифрования данных. И частный, который мы храним только для себя и он используется для расшифровки данных.

В этом руководстве мы узнаем, как генерировать, хранить и использовать ключи RSA в Java.

2. Создайте пару ключей RSA

Прежде чем мы начнем фактическое шифрование, нам нужно сгенерировать нашу пару ключей RSA. Мы можем легко сделать это, используя KeyPairGenerator из пакета java.security :

· 8 мин. чтения

1. Обзор

Keycloak — это сервер управления идентификацией и доступом с открытым исходным кодом, который защищает наши современные приложения (такие как SPA, мобильные приложения, API и т. д.). Keycloak поддерживает стандартные отраслевые протоколы, такие как язык разметки подтверждения безопасности (SAML) 2.0, единый вход (SSO) и OpenID Connect Connect (OIDC) .

Кроме того, в этом руководстве мы узнаем, как использовать Keycloak для аутентификации и авторизации веб-служб SOAP с использованием OIDC (OpenID Connect).

2. Разработайте веб-службу SOAP

Вкратце, давайте узнаем, как создать веб-службу SOAP с помощью Spring Boot.

· 5 мин. чтения

1. Обзор

В этой статье мы увидим, как инициализировать и настроить OkHttpClient для доверия самозаверяющим сертификатам . Для этой цели мы настроим минимальное приложение Spring Boot с поддержкой HTTPS, защищенное самоподписанным сертификатом.

Дополнительные сведения о библиотеке см. в нашей коллекции статей на OkHttp .

2. Основы

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

· 10 мин. чтения

1. Введение

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

2. Что такое модель контроля доступа?

Общим требованием для приложений, особенно веб-приложений, является то, что некоторые действия могут быть выполнены только в том случае, если заданный набор условий, также называемый политикой, удовлетворен . Хорошо, это очень общее требование, поэтому давайте приведем несколько примеров:

  • Интернет-форум: только участники могут публиковать новые сообщения или отвечать на существующие
  • Интернет-магазин: обычный пользователь может видеть только свои заказы
  • Банковский бэк-офис: менеджер по работе с клиентами может управлять портфелем своих клиентов. В дополнение к этим портфелям он/она также может управлять портфелем другого клиента менеджера по работе с клиентами, когда он/она временно недоступен (например, в отпуске), и первый выступает в качестве его коллеги.
  • Цифровой кошелек: платежи ограничены до 500 долларов США с 20:00 до 08:00 часового пояса пользователя.

· 27 мин. чтения

Готовитесь к созданию безопасной аутентификации в своем Java-приложении или боретесь с ней? Не уверены в преимуществах использования токенов (и, в частности, веб-токенов JSON) или в том, как их следует развертывать? Я рад ответить на эти и другие вопросы для вас в этом уроке!

Прежде чем мы углубимся в веб-токены JSON ( JWT ) и библиотеку JJWT (созданную техническим директором Stormpath Лесом Хэзлвудом и поддерживаемую сообществом участников ), давайте рассмотрим некоторые основы.

1. Аутентификация против аутентификации по токену

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

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

1.1. Почему жетоны?

· 3 мин. чтения

1. Обзор

В этом руководстве мы узнаем, почему файлы политик неограниченной надежности Java Cryptography Extension (JCE) не всегда включены по умолчанию. Кроме того, мы объясним, как проверить криптографическую стойкость. После этого мы покажем, как включить неограниченную криптографию в разных версиях Java.

2. Файлы политики неограниченной прочности JCE

Давайте разберемся, что означает криптостойкость . Он определяется сложностью обнаружения ключа, которая зависит от используемого шифра и длины ключа. Как правило, более длинный ключ обеспечивает более надежное шифрование. Ограниченная криптографическая стойкость использует максимальный 128-битный ключ. С другой стороны, неограниченный использует ключ максимальной длины 2 147 483 647 бит.

Как мы знаем, JRE сама содержит функции шифрования. JCE использует файлы политик юрисдикции для контроля криптографической стойкости . Файлы политик состоят из двух банок: local_policy.jar и US_export_policy.jar . Благодаря этому платформа Java имеет встроенный контроль криптографической стойкости.

· 4 мин. чтения

1. Обзор

В этой быстрой статье мы представим обзор различий между хранилищем ключей Java и хранилищем доверенных сертификатов Java.

2. Концепции

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

Обычно это защищенные паролем файлы, которые находятся в той же файловой системе, что и наше запущенное приложение. Формат по умолчанию, используемый для этих файлов, — JKS до Java 8 .

· 10 мин. чтения

1. Обзор

Secured Socket Layer (SSL) — это криптографический протокол, который обеспечивает безопасность при обмене данными по сети. В этом руководстве мы обсудим различные сценарии, которые могут привести к сбою рукопожатия SSL, и способы его устранения.

Обратите внимание, что наше введение в SSL с использованием JSSE более подробно описывает основы SSL.

2. Терминология

Важно отметить, что из-за уязвимостей безопасности SSL в качестве стандарта заменен протоколом безопасности транспортного уровня (TLS). Большинство языков программирования, включая Java, имеют библиотеки для поддержки как SSL, так и TLS.