Programozható chipkártyák kriptográfiai alkalmazása1 Berta István Zsolt Mann Zoltán Ádám
A programozható smartcardokról Az utóbbi években immár Magyarországon ismegszokottá vált, hogy az emberek tárcájában és!telefonkártyák, "!# $ % # &' ( )* +$ , -) %0 . /(21 # , 3 4 * * # &4 ,5"% $ 6 3 -$ %78# , 3 4 * * # &4 ,9 #-'8 ) * &$ :' ,;# &4 ,
,:>( az képessé? @ A A @ BDC @ EF@ B A@ G H@ I E@ AJ0KB L MN@ I @ E2AO IQPR G I S B T IUA VB W EXWG I @ I H@ I V EAZY@ ?[]\ R L A L FL I I S C P B S R C L]L B AL B YL R ^`_ B B @ I N @]W ES B B aUR G S Y`b I S R _O Rdc @ B FP B ?P G S R _`AL ML \ _ I S R R L B`_ RdC @ EF@ B A@ G kártyákat. A kártyák piacán egyre nagyobb számban vannak jelen a chipkártyák, melyek mikroelektronikai áramkörök felhasználásán alapulnak. A Bull 1979- ef gih j k l m n f n n fof pqf p k r`s h t u vt uw f k k l u t t x p s kyt f gzf p hf l h{ t n | { } { n ~ r f p | f gox l u gex gdxvt uw f k k l ut r j h p gow s vf g f p | f l h f zf n n f p
logf r e s l u g | p nh f p p f g r f em l x n r f u p z{ k gx h"n f w g s hx sq f } p zj k azonban csak a 80- 0 D U ] ` i ¡ ¢ £ ¤ integrálását. Egy smartcard programozható, ha rendelkezik processzorral és memóriaegységgel, továbbá képes felhasználói program futtatására. Ezek a kártyák sokcélú eszközök, s az, hogy végül ¥`¦ § ¨¡¦ ©ª« © ¬ ® ¯ ° ±² ²¨ ³ ´i¨ © ¨ ³ ¯ ¨ µ·¶ © « ²"¸ ¹ § µ« ¯ ¹ ¥`º«Qª¹ ¬ ® © ±²»±³ ® 8¼¨ § ½¯i² ¦ ¾o¿<²® § ³ À® ² ³ ±¯ « ° ¼¹ ²Á ¨ ¨ µ À¨ Á § ³ Á ² ¨ ²Ã¨ µ À¯ « © © Ä© ¬ ® ¥yÅ ³ Æ µÁ ¨ ¯ ´¶ © ±Â® ë ¬q¦ ± ³ Ç ¹± ³ ± ³Â¨ § ¦ ¸ Á § ¦ ® ² º« különböznek. úton kommunikálni ÈÉ ÊÌËÍ É Ê ÎÏ`Ð Egyetlen Ñ Ê ÎÒ2Ò Ï` Í Ó Ô Õ tud Í Ó ÖØ × Ù É ÊÒ Ú Ù Ó ÛÜÍ aÖkülvilággal: Í Ô Ô Ð Ó ÎÝ ÞßÙ É aÊÒ kártyaolvasón à É á à Ñ Ô"Ï áâkeresztül. Öã áäåæáÐ Ó Ô ÊÍ kibocsátója definiálhat rajta különféle file-okat, s minden file-hoz megadhatja, milyen jogosultságok, jelszavak szükségesek a hozzáférésükhöz. Ezek után a kártya birtokosa, a felhasználó, magával hordozza a kártyát, s különféle kártyaolvasókba behelyezi azt. Az çè é ê ë ìQí é î è î ï î ð î ïdéñ òî óDê]ðô õ ï öô ÷Qè ñ é ê øê ï ç ð ðê è ùç è é ê ë ë ê ð î ï ùÃë – jogosultságainak függvényében – esetleg ír is. ú þ ú þ ü û ú ü ú ú ü ý ÿ Egy programozható kártya eseú û ü ý`þ ÿ vagy az olvasóhoz kapcsolódó számítógép – ! "$# % &! ' ( )' %+* , szoftver maga. A program üzeneteket kap az olvasón keresztül, azokat dolgozza fel. A kártya 6 2 76 2 86 9 0 :;8< = > ? 0 : 6 7 @?A8 5< 2 < . < 7< .AB< C D 1D 0 26E70 ? . / 0 1FG:H6 9 kibocsátója a kár. /0 132 4 5
6 B6 . @7 6 .I74 : JJGK : 6 7L< 9 < 7 < 16M8 5 < 2 < . < 7 < 1N 7 6 OP7@ 1QR7 < ? < : 9 . S22 < T< .R< 2 4 ? 1D U
Chipkártyák programozása
VXW YZ [ \ ] Z [ ^_ `A\ a ] b c d `Z d_ `_ ` efgMh ` d W ia [ j _[ [ k W `l W m g a \ \ a gn[ endelkeznek. Például 8 kilobyte
EEPROM igen op q r s tr uwv xy már s z p {{| t x } u soknak ~r t ~p u p mondható. tGt 3u o qProcesszoruk o } z tp p ist xviszonylag p vLq y
{p tG} v lassú, tt os Legy v bizonyos yu p t}Rp
u u o q z q w
q r tq s G z q zwu t t oyv xLM
r
rtyákra programot assembly írhatunk. Csakhogy ez nem így van. A kártyakibocsátók rettegnek attól, hogy elkötelezik magukat egy kártyatípus mellett, s ezzel kiszolgáltatottá válnak az adott kártyagyártóval szemben. Az
G ; H I ; I A n ¡ |
assembly nyelve gyökeresen különbözhet egymástól.
1
Ezen anyag publikálásra került a Networkshop2001 konferencián, 2001. április 20.-án. Helyszín: Sopron, Nyugat-Magyarországi Egyetem.
Java Card A Sun Microsystems a Java nyelvet azért alkotta meg, hogy legyen egy nyelv, amely platformfü ¢ ¢ £ ¤ ¥ £ ¦§¨X©G£ ¥ ¥ ª £ ¥« £ ¬ ¥ £ ¨ ¤ £ ¤ ¤¯® ¥ °® ¥ ©G® ± ¨ ² °&®³¥ £ ¢ ° ´¥ µ ¦¶µ ¶¶·® ¸ ¹ º » ¤ £ ° ¤ ¼¸ ± ¬ ¼ gépeken futnak. A java appletek – ½L¾ ¿À Á$Â Ã Ä À Å ÃÀ Ä À ÆGÄ À Å Ç À Æ È Ä É Æ Å ÀAÄ Ê Á Ë Á Ä Ë ÌEÌ ¾ ÌÀ Ä – ÍÎ Ï Ï Î Ð Í Ñ Ò Ó Ñ ÍÔIÕAÑ ÖÎ ÏwÎ × ØÑ Ð Ù Î Ï Ï Ñ × Î ÐÓMÓ ÚGÛ Ü Ù Ò Û Ü ÝGÙ Î Í Ñ Ð Ù ÞÎ Ù Ó ß à Úá Ù â ×ã ä ÐÎ ÍGÑ Ó åÙ Î Ü ÚGã Ó ß Î Ù Î Ó Î ÐÖ Î Ù Ý Ñ k fel a kérdés, hogy miért ne lehetne ez a platform is Java kompatibilis. A Java Card API is az objektum orientált szemléletet követi. Minden egyes applet, amit a kártyára letöltük, egy-egy objektum, amely önálló életet él. Rendelkezik attribútumokkal és metódusokkal. A külvilág számára látható metódusok pedig argumentumként egy APDU-t (az az æèç éadategység, ê ëç ì íî ï ðï|amit ñnï ò aóHPC ï ô õküld ï ô öGï ÷ elê øLa õ kártyának ê ò ë íê ò ïë ç egy ô ç ùú csomagban) ë û ø û üç õýöGç ükap. ç ë ç|ïGõþ ðç ë õç ÷ ÿ¯ùò ì ò ï ö÷ megírja a programot, s lefordítja byte-
célra a teljesen ingyenes JDK is. Ezek után a programot egy – most már kártyaspecifikus – konvertáló 0 1 2 3 42 3 56 7 8 6 programmal 9 :: 9 21 2 ;1 2 <1 lefordítja = >: ? @ 39Bgépi A : 9 6 3 kódra. C 9 6 D7 EGF S végül egy – ! " # $ % & $(' ) * % +, - ./ / – WinCard - A Microsoft kártya
HJILK M N OP OQ R ST U T NWV X Y X X RBTZ[B\[]P ^GV M K Q K _Y M K `aV b cN V Q V N V dM K TK U^X V U V d R Y M K ` eT X fU T g hi jjk
októberében hivatalosan is bejelentette a Smartcards for Windows rendszert. A tervek szerint lnm o l p q r l p stuvm w x p y x mLp z m w z qa{ t | } ~ uu z x w l} y
st m -os rendszereinek: szerepet fognak kapni a logon folyamatban, az Outlook részeként az üzenetek hitelesítésében, valamint az elektronikus n n Lkereskedelemben. G B v¡ ¢ ¢ £ ¤¥ v dolgokban is a Microsoft-féle kártya természetesen a Microsoft-világhoz illeszkedik. Itt a kártyán nem objektum van, hanem applikáció. Nem metódusai vannak, amiket meghívhatunk, hanem egyetlen belépési pontja van, amit el lehet indítani. Nagyon hasonlít egy exe file-hoz, amely paramétereket kap, s ezek függvényében találja ki, mi a feladata. Tehát, hogyha egy komplex programot hoz létre a felhasználó, amely egymástól je¦ § ¨ © ª § ¨
§ ¦© « ¬
® ¨¯° ± ²¯ ³ ©© ³ ¬ © ³ ¦ ´³ µ ¶³ ¯ ¯ ·¬¸ ³ ¹ º
»·µ¼¦ « © ¬ §L½ ´ § © ²¾®ª · ¯³ © ¿¼³ µL³ ÀÀ¦ ± ¯Á ° ± ²Â³ ¨¶B¸³ ¹ º
több applikációt ír, amelyek egy-egy metódusnak felelnek meg.
Biztonsági megfontolások Å Æ Ã Ñ Ê Ð Ô Ì Ë ÕÒÄ Ö × ÆÛ Ë Ø Ù Æ ÚØ ÃWÆÅØ Ð Ë ×Æ A Û lehetséges támadáà ÄÅ Æ Ç Æ ÈÉÊ Ë Ê Ì ÅÍ ËÏÎ Ã ÄÈÄÐ Ë Ð ÆÄÃ Ñ Ë Û ÒÆ Ë Ó Ô Ñ Ô ÅÆ ÔÉÆ Ö ×
Ç Ä Ö Ô Å Æ ÔÃ Ñ Ô Ì Ë Ü Í ËÉÊ Ã Ñ ÔÎ Í Ç ÝGÆ ÞBßÌ ÌÊ ÅÙ Ê Ö Ê Ç Ê Ç Ê Ì
ÝGÊ Ã Ñ Í Ç ÒÊ Ë àÌ Å Ô Ñ Ô Å Æ ÔÍ ÃÇ ÄÖ Ô ÅÆ Ô biztonságról. Fizikai biztonság Egy kártya fizikai manipulálásához rendszerint igen komoly és költséges felszerelésre van szükség (mikroszkóp, lézeres vágóberendezés, mikromanipulátor stb.), ami csak nagyon keveseknek áll rendelkezésre. Ennek ellenére fel kell arra készülni, hogy valakinek sikerül celláról (PIN) a á â ã â äå âæâ cellára ã ç è éê ë ìkiolvasni í î î í éï ð íWñ az ï î ê ã EEPROM í ð äòóè î ôtartalmát. åWõ öîGí ì ÷ â ð ëÍgy é ÷ øaá ùlegfontosabb ì ì ô ï é ÷ úç ë ð èî információkat éâ û A fizikai biztonság megvalósítása a kártyagyártó feladata. Logikai biztonság Ha logikai biztonság elleni támadásról beszélünk, a kártyát az I/O portjain keresztül a fizikai ü ýþ ÿ ÿ þ þ þ þ þ þ þ þ ü þ ü þ þ þ þ þ þ visszaadott outputok tartal"! #$% &(' % % ) * + )-, .-' /01*32 45, .-61 * 01 *879 . 9 * *3) % * ) % *8' :
#
% ;=<>7! ? * @,
ACB D E B F G H B DJIB KML NO D P D Q NR SI QT AU V ACB D E
K
QWXG E G V D Y P D ON V Z [ K\SCE P Z V ] DJD B ^B [_P QU V B D G O`F ]
képünk is). Ezen biztonság megvalósítása a programozó feladata. A kártya számára gyakran csupán kriptográfiai módszerek jelenthetnek biztonságot. acb d e b f b f g f d hi j k l"mn h opg f o g f l-g q r n gs ntr k dh uvhf kwo mf x n dh uvhq r ntl-b f f b k kwg qj f yb ue g z k g k r l-g vr n ho {C| fCg8k r l-g v| ug o}ub l~n q r i l-g q g kb f u yb
A mi fejlesztésünk Bevezetés
"
8
~ J_ 5J
-
w -
w
_
segítségével ¡ ¢ £ ¤ ¥ ¦§¢ £ hoztunk ¥ ¤ ¨© ª"« ¬ létre ¡_§ kártyán ¡ ® £ ¤ ¯¦ ° ¨ futó alkalmazásokat. E fejezet elején leírjuk a készített ± ² ³-´ µ ¶ ´ ¶ · ² · ¶ ¸C¹3· ² º » ´ ¶ ´ ²¼³-· µ · ² ´ ½´ ¶¿¾ · À´ º ¶ Ámajd  ½Ã}½elkezdjük Ä µ ¶ ÅÃ}½ Á» Æ Â az Ç · » ´5általunk µ · ² º ´ ± ´ ½È ² ´ É´ ² ² · Àapplikációk · µ » Ê=²¼´ º ´ ½ eredményeit is e fejezetben ismertetjük. Ezután bemutatjuk egy alkalmazásunkat, a kártyán futó, kulcsot a kártyában biztonságosan tároló DES programcsomagunkat. Elmagyarázzuk Ë ÌÍÎÏ Ð ÑÒ Ó Ô Ï Õ ÖÈÐ× Í Ô Ñ ÎÒ ØwÑ Ð Ë-Ò × Õ Ò Õ Ù ÚÌÜÛ=Ý Þ Ó Îß Ó Ñ"à Ò Ó áß Ð â Øã Ó ä Ñ-à Ò Ó ÚÓ Ò Õ Ï Õ å\æ3Ò Ë"ç Õ ß Õ Ù çÌÖ"Ò â Ò Ø è Ð Þ Ë-ß é\Ð Ò é ê Õ Ð Ï éÏ ÔÒ Ó áÞ é ë ß Ø\Ô ß Ó äÐ ê Õ Þ Õ Õ çÌ5Ë-Ò é\ß8á Ñ Õ Ò Ó Ò Ð Ð Ï é5ìÑ â Õ ÞÐ ê Õ ã Ð ã Øß Ì\Í Õ=à íÑ Ó Ó Ï × Ï Õ å Néhány szó a kártyáról A kártya, amivel mi foglalkoztunk, a Microsoft Smartcard of Windows 1.0 nevet viseli, s î ïïï_ð"ñ ò óCô ñ õCö ÷õCøù ô ñ ú ø ú ú ñ ûcû ü3õý ú öþ ÿ ü ûý ÷ ú5ö ø ñ-ú ö ú ø ÿ ò ÿ ô ú ÿ ÷ ô ÿ ÿ ¼ÿ úú
* 7 2 0 8, 8N 1 Néhány +-, ./ 0 1 nappal 2 / 0 34/ 5!e/ d3/ 1 6 7 5 1 8 9, : ;4 < ; = 7 >" > ? @ 2 , /@ < A !< 1B/C "D E#6$ < %9 F GB 5H / 5H& < ; = 7 >" "8 >I / ' ."( % 7 J 0 ' 1K (/#) LM
beleszállt ebbe az üzletbe is. A másik ok pedig az, hogy a Sun már benne van. Voltunk olyan szerencsések, hogy hozzájutottunk egy Microsoft-féle WinCardhoz, s erre alkalmazásokat is fejleszthettünk. Ez a kártya képességeit tekintve a jelen kor csúcsának felel meg. A WinCardon egy 8 bites RISC AVR MCU processzor van, s rendelkezik emellett 32 kilobyte Flash Program Memoryval az applikációk számára, 32 kilobyte EEPROMmal a tárolandó adatok számára s 1 kilobyte SRAM-mal a változók, dinamikus adatok, stack, stb
O P Q RQ S T UWV#X YZ X [ \ X P ] \_^ `a Q bbQcX d egfHhBiMjBkl\ S ] m ^ `d S Q n ] T ]oR aX [ X ^ X \ X ^p^ Q R4`d T ^ q koprocesszorral is, mely megvalósítja a DES, triple- rs#t u vt w!u t xHwzy {}|}v#|M~
A WinCard egy intelligens kártya, képes több applikáció tárolására, elkülönítésére. Futtatni viszont egyszerre csak egyet képes. Ugyanakkor használható hagyományos ISO 7816-4 kártyaként a szabványos APDU-kkal. 127 felhasználót tud elkülöníteni egymástól, s rendelkezik filerendszerrel is, amelyben minden file-hoz hozzáférési listákkal adhatjuk meg,
H4 4 4
"
"
#
¡ ¢
filerendszer. DES csomag Az általunk kártyába plántált DES csomag nem más, mint egy futtatható állomány, amely képes az inputját egy beépített titkos kulcs segítségével titkosítani, vagy a titkosított adatból
£ ¤H¥ ¦ ¥ § ¥ ¨ ©£ § £ ¨ ª ¨« © ¬ ¬ ¤ £ ® ® ¯ ¨ £ ° © ± ²³ ¦ ª ´ ¦ £ µ¶£#·¸ «¥ ¨ ·¥ ¤ ¹ ¨ £ ¬ ¯ ¨ ¬ ª ·£ ¨·º ³¥ ¬B«º ´ ¦ ¥ »£ ¼ ¨ £ °© ½ • ¾#¿ À¿ Á¿ Â# à  ÄÅÆ Ç Â È Æ É ÊKËHÌÍ ¿ ÍHÎÉ Ï É Á Ð Æ!Ñ É Â È Æ È Ï ÉÉÄ ÒÓ ¿  Ŀ Ì ÔÕ Ö Â ¿ -ot a kártya titkosítja, s kimenetként ezt küldi ki az outputra. • Nyílt az e× Ø Ù ÚÛ × Û Ü}Ý Þ ÚÛ ß Ø Û à áãâ ä âæå ç ß ç Þè éæêç Ü ë é ë ß ç!ç!ìí ÚÛ Ü ìÛ Ø îHï ð Ü Û szöveg ï Û Ù4Û Þ visszaállítása: Û Ü ï ×ç#ì ë ß Ü ð ç#Ú Ý é é Ø ç ë × × ñ Ü ò ççæÞ ð ñ × ÜKé Ø íÚ Û óÛ Ü à
•
ôõ ö ÷ øùú û üö û ý ø ú¡þ ÿ û ù þ Hú ú ÿzþ ú ö ú û ú ÿzþ ø ú û ø ý ý ú ö!ö ú ú û ú ö û û þ û 4þ
kártyában tárolt kulcsot egy a felhasználó által meghatározott értékre. Input: a "l" parancs. Output: a NO_ERROR üzenet. •
! " # $&% '( ) " * " " ( * +-,.! " "/) # "
egy DES kulcsot. Erre a kártya kripto-koprocesszorának véletlen számgenerátor funkcióját használjuk. A DES kulcs ezután 56 db random bit lesz. Input: az "r" parancs. Output: a NO_ERROR üzenet. DES titkosító rutin természetesen futhatna a PCMiért jó, hogy kártyán valósítottuk meg? Ahogy végignézzük a fenti négy parancsot, rögtön
0$1 2 354 6 758 9 9 :;<2 : 9 9 8 =/> ? :; 2 8 @@A1 2<= B CB 6 0B 3 D E F G H I JK LM N O(P L I Q H O R I JPSJT R UF UJ&E N OV WXJ Q Y G OQ H.F Z [ J \F ] ^/J I MF [ W ^ Q ^ WXWXJQ Y G O Q _` F a Ez természetesen nem a véb c d b c egf h c i.jlk-m -n bárhol helyeznénk is el a kulcsot, egy támadónak lenne esélye arra, hogy megtalálja azt. Feltételezésünk az, hogy a kártya biztosítja azt, hogy a rajta
n o p q rq s t u vtwAx y z{| }~q w n vq s | tw t s s p n s u }
keresztül lehet hozzáférni. Amennyiben ez tényleg így van, akkor - mivel nem definiáltunk “a kulcs kiolvasása” - senki nem fér hozzá a kulcshoz. Tehát a kulcs a kártyán biztonságban van - legalábbis a
<
szerint. <¡g¢ £ £¤¥ ¦¨§¡ © ª « ¦¬ gban? A ®¯ ° ± ² ³´¶µ&· ¸¹º ¸» ·.º ° ° ¼/½&º µ ¾ ² ± »
1. Ábra – A DES csomagunk PC-s felhasználói
a támadó képtelen hozzáférni a kulcshoz, hanem a kártya gazdája is az. Hiába van a zsebében a kártya, nem képes kinyerni a
¿ À ¿ Á ÂÃÁ ÄÅ Æ Ã Â ¿5ÇÈ Å Å È ÉSÆ Ã Ê Á ËÊ Ã Ì ÍÎ Å Í À-¿ ÄÏ Ð Ê&Ê Ì ¿ ÑÒÀ Ó È ÅSÊ.ÁÎ Ô ¿ ÕÊ<ÍÈ Ö×ËÊ Ð Å Ê ÍÏØÙÁ À Ê Ï Í À-Ö Ê Ú Î ÇØÅSÊ kulcsot, a DES feltörése. Ezzel a rendszerrel célunk Û Ü Ý Þ ß(à á Û ß azâ ãegyetlen Û á â ä ßà å æ.esély Ü ç â è Þ éannak ä á å à êXmegszerzésére ë äÜ â ì Akkor a legtitkosabb valami, ha senki nem ismeri. Az sem, aki beletöltötte a kártyába. Ennek módszere a véletlen kulcs generálása. Ha a kártya felhasználója ezt a parancsot adja ki
í î ï ð ñ ò ï ð ó ô õ öï ÷øï ÷ ÷ ùð/ú û üñ õ ö(ïX÷ý þú ñ ÷ ú û ÿ í î ú ð ú ñ ú ÷ ÷ ú ð ú öóú ÷ ú û ÿ ÷
• • •
kulcs van a kártyán a kulcs, ami a kártyán van, nem azonos azzal a kulccsal, ami eddig volt a kártyán a kulcs
bitjeinek
eloszlása egyenletes
! " # $%
adja senkinek. entitásnak & ' () * ki ) + ) &,/. 01 2 ' 3 Így +-& 1 1 )egyetlen + ) 45"6 7 89 )/* ) 4:' ; -) * még a kártya kibocsájtójának - sem lehetnek - a DES ereje és feltételezéseink alapján <= > ? @ AB C D@B AE FGAH IH > JH ? K
L/MN O P Q P R R S TU"P TV Q Q W XY O V R V ZW [ \ ]]U^_R ` P a P N[ b` cQR ` V UdRU"P T eW Q ^R Y O MW O ^"f%gihkj R d UW T lZ [
segítségével. Úgymint: hitelességvizsgálat, rejtjelezés, dinamikus jelszavak. S mivel DES esetén titkos kulcsokról van szó, felmerül a kulcs kulcsgondozás problémája is, amiben a kártya igencsak hathatós segítségünkre lehet.
A kártyán egy közönséges DES kódolót valósítottunk meg. A bemenete a 8 byte-os nyílt szöveg, kimenete pedig a szintén 8 byte-os rejtett szöveg. Paramétere a titkos kulcs. Ezt a rendszert egy PC- m no pq o r sutr m v wx y z r {%|v}r~no p q o r s m v r
G| y s" y q r gyakorlatban DES " is használható eszközt. $¡£Ez ¢ a program ¤ ¥
építkezik ¥-¦ a §} ¨ dobozból, ©
ª «¦s egy §
~ ¬
¢ ~ } "® ª® / ¯ G ° ±~ °
szöveget feldolgozni, s esetleg valamilyen formában a bemenetre visszacsatolni. (pl.: CBC, MAC) ² ³ ´9µ ³ ´9µ ³ ´¶ · µ ¸ ¹Gº»£µ ¼ µ ½"¾ ¼µ ³ ´k¶ ¿ÀkÁ  ¼ ¸ ÃÄ µ ¼ Åà ¶ · ÆÇ ¼ ÅÃ È É9µ ¶ · ÀÊ · È«À ¶ · Ë È µ È È ÌÆ ÀÍà ½"Î ¸ µ
È Ç ½Ã ¶ · À ¿Ï ÐÃ%ÃÅ Î È µ ¼ µ ¶ ¶  ³ Ð Î · ¶ ³Ç ¼ à ÈÄ ¾¾"½"ÉÏ¿· Ã È Ã Î ÈÈ µ À Î Æ È Åµ È Ñ ÌÀÇ È Ò
Ó9ÔÕ Ö ×Ø ×Ù$ÙÛÚÜ~ÝÕ ÞÖ ß$ÙÛà Ö áÙ$á$âãä Ø ×Ô×$Ö ÙÛÚÜi×Õ Hitelességvizsgálat A hitelességvizsgálat megvalósítható úgy, hogy ez az információdarabka egy 56 bit hosszú DES kulcs. Amennyiben A å æ çiè ç ç è é ê ë ì íè î íë î è ç è ï ï æ ð ñì è éè î è îGï ì è ê è î éèò ñç óè éë B félnek, akkor megteheô õöi÷ø ùú ô ÷ú û ü ý þý ÿ ú ÷ ú ô 1. 2. Az MAC-t odaírja az üzenet végére. 3. Elküldi az így keletkezett új üzenetet.
!#"$&%' (# )
* + ,.- , , - / 0 1 2 /1.3 2 - 0 - 4 /+65 2672 - /- 4 81 4 - , - 3 3 + 9+ 4 :;/- <>=- , , <6? 3 4 4 - / / 1 - :@<#1 / 4., - A ? , 5 3 2 4 5 /1 5 5 2672 - /- 4A+ 9 + 0 ,.56=5 BC 4 4D'EGF -t, s a titkos kulcs segítségével újra legenerálnia azt. Mivel
Ha B
ugyanaz a titkos kulcsa, mint A-nak, s az üzenet is ugyanaz, ugyanarra az eredményre kell jutnia, mint A-nak. Az MAC számításának elmélete a késleltetés jobb oldali ábrán található.
HGI J J K L M J L N O P N.Q R STJ K R Q UR SWV XYTI X L[ZG\.]^@JGL[X Y_ R N XR K X I V6R SR N R N L K L X N `a P I JbUR V6R SR Ndc JeL KfR P K
kimenet modulo 2 összege adja. Ha a teljes kimenetet vesszük, akkor a kapott eredmény a CBC rejtjelezés, de ha csak az utolsó nyolc byte-ot, akkor azt nevezzük MAC-nek. Az MAC egyfajta kriptográfiai
k-1. kimenet kulcs
4 56 7 87 9 :6 7 ; <
k.
bemenet
szöveg
DES mod2
k.
kimenet
A legutolsó 8 byte az MAC
3. Ábra – MAC számítás
m$m g n ~ s m n g h# h h ~ s v s s |i ug h GGk
'& n np g hr hs g g i h g m j ~ k s g i lm m m k k g l no#g n&p q[q#r rstip'g i[s r s u r vs mx s wGh y. z{w&p u |r h m } -Price1992 { { 6 ¡#(5.5.)] ¢G£.¤¥¦ ¦¨§ a kulcs van. Voltak ©ª « ¬ ® ¯° ± ² ³ ´ µ¯t³ ±#¶ · ¸ ² ±[ª ¶ µ¹² ± ¶ ª.¯ ª º » ª ³G¼¶ ® »¶ ± ¸ ² ¸ ª ¶G´ ² ½@¹¶ ¾ ¶ ® ¶ µ º ²² ¶ ¬¶ ² ² ¸ · ¿ ² À ¯ ¯ ¶ µ¸ ².Á° ® º ³ ¯ ¯É° Ê ª@Ë Ì ºÍ³ Ê ©Ì@³ ɲ α Ï º ³ Î ® Ð ¼³ ºÑ@«Ò  à ª ª ®¬ Á¶ ¬¬¶ µ#³Ä#¸ ª ¸ ² ¶ ¯&Å ¶ ¾ ¶ ± ¶ º ¬¶ µ[Æ ª ǵ ¯Â È - Ó.ÔÕ Ö× Õ Ø ÙÛÚ Ü Ý Ü Ý Ó Ó Þ ×Þ ßÜ àGá Ø Õ á Ö à â ã6Ø à&â äÔåá@æÝ Ö ã ã Öã Õ Øá ç Õ èÜ lése, a kártyás alkalmazás kódoló feldolgozása. Továbbra is é ê ëì í î ïð ñ ò óé'ô ê í î õ ï ö[eszközként ìxé ð ÷ ö øìxù ñ való ï øú ö û használata, ïù üýê í ü6ù ÷ ù sö ù aí6ìxazþ;output ÿ -s program számára a kártyában tárolt titkos kulcs. Így a kártya szükséges az MAC generálásához v
Rejtjelezés DES kulcs. Az esetében a rejtjelezést !a" DES # függvény $%végzi $ & %el, melynek ! ' )paramétere (+*-,%.0/1 a2 titkos 3 rejtjelezésnek
=> ?A@ ? B C = ? DB E F GIH J K J ? @ > LJ @ MNG OPRQRST> @%GQRSAQAU+V1W XY= J ? ? Z H [G X]\%P0^_Y Z `)Z O = E B GI> a b ? cNG dIW H [J ? mi e%fIagRkártyán hRikj l m l kialakítottunk. n o p q r s nIn qt l u)qqv
wxl y z{ f l p um qv v p l | o | l m l f } eTu l ~l r l o l oNr zq m n%u z o lx q{ { f { y
blokkokra tördeljük, s ezeket egyenként rejtjelezzük a DES segítségével. A CBC (cipher block chaining) [Davis-Price1992 (4.2) _
1
0 I I _
1 I I ¢¡£ I¤ A¥
¢ I ¦ § ¨ ©0¦
_0 x I )ª § ©¦ -ª § I 0 ) «R ¦ ¤ +
I
blokknak mindig más és más lesz a képe.
Hozzáférésvédelem Hozzáférési ¬ ® ¯ °± ² ¯ ³ ®´ ± ± ´ µ ¶ · ¸ ¯ ´x¸ ¯0¹ · µ ¯ º ² ³ ¯N² »¶ ² ¸ µ ¼ ´ ² • titok segítségével (PIN vagy challange and response) • tárgy segítségével • biometriai módszer segítségével Mi, mivel kártyával foglalkozunk, a tárgy segítségével való hozzáférésvédelmet valósítottuk meg. ½0¾ ¿ÀIÁ Ezzel  à ¾ Ä ¾)Å Á Æ„áttoltuk Æ Á ÀIÇ ¾AÄ]aÈ Àlovat Ä Ã Â É Ä Ã Ê a¿ Ë szomszéd ÌÄ Ë]̾ Ì É È Á utcába”: ÌÁ ËÍ0È% Πà Ïhogyan Ð Ä ËÄ Â%È Á azonosítja ÀÒÑ ¾ à  ¿ Ë¿ Æ Ìmagát Ä Ë Í0Ó Ï Ð_a ÀIkártya? Ä Ã Ä ÊÄ titok. ÔÖÕI× ØÙ
Ú Û Ü ÝI× Ø ÞÝ ß × à áãâà × äÛ Ý ß × àå æ Ø çÚ0è Ýè Ý Õ× à èAâ%é × Ú Ý ß ê ë ì0â í Ü à î Ý â í_Õè ï)ðè äî ÝÝ züksége rá,
hogy megtudja azt. Arra van csupán szüksége, hogy megtudja, ismerjük-e a jelszót. Ezt hogyan érhetjük el? Az általunk megvalósított megoldás a „kihívás és válasz” módszer ñ ò ó ô õ ñ ö óö ÷ò ø ùAú û÷ ò õ úò ü ú ö ýý)ò þÿ úû ú 1. A rendszer küld a kártya számára egy kihívást. Ez nem más, mint egy r véletlen szám. 2. A kártya megkapja a véletlen számot. Nem csinál vele mást, mint kódolja a k1 titkos kulcsa segítségével, s visszaküldi Ek1(r)-et a rendszernek. 3. A rendszer is kódolja r-et a saját k2 titkos kulcsa segítségével, tehát kiszámítja Ek2(r)-et. Ha a két titkos kulcs megegyezik, a kártyától kapott eredmény is megegyezik majd a saját számításúval. Így ha a rendszer azt kapta, amit várt, akkor nyugodtan felismerheti a kártyát. Mi a DES csomagra támaszkodva valósítottuk meg ezt a dinamikus jelszó kezelést. Így a jelszó (a k1 kulcs) nem más, mint egy 56 bit hosszú DES kulcs. A PC- ! "# %$ & ' 1. generál egy véletlen számot 2. kódolja a számot a kártya segítségével 3. kódolja a számot a saját titkos kulcsa segítségével 4. két eredményt (*)összehasonlítja + ,.- / - 0 1.+ 2 34)a+ ,6 579 8: ,%;<= = > ?@= > A 16B(2 2C )4DC E F= > G 2 = + H - I;<H 3J)+ ,%57K8: , - =L= > A 1#, véletlenül MNOP Q RS T U megegyezik, VUPWX T Y U VP Z [ nagyon \ VS ] ^Y Qkicsi. ] X V Y _Q Így Y ` ez az azonosítási módszer elég biztonságosnak (a Digitális aláírás acb d e d f g h d ij h g k l g im n d h og mpiq rh s i tvu h
l w mbi x w l w q yw m6h u f w x
z.{bi x w l |}l w bw f dw h qu ~x w h u i m q
az volt, hogy kidolgozunk a kártyán egy nyilvános s egy titkos kulcsú kriptográfiát alkalmazó csomagot. Míg az utóbbi próbálkozásunkat hosszas küzdelem után végül siker koronázta, az 4
c
v %
c ¡
¢
³ «.¤ § ´ µ ¬ ¶ · ±«.¸ °º¹¸ § ±&»¤ ¼ ¦ ¬ ¶ª¥±»¸ ° £ ¤ ° ¤ ¥½»´ £ § ² ¦ ± §¤ « fej£ ¤ ¥ ¦ § ¤ ¥ ¦ ¨© ¦ ª«%¬ ®#¯¤ ® ¬ °%± ± ¨%®² ¨ készült el. A kártya már eljutott a végleges változatig, de ahhoz, hogy kódot írjuk rá, ¾ ¿ ÀÁ¾  à À Ä ÁÆÅ Ç È È#É ÊÅ ÄËvËLÌ Ç Í Å Ç ¾ ¿ È ÁÎ Ï Ä Ð Ç ¿ Ç È Ï Ç ÑË # Ò Ó É Ç ÅÁ Ë ÔÕ ¾ Ê Å Ë È ÖË ÄJÁ ÊÒ%ÊÅ ÐÆ×Ê Á ØÒ.Ç ntáltsági
hibákba s hiányosságokba ütköztünk. Így a kártya RSA funkcióját nem voltunk képesek Ù ÚÛÜÝ Þ ß à&áâ ß ã ä å æ½ç è é è ê ëì íî ï ð ñ ò ì ê#ó ô õvê ï ê í òð%í ëè ö ð ÷Jøù ò ê òí ò è è ê úç û.ó è õÆè ó üó ê î ý6ê ó ð ñ ïçLþï ô ï ê é è ï ð%ç è é ÿ ù é ð ê ñ ê meg [Schneier1996 (2.6.)] lehet valósítani DES segítségével. A, B, C, D, és a többiek személyek, akik hitelesen akarnak kommunikálni egymással. Mindannyian rendelkeznek saját titkos kulccsal. T egy kitüntetett személy, akiben a többiek mind megbíznak, s megosztották vele titkos kulcsukat. A hiteles üzenetet kíván küldeni B- ! " # $ % & '(& ) *# ! + # & , - + . 1. A titkosítja az üzenetét a kulcsával, s elküldi T-/0 1 2(30 4 0 5 6 7 898 :,;: 0 /0 < = >(0,8 : <? @ A(BC D E B-nek kíván üzenni. 2. T ismeri A kulcsát, kibontja az üzenetet. Elolvassa azt, majd hozzáteszi azt, hogy tanúsítja, hogy az üzenet A-tól jött. (ezt onnan tudja, hogy A kulcsával kódolták) 3. T titkosítja az üzenetet B kulcsával, s elküldi B-nek. 4. B tudja, az üzenet T-F G H I F F JKL M F B kulcsát csak T ismeri rajta kívül. Az üzenetben pedig benne van, hogy A küldte, s ezt T írta, T pedig soha sem hazudik. Ez a módszer megvalósítható PC-s program csomagunkkal, de tulajdonképpen az MAC generálás funkciót használja (vagy a CBC/ECB rejtjelezések egyikét), tehát nem különbözik a
N O P PQ N R S
Kulcsgondozás A kulcsgondozás jelenti kulcsok • generálását • tárolását • továbbítását
TVU WYX Z[ \ ]_^ [ ` [ [ a b ` ] cdceX ` f b g ` hicj] ^ k(^ ] ] l m n o ] p q h g q Xdr9o c b b,f ^ rl h g b ^ [ ^ hn ` [ [ c [ X q p `
s lenne. DES st u v w xkulcsot y z { t|} { viszont ~ w x v w z y minden w *V gond y
v } nélkül |9 y u } v generálhatunk, vt } v } x( *} x } itt z nincsen x 9 s,szükség x w |s különösebb v} -ot, s ez lesz a mi DES kulcsunk. Azzal, hogy véletlen biteket választunk, nem követünk el nagy hibát, 56 hiszen a DES 29 db kulcsa j között összesen e¡ 16 a gyenge kulcs. [Schneier1996 (8.1)] -tal van, hanem azzal, hogy valóban véletlennek ¤ ¢ £ ¥ ¦ ¨ § £ 9 © ª d ¦ i £ « ¬ ¦ ® i £ « ª £ ¯ ² °
± ³_´ ͪ ´Ã µ ϶ Ëd ¢ ´Ô ¢ Î «· tekinthetjükº » ¼ ½ ¾ ½ ¿ À ½ ¿ » ÁÂ Ã Ä ÅÆ_Ç È É Ê Å Æ¨ËÃ Ç Ì ÍÎ Ï Ê È Ð Ñ Ò Ó Æ_Ï Î ÍY Â Î Ê ª ´ ¸ Õ ¹ Ö Ä mációink. Î Ê,Æ É É Æ Á×Âà Azt Ä Ådƨtudjuk Ç È É Ê Å È Ø(csak Ò ÔÆ
Ù Ö Ô Î Ê Ô Î Ï·Õ Ú È ÍÛÄ Î Ï Î É È Ê Ã ÉjÆ Ç Ê ÌÈ Ô Ñ ÕdÈ Ô Ô È Õ È Ê_Ç Ñ Ï Å Î É Ó Ü ÇÝ²Þ Ê Á*Ó Ò ÔÍÎ Ä Ê Î É Ù Î Ú Î Ê Ê²Ç È É Ê Å ÆÎ Õ Î Ê Ö ÏßÆ
támadónak véletlen szám generálásához (s ennek megismeréséhez) sincsen joga. A kulcsok tárolására adhatunk egy rövid választ: Ez a smartcard technológia lényege. A
à áâ ã ä å â ã æ ç è â ä(ä éê â ë æ ç ì è í î î(ï ì9è é ê å à ç èä ð ã ç ê ð à ð ã âVí à
ñç ã æç ò ð à ð ã â×ä â ê ð ê ä ð è*è ó ô èõ â ê ö ë ð ÷â ìì ï á
mások, mint ezt a célt szolgáló biztonságos eszközök. A dolog lényege annak biztosítása, amit aøú biztonságról ù û ü ý þ ù ý ÿ szóló þ fejezetben ù ù¤ù ý leírtunk. þ ý ý ý ÿ ù ýù ý ý ý ý þ ù þ ý ý kezekbe: • ! " #$ % % & ' $ & % #($ ) % * + & , - .$+ - // 0 % , % & &1( 23($ - tyába bekerült. – Ez szervezési kérdés. (Véletlen kulcs generálása esetén azt csak a kártya ismeri.) • Ne lehessen a kulcsot fizikai eszközökkel megszerezni! – 4.5"687 9 : ; <6 = <9 : ; >3? @ A @ A B B C = @ D • Ne EF"G lehessen H IG H JG F K aL.kulcsot M N O PN F Q aR Skártya N IR LTG8filerendszeréhez U VK O M W SG IG8I XF X való L.Y N H N közvetlen H L L R U N Z Z Z hozzáféréssel kiolvasni! – Ne lehessen a kulcsot az alkalmazástól megkapni! – [T\] \] ^ _ ] ^ `] \ a bc d e fd \ g h id _j] feladata. Ha nem írjuk ki a kulcsot soha a kimenetre, az nem fog magától kikerülni oda. A kulcs továbbítása történhet: •
• •
Smartcard segítségével, tehát a kulcsot hordozó személy a zsebében szállítja a kártyát. A nem történhet. A kulcs csak a PCk PC lmn irányába o pq8r s t u paq8kártyából: v n l w x ynn z"ilyen q z"n l a z mi{ programunkban | } u1q } pq oq ~
•
Hálózaton keresztül: a mi programunk ilyet sem tesz. Ezen egyébként segíteni lehetne
1
Összefoglalás, munkánk értékelése A mi eredményeink
¡ ¢ £ £ ¤ ¥ ¥ ¢£ ¦¨§ © ª © £ ¥ © £ © © ¡ © ¥ «© © ¬¤ ¥ ¥ © ¥ © ® ¡ ¥ © © «°¯ £ ¥ ¢ ± ¥ ¤ ³²© « ´ ¦ ± ¥ ¤ ¤ ° ² ¥ µ ¢ © ¡ © ¥ « © © °§ © ² ©¶´¢ ¥ ·®¸.£ ©
megvalósításához kifejlesztettünk egy DES kódolást-dekódolást megvalósító, s kulcsokat gondozó segítségével próbáltuk megvalósítani a ¹º » ¼ ½ ¼ ¾ ¾ ¿ À3Ákártya-PC º  » à ¾ Ä » Å ¾ Å Æ Ç programcsomagot. ÈÉ »Ê ˺ ½ ½ ¿ Ì ¿ » Íμ ½ ϼEnnek È Ð • hitelességvizsgálat • rejtjelezés • hozzáférésvédelem - dinamikus jelszavak • digitális aláírás • kulcsgondozás Ezek közül hármat közvetlenül megvalósítottunk. Kártyánk képes rejtjelezni, s a
Ñ Ò Ó Ô Ò Õ Ö× Ø ÓÖÕ ÔÙÚ ÑÛ ØÝÜ Þ ß Û à Û Ø Ø Ú Ô Û ßáÛ à à Û â Ò Þ ã âÞ äÞ à à Û ß åÛÕçæéèêÞ â Õ ÖÞ Ù ë Øì Û à Ø ã íØ Û Ô î ß Ø Ú ÔÚ åÛ à
azonosítani a kártyát. A kulcsgondozás viszont nem egy aktív funkció, amit egy rendszer képes „megtenni”. Ez egy problémakör, egy gondolkodásmód, melynek figyelembe vétele létfontosságú. Kártyánk védi, s ki nem adja a kulcsot senkinek. A kulcsot csak használni (esetleg generáli) lehet, megismerni ïð ñòó ô õöø÷ ù nem. ú ÷ û ü ó8öøûý ù ý þ ÿ ó ý ö ó ÿ ð ÿ õ÷ ù ö ó þ ÿ ö ð üó.þ ð þ ô þ ù ú ö ý 3ö ÷ ó ÷ þ ð ÷ û ÷ ð dokumentáltsági hibái folytán nem tudtuk beüzemelni a kártya RSA funkcióit. Klasszikus digitális aláírás megvalósításához viszont nyilvános kulcsú titkosírásra van szükség.
! "$#% &' ( * ) + + ,-& + "/. ! % + 0 + % % 1 0 + 2 1&* 3 ! + 4 56 . 8 7 3 , 90 :% + 0 + ; ( ) ! 0 & 4 &*0 ! :78% & +; " )+ <
használhatja. Az öt pillér elvi megvalósíthatósága egy mai smartcardon A smartcardok biztonságrechnikai alkalmazások terén magasan felülmúlják a PC- = > ? @BA hártányuk a sebességben rejlik. Elég hamar nyilvánvalóvá vált számunkra, hogy kriptográfiai
C D E F E G E HIG E J K L/M N O H P N1O*H Q J G RO*SJ TM E N N U T J Q 8 V O3 L P C*SF E C E L G Q F G-C D E F E G E H J EBG Q C O N U HTW X O G Y LHZ [ F D P F E \IF E XE G N K \ E N]F E L L E H E G S8K F WQ YF_^ `\ \ D K L R H K L GC E \ DO F a N b G O L P c_W E*E U E I H NE8 V E N N K \ E H J P G P HQ L
aluli lenne. dfe g h i jkh l jmj n o n h l p e n p h l n p:qsr_t
lassú. Ez a u vw x yyz { | y8{ }$z ~ ~ v v~1 ~
{ }z ~ {*|x -kártya u x }3 w kommunikáció. |v } u { | u 8~ v |I Ez|ugyanis ~ u- $ ~ { yw x } v | ~ { |Bz uu ~ } |B u w
B| v*v ~ y8 ~ ~
} w | ~z u u8} u~ y8{ ¡ ¢ £ ¤ £ ¥1¦ §8 ¨© ¤ ª « ¦ ¨ ¨ ¥1 8 ¬ ¤ ¬ ¤ ¨ ¬
kkal. Sajnos az egész nyílt szöveget el kell juttatnunk a kártyára, s ez így lassú. Mi 100 byte-os
® ¯ °± ² ¯ ³ ´ µ ¶8´ 3· ¸ ¹ ¯ º$» ¼½ ¾ ¸ ¾©· ¿ ¯$¿ ± ± ¹ ´ ³
»µ
® À ® ¾ ¾-¾ ½µ ¾ ½ Á¾ » ¾ Á ¸±  ¾ ® » Ã8Ä1» ¾ ´ À ´ ± ± ¿ ¯ Å » ¹ ± ¯² À ® ¾
Ë Ò Ò Ì*ã ê Í_Ð Î ä Ð -nÛ Ý Ðtömörítvényt és ÏÐ Ñdigitális Ò Ó ÔÏÕÖaláírás Ô × Ø Ù Ú3Û Ò esetén ÜÝ Þ ß à jobb Ù á*Û3aâ Ú helyzet. ã ÔÕÖÕ Ò Ú Itt Ø ä å âmegtehetjük, ÏÕ Ù ãÖÕÏã ä Ú × hogy ã ÝÕ Ù æ1Æ Ç ç'È É èÊ é B ëÞ Ù Þ ìíÐ Û$Õ
ô ð *ø ù /û õöî ÿ ý ý ô ð ù õsÿ ð ø ø ò $ù ÿ ð ÿ ø óÿ õ
î ïð ñ ò ó ô õöô ÷ ø òúù ð û ó6üý î þ÷ õÿ î
alkalmaznak kártyákat, igaz, programozható képességüket még nem használják ki. Úgy is lehet mondani, hogy a kártyákat eredetileg erre a két módszerre találták ki. Mindkét esetben kicsi az adatforgalom, s kevés számításra van szükség, így az új ötletek is viszonylag könnyen implementálhatók.
!#"$% &' Igaz, hogy a smartcardok gyenge pontjai, a kommunikációs sebesség, a tárkapacitás és a ( ) * +-, . * ( /0( 1 21 ( ( 3 4 ( 576 8 . 9 1 : ; < . 1 67=><1? 8 ; @( ) , A ; 1 4B+-/ A< / 4B/ (C8 ; D;>9 574 : * 6E+-F7; A /08CGIH -k teljesítményét. Bizonyos dolgok elvi korlátokba is ütköznek. A kommunikáció a kártya és a PC között sorosan valósul meg (ez a kontaktusok specifikációjából következik). Így ez eleve nem lehet különösen gyors. Az adat tárolása jelenleg nem illékony memóriával történik, (hogy ne legyen benne mechanika), ez pedig igen
J7K L M7N OQPSRK T7U V W W X T KBV W V Y Z [V \]RV J7^ M`_7T a>T b cd V b e7V X V Y Z W ^QR7K T7[7b Z a>L _]a-V K fb \7V _`g V bCN X órajelfrekvencia növelése esetén. Ráadásul minden alkatrészt egyetlen mikrochipen kell megvalósítani, ami növeli a nehézségeket. Nem tudju h7i7j>k ll m npo q7n rs htr r7mkvus w s j-x y k w k h il7k az|PC-ket { ~} nem } 7érhetik
-utol. 7 } { 7 } - 7} } { } } > { t 7 { 7 v> 7 7 7 % } { áron jelentik. Nem szükséges ugyanis külön hardvert, külön mikrochipet gyártani minden egyes alkalmazáshoz, hanem általános célú, programozható eszközökön lehetséges a
¡ ¢ £ ¤C¥ ¦> § ¨7 ¢©¥ ª §¬«£ 7® © § ¡ ® ¦p¯¥ ©°¥ ¥ ± ² © §¬® ³ ² ©¬ ´ ¢E ® µ ¢ ¥ © ¶ ·#¸ª §]¨7® ³ ¢ §7¥
felprogramozásához pedig egy olvasón, egy PC-n s szoftveren kívül semmi sem szükséges. Így nem csak nagy multik, hanem kisebb cégek is képesek lehetnek saját smartcard alapú szoftverek kidolgozására, fejlesztésére.
Irodalomjegyzék Általános kriptográfiai munkák: D.W. Davies – W. L. Price: Security for Computer Networks. John Wiley & Sons, 1992. Bruce Schneier: Applied Cryptography. John Wiley & Sons, 1996. Gustavus J. Simmons (Szerk.): Contemporary Cryptology. IEEE Press, 1992. Györfi-Vajda: A hibajavító kódolás és a nyilványos kulcsú titkosítás elemei. Budapest, 1991. Smartcardokkal kapcsolatos munkák: W. Rankl – W. Effing: Smart Card Handbook. John Wiley & Sons, 1997. J. L. Zoreda – J. M. Oton: Smart Cards. Artech House, 1994.
¹ ºp» ¼ ½ ¾ ¿ ¾ À Á7À Â Ã Ä Â ¿ Å Á Æ Ç ½ È É Â Å Â Á Á Â Ä Æ Ê Ë ¼ ¿ ¾ Ä Ê Á ¾ ¿» È À ¾ ½ Ì%Í ¼ » Î ÆÀ ¾ ½ ½ Í ¿ Ê Ï
Windows Smart Card Development Kit Help http://www.microsoft.com/security/tech/smartcards Egyéb, smartcardokkal kapcsolatos társaságok: Bull: http://www.cp8.bull.net Java Card: http://java.sun.com/products/javacard/htmldoc M.U.S.C.L.E.: http://www.linuxnet.com PC/SC Workgroup: http://www.smartcardsys.com OpenCard: http://www.opencard.org