Mengapa smartcard seperti SLE5528 hampir selalu terbatas pada <16K memori yang tersedia, dan prosesor 8 bit yang sangat lambat? Apa faktor pembatas yang membuatnya tidak layak secara teknologi / ekonomis untuk menaikkan batas-batas ini?
EDIT: Mungkin saya harus memberikan latar belakang mengapa saya menanyakan pertanyaan ini. Untuk pelanggan di tempat kerja, kami harus mengintegrasikan modul kartu pintar yang pada dasarnya bertindak sebagai keystore (mirip dengan yang dapat Anda gunakan di perpustakaan pemrograman tingkat tinggi seperti PKCS11). Kami terus-menerus mencapai batas perangkat ini (tidak dapat menyimpan lebih dari beberapa kunci, tidak dapat menyimpan kunci yang lebih besar dari 1k, harus menunggu setidaknya 5 detik sebelum mengambil daftar kunci, dll.). Satu-satunya orang di ujung pemasok kami yang bisa saya jangkau adalah vendor yang memberi saya jawaban "Begitulah cara kartu cerdas bekerja". Ini tidak seperti tidak ada pasar nyata untuk menyimpan kunci RSA ukuran> 4K pada kartu. Saya ingin tahu alasan sebenarnya di balik ini.
sumber
Jawaban:
Ini harga tambahan yang disebabkan oleh fitur keamanan yang menaikkan harga. Secara teknis Anda tidak dapat membandingkan memori non-volatile kartu pintar dengan flash normal atau memori eeprom. Misalnya dimungkinkan untuk membuka memori flash normal, kabel ikatan ke die dan membacakan konten memori. Dengan kartu pintar ini seharusnya tidak mungkin (atau lebih realistis: Seharusnya begitu rumit dan mahal sehingga tidak layak).
Hal yang sama berlaku untuk CPU. CPU kartu pintar memiliki banyak fitur keamanan bawaan yang sama sekali tidak diperlukan untuk CPU normal. Misalnya, mereka tidak boleh membocorkan informasi apa pun pada kode yang mereka jalankan berdasarkan jumlah arus yang mereka gambar, atau membocorkan apa pun dengan radiasi RF.
Yang mengatakan, semua blinds saluran samping ini memiliki harga tidak hanya dalam biaya produksi tetapi juga dalam kinerja komputasi. Lebih penting aman daripada cepat.
Yang mengatakan, smart-card dengan memori lebih banyak tersedia. Anda dapat membelinya dengan memori lebih dari 100kb. Mereka mahal sekalipun.
Rekomendasi dalam komentar untuk mengubah kunci dari RSA ke ECC sangat bagus. Ukuran kunci ECC dibandingkan dengan RSA pada tingkat keamanan yang sama jauh lebih kecil. Jadi Anda mendapatkan lebih banyak dari memori non-volatile terbatas Anda. ECC juga cenderung lebih cepat.
sumber
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:
sumber