Introduksjon til Java Cryptography

Java-programmering har blitt det mest populære språket i den moderne verden. De brukes på forskjellige områder som nettlesere, webservere, applikasjonsservere, Java-meldingstjeneste, etc. Siden dette har blitt brukt i forskjellige felt, bør sikkerheten for dette språket være viktig, her kommer Java-kryptografidelen. Flere mekanismer brukes for Java-sikkerhet. I denne artikkelen skal vi se kryptografiske tjenester levert av Java.

Tjenester av Java Kryptografi

Nedenfor er de to kryptografitjenestene som tilbys:

  1. JCA
  2. JCE

1. JCA

  • JCA står for Java Cryptography Architecture. Det er et sett med klasser som gir kryptografifunksjoner for Java-programmer. Det er en standarddel av Java-applikasjonsutviklingsmiljøet, dvs. JDK (Java Development Kit). JCA ble introdusert i JDK versjon 1.1. JCA tilbyr grunnleggende kryptografisk funksjonalitet for programmereren som bruker Java. De kryptografiske funksjonalitetene innebærer tilgangskontroll, meldingsfordøyelse, nøkkelpar, tillatelser og digitale sertifikater. JCA tilbyr et sett med abstrakte klasser i Java-pakken kalt sikkerhet.
  • Java Cryptography Architecture er også kjent for leverandørarkitektur ettersom den gir sikkerhet. Hovedmålet bak utformingen av denne arkitekturen er å skille kryptografikonseptene fra deres faktiske implementering. For å oppnå denne uavhengighet av programmeringsspråk bruker den grensesnittkonsept. Et grensesnitt er et sett med funksjoner som spesifiserer oppførselen til grensesnittet, dvs. hva grensesnittet kan gjøre. Det viser ikke den faktiske implementeringen av grensesnittet. La oss se et eksempel for å forstå dette konseptet bedre.
  • Når vi kjøper en ny datamaskin, bekymrer vi oss ikke om de interne detaljene på mobilen eller PC-en, som de elektroniske komponentene som brukes, brikke, strøm eller spenning, etc. Vi brukte bare en telefon eller datamaskin uten å vite hvordan det fungerer inne. Dette settet med interne operasjoner kalles implementering. Vi har bare en ide om RAM, minne, batteri osv. Ikke det interne som fungerer. På samme måte fungerer grensesnittet i JCA.
  • Hovedhensikten med dette er JCA som tjener tilbudet av pluggbar arkitektur. Det betyr at det gjør at brukeren kan endre de interne detaljene uten å kjenne til rutergrensesnittet. JCA gir konseptuelle kryptografiske funksjoner og lar dem implementere på forskjellige måter. Dette gjør at de forskjellige leverandørene kan tilby implementering av kryptografiske verktøy.
  • For å oppnå dette Java, består kryptografiarkitektur av flere klassifiserte kalt motorklasser. Motorklasse er en logisk implementering av kryptografiske funksjonaliteter. Det er bare en Java-sikkerhetssignaturklasse i denne arkitekturen som representerer alle mulige variasjoner av digital signaturalgoritmklasse. En annen klasse som heter leverandør gjør selve implementeringen av denne algoritmen.

Key Management

Java versjon 2 inneholder et nøkkelverktøy som brukes til å lagre både offentlig og privat nøkkel hver for seg. Nøkkelverktøy beskytter begge tastene ved hjelp av passord. Nøkkelverktøy bruker en database for å lagre tastene, denne databasen kalles en Keystore.

Nedenfor er listen over tjenester som tilbys av nøkkelverktøyet:

  • Eksporter sertifikater.
  • Importer andres sertifikater for signaturbekreftelse.
  • Lag nøkkelpar.
  • Oppretter selvsignerte sertifikater.
  • Utsted CSR (Certificate Signing Requests) som må sendes til CA (Certificate Authority) for å be om et sertifikat.

2. JCE

JCE står for Java Cryptography Extension. De kryptografiske funksjonalitetene for kryptering av data faller i kategorien Java Cryptography Extension. Arkitekturen til Java Cryptography Extension følger det samme mønsteret som Java Cryptography Architecture. Det er også basert på konseptet leverandørklasser og motorklasser som vi har diskutert i JCA. Implementeringen er standard som leveres av Sun Microsystems. Siden arkitekturen ligner på Java Cryptography Architecture, vil vi ikke diskutere det samme igjen.

Konklusjon

Både Java Cryptography Architecture og Java Cryptography Extension er sterke kryptografiske arkitekturer. De har blitt nøye planlagt og designet for å gi mulighet for ytterligere utvidelse så vel som leverandøruavhengighet. Det største problemet her er å bruke Java Cryptography der vi må møte lisensproblemer. På grunn av eksportlovene kommer ikke Java Cryptography Extension ikke som en del av kjernen Java Development Kit. Nå er begrensningene opphevet, applikasjonsutviklere kan enkelt bruke Java Cryptography Extension fritt.

Anbefalte artikler

Dette er en guide til Java Cryptography. Her diskuterer vi Introduksjon til Java Cyuptography og Services and Implementing Provider for Cryptography. Du kan også gå gjennom relaterte artikler for å lære mer -

  1. Topp 5 kryptografiteknikker
  2. Kryptografi vs kryptering - Topp forskjeller
  3. Hva er formålet og fordelene med kryptografi?
  4. Symmetrisk nøkkelkryptering