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.
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).
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 .
Datasikkerhed på smart cards var en af topprioriteterne i udviklingen af Java Card . Det leveres af forskellige platformegenskaber:
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 .
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.
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.
Java | |
---|---|
Platforme | |
Sun Technologies | |
Nøgle tredjepartsteknologier | |
Historie |
|
Sprogegenskaber | |
Scripting sprog |
|
Java konferencer |
|
Java platforme | |
---|---|
|