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

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

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

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

1. Обзор

В этом кратком руководстве мы научимся читать список доверенных сертификатов в Java на быстрых и практических примерах.

2. Загрузка хранилища ключей

Java хранит доверенные сертификаты в специальном файле с именем cacerts , который находится в папке установки Java.

Давайте начнем с чтения этого файла и загрузки его в KeyStore :

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

1. Обзор

В этом коротком уроке мы познакомимся с командой keytool . Мы узнаем, как использовать keytool для создания нового сертификата и проверки информации для этого сертификата.

2. Что такое keytool?

Java включает утилиту keytool в свои выпуски. Мы используем его для управления ключами и сертификатами и хранения их в хранилище ключей. Команда keytool позволяет нам создавать самозаверяющие сертификаты и отображать информацию о хранилище ключей.

В следующих разделах мы рассмотрим различные функции этой утилиты.

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

1. Обзор

Безопасность является первоочередной задачей в мире разработки приложений, особенно в области корпоративных веб-приложений и мобильных приложений.

В этом кратком руководстве мы сравним два популярных фреймворка Java Security — Apache Shiro и Spring Security .

2. Немного предыстории

Apache Shiro родился в 2004 году как JSecurity и был принят Apache Foundation в 2008 году. На сегодняшний день он видел много выпусков, последним на момент написания этого является 1.5.3.

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

1. Обзор

Служба аутентификации и авторизации Java (JAAS) — это низкоуровневая структура безопасности Java SE, которая расширяет модель безопасности от безопасности на основе кода до безопасности на основе пользователей . Мы можем использовать JAAS для двух целей:

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

В этом руководстве мы расскажем, как настроить JAAS в примере приложения, внедрив и настроив его различные API, особенно LoginModule .

2. Как работает JAAS

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

1. Обзор

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

2. Контрольные суммы и общие алгоритмы

По сути, контрольная сумма — это уменьшенное представление двоичного потока данных.

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

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

1. Обзор

В этом руководстве мы узнаем о механизме цифровой подписи и о том, как мы можем реализовать его с помощью архитектуры криптографии Java (JCA) . Мы рассмотрим KeyPair, MessageDigest, Cipher, KeyStore, Certificate и Signature JCA API.

Мы начнем с понимания того, что такое цифровая подпись, как сгенерировать пару ключей и как сертифицировать открытый ключ в центре сертификации (ЦС). После этого мы увидим, как реализовать цифровую подпись с помощью низкоуровневых и высокоуровневых API-интерфейсов JCA.

2. Что такое цифровая подпись?

2.1. Определение цифровой подписи

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

1. Введение

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

2. Сравнение с java.util.Random

Стандартные реализации JDK для java.util.Random используют алгоритм Linear Congruential Generator (LCG) для предоставления случайных чисел. Проблема этого алгоритма в том, что он не является криптографически стойким. Другими словами, сгенерированные значения гораздо более предсказуемы, поэтому злоумышленники могут использовать их для компрометации нашей системы.

Чтобы преодолеть эту проблему, мы должны использовать java.security.SecureRandom в любых решениях по безопасности . Он создает криптографически стойкие случайные значения с помощью криптографически стойкого генератора псевдослучайных чисел ( CSPRNG ).

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

1. Обзор

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

2. SecurityManager в действии

Это может быть сюрпризом, но настройки SecurityManager по умолчанию запрещают многие стандартные операции :

System.setSecurityManager(new SecurityManager());
new URL("http://www.google.com").openConnection().connect();

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

1. Обзор

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

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

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

2. Особенности языка

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

1. Обзор

В этом руководстве мы представим обзор Spring Security Kerberos.

Мы напишем клиент Kerberos на Java, который авторизует себя для доступа к нашей службе Kerberized. И мы запустим собственный встроенный центр распространения ключей для выполнения полной сквозной проверки подлинности Kerberos. Все это без какой-либо внешней инфраструктуры благодаря Spring Security Kerberos .

2. Kerberos и его преимущества

Kerberos — это сетевой протокол аутентификации, созданный Массачусетским технологическим институтом в 1980-х годах и особенно полезный для централизации аутентификации в сети.