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

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

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

По-долу са предоставени двете криптографски услуги:

  1. JCA
  2. JCE

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, Cryptography Architecture се състои от няколко класифицирани, наречени двигателни класове. Класът на двигателя е логично изпълнение на криптографските функционалности. В тази Архитектура има само един клас подпис за сигурност на Java, който представлява всички възможни вариации на класа на алгоритъм за цифров подпис. Друг клас, наречен доставчик, извършва реалното изпълнение на този алгоритъм.

Управление на ключовете

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

По-долу е списъкът на услугите, предоставяни от ключовия инструмент:

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

2. СКЕ

JCE означава Java Cryptography Extension. Криптографските функционалности на криптирането на данни попадат в категорията на Java Cryptography Extension. Архитектурата на Java Cryptography Extension следва същия модел като тази на Java Cryptography Architecture. Той се основава и на концепцията за класовете на доставчика и класовете на двигателите, както сме обсъждали в JCA. Изпълнението е по подразбиране, което се предоставя от Sun Microsystems. Тъй като архитектурата е подобна на Java Cryptography Architecture, няма да обсъждаме същото нещо отново.

заключение

И двете Java Cryptography Architecture и Java Cryptography Extension са силни Cryptography Architectures. Те са внимателно планирани и проектирани, за да позволят по-нататъшно разширяване, както и независими от доставчиците. Най-големият проблем тук е да използваме Java криптография, където трябва да се сблъскаме с проблемите с лицензирането. Поради законите си за износ, Java Cryptography Extension не влиза като основен Java Development Kit. Сега ограниченията бяха премахнати, разработчиците на приложения могат лесно да използват разширението за криптография на Java свободно.

Препоръчителни статии

Това е ръководство за криптография на Java. Тук обсъждаме Въведение в Java Cyuptography и услугите и внедряващия доставчик на криптография. Можете също да прегледате нашите свързани статии, за да научите повече -

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