October 1, 2026
Kok Bisa Cacat Kecil di Chip Berujung Jadi Cryptographic Key?
Kalau sebuah key nggak disimpan di mana pun, berarti dia ada di mana? Pertanyaan itu muncul waktu aku lagi belajar hardware security, dan…

By Adinda mirza devani
3 min read
Kalau sebuah key nggak disimpan di mana pun, berarti dia ada di mana? Pertanyaan itu muncul waktu aku lagi belajar hardware security, dan sempat bikin aku merasa ada yang salah dengan logikanya.
Soalnya key kan harus ada supaya bisa dipakai. Tapi ternyata ada pendekatan yang berangkat dari sesuatu yang selama ini dianggap masalah: imperfection kecil di dalam chip.
Masalahnya Ada di Tempat Menyimpan
Biasanya cryptographic key disimpan di non-volatile memory, misalnya EEPROM atau Flash. Cara ini sudah lama dipakai dan terdengar wajar, jadi awalnya aku nggak merasa ada yang janggal.
Sampai aku ketemu satu ide yang bikin berhenti sebentar: penyimpanan statis mengubah rahasia matematis menjadi target fisik. Secara matematis, key itu cuma deretan bit. Tapi begitu ditaruh di memory, dia jadi sesuatu yang benar-benar ada di perangkat dan bisa didatangi.
Ada beberapa contoh serangan fisik yang aku baca, seperti invasive probing, focused ion beam, laser fault injection, dan side-channel. Nggak perlu dibahas satu-satu. Intinya, selama ada secret yang disimpan, selalu ada tempat yang bisa diincar. Which is why pertanyaan di awal tadi jadi masuk akal: bisa nggak sih key itu nggak perlu disimpan sama sekali?
Ketika Imperfection Jadi Identitas
Nah, di sini bagian yang bikin aku lumayan kaget. Chip yang dibuat dari desain atau mask yang sama ternyata nggak punya karakteristik fisik yang identik. Proses fabrikasi selalu menyisakan variasi kecil, jadi desain yang sama tetap menghasilkan silikon yang unik.
Awalnya terdengar aneh, karena variasi produksi biasanya dianggap masalah yang harus diminimalkan. Tapi di sini justru kebalikannya: variasi itu dipakai sebagai sumber identitas, dan identitasnya nggak perlu ditanamkan secara sengaja.
Kalau dibayangin, konsepnya mirip fingerprint. Bukan karena cara kerjanya sama persis, tapi karena tiap perangkat punya karakteristik yang beda dari yang lain. Konsep ini namanya Physical Unclonable Function, atau PUF.
Oke, Terus PUF Kerjanya Gimana?
Konsep dasarnya cukup straightforward. Perangkat dikasih sebuah challenge ©, lalu karakteristik fisiknya menghasilkan response (R), atau kalau ditulis R = PUF(C). Perangkat yang sama diharapkan memberi response yang stabil untuk challenge yang sama, sementara perangkat lain merespons beda. Pasangan challenge dan response ini disebut CRP.
Contoh yang paling gampang aku bayangin adalah SRAM PUF. Saat dinyalakan, ketidakseimbangan transistor yang sangat kecil bikin tiap sel cenderung ke 0 atau 1, dan pola startup itu yang jadi "fingerprint"-nya. Ada juga Arbiter PUF, Ring Oscillator PUF, dan Optical PUF, tapi yang SRAM paling mudah aku kebayang.
Ada satu pembagian lagi yang cukup penting. Bedanya Weak PUF dan Strong PUF bukan soal "kekuatan" material, tapi soal ruang CRP-nya.
Weak PUF punya CRP yang terbatas dan biasanya dipakai untuk identifikasi perangkat atau key derivation lokal. Strong PUF punya ruang CRP yang sangat besar, cocok untuk autentikasi interaktif, tapi ada risiko modeling attack. Soal itu aku bahas sebentar lagi.
Raw Response Belum Tentu Bisa Langsung Jadi Key
Awalnya aku kira tinggal ambil response-nya, jadikan key, selesai. Tapi ternyata nggak sesederhana itu.
Raw PUF response ≠ cryptographic key. Response dari perangkat fisik dipengaruhi noise, jadi hasilnya nggak selalu identik di tiap pengukuran. Padahal key harus sama persis setiap kali dipakai.
Makanya ada beberapa tahap pemrosesan sebelum sampai ke key: physical variation, measurement, raw PUF response, error correction, fuzzy extractor, stable bit string, baru kemudian cryptographic key. Di sepanjang proses itu ada helper data, yaitu data public dan non-secret yang membantu rekonstruksi key secara stabil, tanpa menyimpan atau membocorkan key itu sendiri.
Jadi key-nya direkonstruksi saat dibutuhkan, bukan disimpan sebagai secret bytes di non-volatile memory. Di titik ini aku baru ngeh kenapa konsep ini sering disebut "the key that isn't stored".
Tapi Ternyata PUF Bukan Magic
Sempat kepikiran, wah, ini kayaknya solusi yang rapi banget. Tapi ada satu bagian yang bikin aku ngerem.
Unik secara fisik belum tentu sulit diprediksi secara matematis. Perangkatnya boleh saja praktis mustahil disalin secara fisik, tapi response-nya tetap bisa dipelajari polanya.
Alurnya kira-kira begini: penyerang mengumpulkan CRP, memakai machine learning untuk memprediksi response, lalu jadilah software clone. Ini yang disebut modeling attack, dan yang ditiru bukan chip-nya, cuma perilakunya.
Angkanya juga lumayan besar. Modeling accuracy bisa di atas 99% pada delay-based Strong PUF. Dari situ aku sadar kalau "unik" ternyata nggak sama dengan "nggak bisa diprediksi", dan itu bagian yang paling nggak aku sangka.
Jadi, Key-nya Sebenarnya Ada di Mana?
Kalau ditarik lagi ke pertanyaan awal, jawabannya mulai kelihatan. Key itu nggak lagi berupa secret yang diam di satu tempat. Pendekatan lamanya adalah secret stored in NVM, sedangkan pendekatan PUF menggesernya jadi physical structure + helper data.
Tapi bukan berarti semua masalah selesai. Key-nya tetap direkonstruksi saat dibutuhkan, dipengaruhi noise, dan masih butuh error correction. Jadi lebih pas disebut pergeseran cara berpikir, bukan solusi yang sempurna.
Arah pengembangannya ke depan juga menarik, dari CMOS ke ReRAM atau material 2D, lalu photonics, sampai quantum. Aku sendiri belum sampai ke sana, jadi cukup tahu garis besarnya dulu.
Buatku, ini yang bikin PUF menarik. Sesuatu yang awalnya kelihatan seperti imperfection kecil di chip ternyata bisa ikut jadi bagian dari root of trust. Security nggak selalu harus dimulai dari secret yang disimpan di suatu tempat, karena kadang, the key is a physical event.