Введение в криптографию Java

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

Услуги Java-криптографии

Ниже представлены две услуги криптографии:

  1. JCA
  2. ОКО

1. JCA

  • JCA расшифровывается как Java Cryptography Architecture. Это набор классов, который предоставляет возможности криптографии для программ Java. Это стандартная часть среды разработки приложений Java, т.е. JDK (Java Development Kit). JCA был представлен в версии 1.1 JDK. JCA предоставляет базовые функции шифрования для программиста, использующего Java. Криптографические функции включают в себя управление доступом, дайджест сообщения, пару ключей, разрешения и цифровые сертификаты. JCA предоставляет набор абстрактных классов в пакете Java, называемый безопасностью.
  • Архитектура шифрования Java также известна архитектурой провайдера, поскольку она обеспечивает безопасность. Основная цель разработки этой архитектуры - отделить концепции криптографии от их фактической реализации. Для достижения этой независимости от языка программирования используется концепция интерфейсов. Интерфейс - это набор функций, который определяет поведение интерфейса, т. Е. Что может делать интерфейс. Это не показывает фактическую реализацию интерфейса. Давайте посмотрим на пример, чтобы лучше понять эту концепцию.
  • Когда мы покупаем новый компьютер, мы не беспокоимся о внутренних деталях мобильного телефона или ПК, таких как используемые электронные компоненты, чип, ток или напряжение и т. Д. Мы просто использовали телефон или компьютер, не зная, как он работает внутри. Этот набор внутренних операций называется реализацией. У нас есть только представление об оперативной памяти, памяти, аккумуляторе и т. Д. Не внутренняя работа. Точно так же интерфейс работает в JCA.
  • Основной целью этого является JCA, который служит для предоставления подключаемой архитектуры. Это означает, что он позволяет пользователю изменять внутренние данные, не зная интерфейса маршрутизатора. JCA предоставляет концептуальные криптографические функции и позволяет их реализовывать различными способами. Это позволяет различным поставщикам предоставлять свои реализации криптографических инструментов.
  • Для достижения этой Java криптографическая архитектура состоит из нескольких классифицированных классов движка. Класс Engine представляет собой логическую реализацию криптографических функций. В этой архитектуре существует только один класс сигнатур безопасности Java, который представляет все возможные варианты класса алгоритма цифровой подписи. Другой класс, названный провайдером, выполняет фактическую реализацию этого алгоритма.

Ключевой менеджмент

Java версии 2 предоставляет ключевой инструмент, который используется для хранения как открытого ключа, так и личного ключа по отдельности. Ключ инструмент защищает оба ключа с помощью паролей. Ключевые инструменты используют базу данных для хранения ключей, эта база называется Keystore.

Ниже приведен список услуг, предоставляемых ключевым инструментом:

  • Экспортные сертификаты.
  • Импортируйте чужие сертификаты для проверки подписи.
  • Создайте пары ключей.
  • Создает самозаверяющие сертификаты.
  • Выдать CSR (запросы на подпись сертификата), которые необходимо отправить в CA (центр сертификации) для запроса сертификата.

2. JCE

JCE расшифровывается как Java Cryptography Extension. Криптографические функции шифрования данных попадают в категорию Java Cryptography Extension. Архитектура Java Cryptography Extension следует той же схеме, что и архитектура Java Cryptography. Он также основан на концепции классов провайдеров и классов движка, как мы уже обсуждали в JCA. Реализация является настройкой по умолчанию, предоставляемой Sun Microsystems. Поскольку архитектура похожа на архитектуру криптографии Java, мы больше не будем обсуждать то же самое.

Вывод

И криптографическая архитектура Java, и криптографическое расширение Java являются мощными криптографическими архитектурами. Они были тщательно спланированы и разработаны для дальнейшего расширения, а также не зависят от поставщика. Самая большая проблема здесь заключается в использовании Java Cryptography, где мы должны столкнуться с проблемами лицензирования. Из-за своих законов об экспорте Java Cryptography Extension не входит в состав основного Java Development Kit. Теперь ограничения сняты, разработчики приложений могут легко свободно использовать Расширение Java Cryptography.

Рекомендуемые статьи

Это руководство по Java криптографии. Здесь мы обсуждаем Введение в Java Cyuptography и Поставщик Услуг и Реализации для Криптографии. Вы также можете просмотреть наши соответствующие статьи, чтобы узнать больше -

  1. Топ 5 методов криптографии
  2. Криптография против шифрования - основные отличия
  3. Какова цель и преимущества криптографии?
  4. Шифрование симметричного ключа