Java kort

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 17. april 2016; checks kræver 9 redigeringer .

Java Card  er en version af Java -platformen til enheder med ekstremt begrænsede computerressourcer. Sammenlignet med andre versioner af Java er bytekoden, kravene til udførelsesplatformen og sammensætningen af ​​standardbibliotekerne blevet ændret.

Hovedformålet med produktet, som navnet antyder, er brugen i chipkort . I denne henseende blev hovedvægten lagt på understøttelse af standard kryptografiske algoritmer.

Java-kortet giver dig mulighed for sikkert at installere og køre små Java - applikationer ( applets ) på smart cards og andre enheder med en meget begrænset mængde hukommelse . Denne platform giver leverandøren mulighed for at programmere enheder og tilpasse dem til en bestemt applikation. Java Card er meget udbredt i SIM-kort og pengeautomater . Udviklet af Schlumberger [1] , udgivet til offentligheden den 29. oktober 1996 [2] af adskillige virksomheder, herunder Schlumbergers daværende smartcard- afdeling (nu Gemalto ). Java Card- softwareplatformen er beskrevet af specifikationer udviklet af Sun Microsystems [3] . Derudover udvikler GlobalPlatform (en standardorganisation) standarder for sikker installation af Java Card- applets på enheder.

Portabilitet

Java Card beskriver et standard runtime-miljø på smart cards for at gøre det muligt for den samme applikation at køre på forskellige enheder, ligesom Java SE / Java EE applets kører på forskellige hardware- og softwarecomputere, og Java ME MIDlets kører  på forskellige enheder, forskellige telefoner. Som med mere sofistikerede Java-platforme opnås dette ved en kombination af en virtuel maskine (Java Card Virtual Machine, JCVM ) og et standardiseret klassebibliotek, som gør det muligt for appletten at abstrahere betydeligt fra specifikke smartkort- modeller . Dette garanterer dog stadig ikke fuldt ud, at applikationen kan overføres til et smartkort, da der er faktorer som hukommelsesstørrelse, ydeevne eller tilgængeligheden af ​​specielle grænseflader (f.eks. kommunikationsprotokoller eller kryptografiske algoritmer).

Java Card OpenPlatform ( JCOP )

JCOP er et sæt foranstaltninger til at udvikle en enkelt operativsystemstandard med en virtuel Java Card-maskine til stærke identitetssystemer og betalingssystemer. Udviklet af IBM med bred integration med GlobalPlatform , ICAO -organisationer . I dag er det praktisk talt synonymt med JCVM .

Sikkerhed

Datasikkerhed på smart cards var en af ​​topprioriteterne i udviklingen af ​​Java Card . Det leveres af forskellige platformegenskaber:

Forskelle mellem Java Card og Java

Sprog

På sprogniveau er Java Card  en delmængde af de mere komplette Java -platforme : alle Java Card- sprogkonstruktioner er til stede i Java og opfører sig nøjagtigt på samme måde. Desuden bruger standardkompileringssekvensen den normale Java - kompiler (javac) uden nogen særlige muligheder, og først derefter behandles resultatet af et Java Card-specifikt program for at opnå en fil, der kan installeres på et smart card. Mange Java-sprogfunktioner understøttes dog ikke i Java Card, såsom char , double , float og long -typer, det forbigående nøgleord , enumerated types ( enumer ), multidimensional arrays, finalizers , object cloning, streams .

Bytekode

Bytekoden, der udføres af den virtuelle Java Card-maskine, er funktionelt en delmængde af Java-bytekode , men den kodes anderledes for at minimere applikationens størrelse. En Java Card-applet fylder således typisk mindre end en hypotetisk Java SE -applet opnået ved at kompilere den samme kildekode. Denne besparelse af smart card-hukommelse har også en ulempe: manglen på understøttelse af nogle sprogfunktioner (som beskrevet ovenfor) og begrænsningen på størrelsen af ​​appletten. Der er måder at omgå størrelsesgrænsen på: for eksempel ved at opdele applikationskoden i pakker, der ikke er større end 64 KB hver.

Udvikling

De programmeringsteknikker, der bruges i en typisk Java Card-applikation, adskiller sig væsentligt fra dem, der bruges i Java SE. Det faktum, at Java-kortet er en streng delmængde af Java-sproget, fremskynder imidlertid teknologiens indlæringskurve og gør det også muligt at bruge Java SE-miljøet til at udvikle og debugge applikationer. Desuden kan du i fællesskab køre og debugge i det samme miljø både Java Card-applikationen og dens serverdel, som formodes at køre på en pc.

Du bør dog med jævne mellemrum kontrollere, at applikationen overholder Java Card-begrænsninger ved at kompilere den til den relevante bytekode, samt teste den på et rigtigt smartkort for at få en idé om ydeevnen af ​​en rigtig enhed.

Links

Se også

Noter

  1. USAs foreløbige anvendelse løbenr. 60/029.057 indgivet okt. 25, 1996, ikke-foreløbig ansøgningsnr. 957512 indleveret den 24/10/1997, udstedt som patent
  2. Sun Microsystems annoncerer Java Card API , Business Wire, okt. 29, 1996
  3. Oversigt over Java Card -platformen på Sun-webstedet . Hentet 2. august 2008. Arkiveret fra originalen 20. juli 2008.
  4. Ofte stillede spørgsmål om Java Card-teknologi . Hentet 8. august 2008. Arkiveret fra originalen 29. maj 2008.