Úvod do kryptografie Java

Programování v jazyce Java se stalo nejpopulárnějším jazykem v moderním světě. Používají se v různých oblastech, jako jsou webové prohlížeče, webové servery, aplikační servery, služba zasílání zpráv v jazyce Java atd. Protože se to používá v různých oblastech, mělo by být důležité zabezpečení tohoto jazyka, proto přichází část kryptografie Java. Pro zabezpečení Java se používá několik mechanismů. V tomto článku se podíváme na kryptografické služby poskytované aplikací Java.

Služby Java Cryptography

Níže jsou poskytovány dvě kryptografické služby:

  1. JCA
  2. JCE

1. JCA

  • JCA je zkratka pro Java Cryptography Architecture. Je to sada tříd, která poskytuje kryptografické funkce pro programy Java. Je to výchozí část vývojového prostředí Java aplikací, tj. JDK (Java Development Kit). JCA byl představen ve verzi JDK 1.1. JCA poskytuje základní kryptografické funkce pro programátora používajícího Javu. Kryptografické funkce zahrnují řízení přístupu, přehled zpráv, pár klíčů, oprávnění a digitální certifikáty. JCA poskytuje sadu abstraktních tříd v balíčku Java nazvaných zabezpečení.
  • Architektura Java Cryptography Architecture je známá také pro architekturu poskytovatele, protože poskytuje zabezpečení. Hlavním cílem navrhování této architektury je oddělit kryptografické koncepty od jejich skutečné implementace. K dosažení této nezávislosti programovacího jazyka používá koncept rozhraní. Rozhraní je sada funkcí, které specifikují chování rozhraní, tj. Jaké rozhraní může dělat. Nezobrazuje skutečnou implementaci rozhraní. Podívejme se na příklad, abychom lépe pochopili tento koncept.
  • Když kupujeme nový počítač, nemusíme si dělat starosti s vnitřními detaily mobilního telefonu nebo počítače, jako jsou použité elektronické součástky, čip, proud nebo napětí atd. Jen jsme použili telefon nebo počítač, aniž bychom věděli, jak to funguje uvnitř. Tato sada interních operací se nazývá implementace. Máme pouze představu o RAM, paměti, baterii atd. Ne o interním fungování. Stejným způsobem funguje rozhraní v JCA.
  • Hlavním účelem je JCA, která slouží k poskytování architektury s možností připojení. To znamená, že uživateli umožňuje měnit interní údaje bez znalosti rozhraní routeru. JCA poskytuje koncepční kryptografické funkce a umožňuje jim implementovat různými způsoby. To umožňuje různým dodavatelům zajistit implementaci kryptografických nástrojů.
  • K dosažení této Java se kryptografická architektura skládá z několika tříd nazývaných třídy motorů. Třída motoru je logická implementace kryptografických funkcí. V této architektuře je pouze jedna třída podpisu zabezpečení Java, která představuje všechny možné varianty třídy algoritmu digitálního podpisu. Vlastní implementaci tohoto algoritmu provádí jiný poskytovatel nazývaný poskytovatel.

Správa klíčů

Verze Java 2 poskytuje klíčový nástroj, který se používá k samostatnému ukládání veřejného i soukromého klíče. Nástroj pro klíče chrání oba klíče pomocí hesel. Klíčové nástroje používají databázi k uložení klíčů, tato databáze se nazývá Keystore.

Níže je uveden seznam služeb poskytovaných klíčovým nástrojem:

  • Export certifikátů.
  • Importujte certifikáty ostatních lidí pro ověření podpisu.
  • Vytvářejte páry klíčů.
  • Vytvoří certifikáty s vlastním podpisem.
  • Vydejte CSR (Žádosti o podepsání certifikátu), které je třeba zaslat certifikační autoritě (CA) pro vyžádání certifikátu.

2. JCE

JCE je zkratka pro Java Cryptography Extension. Kryptografické funkce šifrování dat spadají do kategorie Java Cryptography Extension. Architektura rozšíření Java Cryptography Extension má stejný vzor jako architektura Java Cryptography Architecture. Je také založeno na konceptu tříd poskytovatele a tříd motorů, jak jsme diskutovali v JCA. Implementace je výchozí nastavení poskytované společností Sun Microsystems. Protože architektura je podobná architektuře Java Cryptography Architecture, nebudeme o tom znovu diskutovat.

Závěr

Architektura Java Cryptography Architecture i Java Cryptography Extension jsou silné architektury kryptografie. Byly pečlivě naplánovány a navrženy tak, aby umožňovaly další expanzi a byly nezávislé na prodejci. Největším problémem je použití Java Cryptography, kde musíme čelit problémům s licencemi. Kvůli exportním zákonům Java Cryptography Extension nepřichází jako součást základní sady Java Development Kit. Nyní byla tato omezení zrušena, vývojáři aplikací mohou snadno používat Java Cryptography Extension volně.

Doporučené články

Toto je průvodce Java Cryptography. Zde diskutujeme Úvod do Java cyuptografie a Poskytovatele služeb a implementace pro kryptografii. Další informace naleznete také v souvisejících článcích -

  1. Top 5 kryptografických technik
  2. Kryptografie vs šifrování - hlavní rozdíly
  3. Jaké jsou cíle a výhody kryptografie?
  4. Symetrické šifrování klíčů

Kategorie: