Begitulah cara kerja kartu pintar. Jika Anda menginginkan stik USB, Anda tahu di mana menemukannya.
Kartu pintar dirancang untuk keamanan. Mereka dirancang agar tahan terhadap kerusakan . Mereka dirancang untuk menyimpan rahasia dan bunuh diri daripada menyerahkan rahasia mereka. Anda tidak bisa (dengan upaya yang masuk akal, mencegah kelemahan implementasi) mengekstrak data darinya, atau mengkloningnya.
Kartu pintar (seharusnya) dirancang sehingga jika Anda mencoba untuk memotong antarmuka perangkat lunak dan membaca memori mereka secara langsung, Anda tidak bisa. Satu-satunya antarmuka eksternal adalah saluran listrik dan serial. Segala sesuatu yang lain ada di dalam sangkar Faraday (untuk melawan pengukuran emisi) yang dilindungi oleh lapisan bahan kimia korosif (asam, saya pikir) sehingga jika Anda mencoba membuat lubang di lapisan pelindung, chip (terutama memori) akan rusak setelah pemulihan.
Chip ini dirancang untuk menghasilkan daya konstan, untuk menghindari kebocoran informasi melalui konsumsi daya . Ini juga dirancang untuk memungkinkan operasi mengambil waktu yang konstan. Jadi chip smartcard tidak memiliki optimasi perangkat keras seperti pipa instruksi atau manajemen daya untuk mengurangi pembuangan panas. Chip Smartcard sering mengandung bagian yang tidak benar-benar melayani tujuan apa pun, untuk membuat emisi dan daya menarik lebih konstan atau lebih sulit untuk dianalisis, dan untuk membuat reverse engineering menjadi sulit.
Sejumlah hal membuat kartu pintar lebih lambat daripada chip yang tidak sensitif terhadap keamanan. Karena kartu pintar tidak memiliki catu daya sendiri, mereka perlu menulis ke memori flash cukup sering - mereka tidak mampu melakukan cache hal-hal dalam RAM. Kalau tidak, musuh dapat memotong kekuatan pada waktu yang menguntungkan (untuknya). Perangkat lunak harus menggunakan algoritma waktu-konstan (untuk menghindari serangan waktu ), bukan algoritma tercepat. Perangkat lunak harus ditulis dengan redudansi, kalau-kalau musuh menyinari laser pada kartu untuk membalikkan beberapa bit dalam memori dan menempatkan perangkat lunak dalam keadaan yang seharusnya tidak dapat dijangkau (ya, itu serangan nyata).
Langkah-langkah keamanan seperti ini memiliki biaya. Selain itu, karena serangan terus meningkat, desain chip harus tetap sama. Sebagian besar jenis chip menjadi semakin kuat mengikuti hukum Moore, tetapi dengan smartcard, peningkatan rekayasa sebagian besar diserap oleh kebutuhan untuk melawan serangan baru.
Ada yang kartu yang mendukung 4k kunci RSA. Tapi itu tidak biasa. Beberapa tahun yang lalu, Java Card 3 diperkenalkan untuk mendukung hampir semua fitur bahasa Jawa; Saya pikir kartu mampu melakukan itu akan mampu masuk dengan RSA 4k. Tetapi mereka belum benar-benar mengambilnya, sebagian karena perbaikan teknik dilakukan dengan meningkatkan perlindungan keamanan, dan sebagian karena banyak perbaikan teknik telah masuk ke kartu tanpa kontak, yang membutuhkan lebih sedikit pemadaman listrik dan waktu respons yang lebih cepat.
Tapi tidak ada banyak pasar untuk RSA 4k. Ketika kartu pintar mencapai titik itu, ECC menjadi tersedia secara luas. Anda bisa mendapatkan tingkat keamanan yang sama dengan RSA 4k dengan kunci ECC yang jauh lebih kecil. Satu-satunya kelemahan beralih dari RSA ke ECC adalah dukungan untuk algoritma di seluruh infrastruktur Anda, tetapi perangkat yang disematkan seperti kartu pintar adalah bagian tersulit: hampir semua sisi server mendukung ECC hari ini.
Jika Anda benar-benar membutuhkan sesuatu yang lebih kuat, ada dongle USB dengan daya komputasi "nyata", yang dapat menyimpan kunci kriptografi dan melakukan operasi kriptografi dengan antarmuka PKCS # 11. Dongle-dongle ini tidak memiliki ketahanan yang hampir sama dengan PKCS # 11. Ini adalah kompromi antara keamanan dan kinerja.
Bacaan lebih lanjut: