Anda di halaman 1dari 33

Proteksi IP

TPKI 2023
Nia Gella A
Pengantar
• Pendekatan Global Design Flow berbasis pada IP hardware telah
digunakan secara luas
• Alasannya :
• IP hardware dapat digunakan berulang kali tanpa melalui proses pengujian/
Verifikasi
• IP Hardware dapat diintegrasikan dengan SoC lain yang lebih kompleks
• Keunggulan :
• Mempercepat waktu pengembangan
• Mengurangi biaya perancangan
Pengantar
• Bentuk-bentuk IP
• Logika
• Sel
• Block
• Layout IC
• Tahapan pengembangan ASIC
• Perancangan
• Verifikasi
• Validasi
• Pabrikasi
Kategori IP Block Hardware
• IP digital
• IP memperoleh input digital dan memprosessnya untuk memproduksi output digital
• Contoh : Block core prosessor, GPU, DSP, enkripsi/dekripsi dan memori
• IP mixed sinyal analog
• Beberapa atau semua I/O IP merupakan sinyak analog dan memproses informasi
secara analog atau campuran
• Contoh : ADC, DAC, amplifier
• IP Infrastruktur
• IP non fungsional yang terintegrasi dengan sistem untuk memfasilitasi operasi yang
bervariasi :
• Contoh : IP untuk pengujian, debug, verifikasi dan keamanan
IP Hardware
• IP Core : unit modular dari logika, cell, block, layout IC yang dapat
digunakan berulang serta dirancang dan dimiliki oleh vendor IP
• Jenis-jenis IP :
• Soft IP
• Firm IP
• Hard IP
Permasalahan Keamanan
• Dari sisi vendor IP
• Vendor dapat memasukkan fitur tersembunyi untuk celah keamanan
• Pada bagian dari IP
• Pada antarmuka saat melakukan debugging
• Pada saat update software atau firmware
• Dari sisi design house
• Design house menggunakan IP secara ilegal
• Mengklaim kepemilkan IP
• Menggunakan IP lebih banyak dari yang disepakati
• Melakukan reverse engineering
• Melakukan modifikasi IP untuk dijual secara ilegal
Ancaman
Keamanan IC
• Fungsionalitas Hardware Trojan:

Hardware • Mengendalikan
• Memodifikasi
• Menonaktifkan

Trojan • Mengintip
• Deteksi HT sangat sulii dilakukan
Pembajakan • Penyerang yang memiliki akses terhadap IP dapat
mencuri dan mengklaim kepemilikan IP. Penyerang dapat
IP membuat Salinan atau clone IP
Model serangan Pembajakan IP
• Mendapatkan akses IP dalam bentuk Netlist
• Penyerang memperoleh IP dalam bentuk netlist dengan mencuri
kunci enkripsi IP pemilik
• Melakukan RE untuk mendapatkan netlist
• Menggunakan berbagai Teknik ekstraksi secara fisik kunci enkrispi
untuk bitstream yang dienkripsi
• Mendapatkan akses dataset public piranti yang dianalisis
Teknik pembajakan IP
• Mengubah pengkodean LUT
• Mengubah pin input LUT dari netlist yang dicuri
• Memasukkan area yang tidak digunakan atau tidak penting dari Isi
LUT
• Merubah Penempatan dan pengrutean
• Menambahkan rangkaian dummy atau resource pada perancangan
Kendala deteksi Pembajakan IP
• Format bitstream yang kabur pada kebanyakan FPGA komersial.
Menjadikan deteksi pembajakan IP membutuhkan kemampuan untuk
mengekstrak IP pada bitstream
• Sedikit perubahan pada aliran perancangan dapat memperkenalkan
kesalahan besar pada encode bitstream
• Perubahan layout secara spasial pada IP yang dibajak pada FPGA juga
dapat merubah footprint binner dari bitstream
Mekanisme Proteksi Pembajakan IP
• Enkripsi dan Dekripsi Bitstream
• Mekanisme ini hanya disediakan pada FPGA dengan tipe tertentu.
• Watermarking
• Defenisi : Teknik pertahanan yang menentikan otentifikasi IP.
• Kelemahan : bersifat pasif, menghasilkan overhead, gagal menghadapi serangan
berbasis RE
• Watermarking RTL : hanya dapat digunakan untuk perancangan yang memiliki akses
RTL.
• Watermarking Netlist : menanamkan watermarking logika sehingga output dari
watermarking adalah fungsi dari desain yang mendasarinya.
• Bitstream watermarking : menambah atau merubah encoding konfigurasi.
• Reverse engineering
Reverse Engineering
• RE merupakan proses komplek yang melibatkan langkah mencoba
untuk menyimpulkan fungsionalitas perancangan dan mengekstrak
gate level netlist dan mengidentifikasi teknologi piranti
• Tujuan utama : mendapatkan level abstraksi perancangan yang
diharapkan
• Level fungsionalitas IC
• Level Netlist Gate Level
• Level GDSII
Reverse
Engineering
Reverse Engineering
• Proses RE untuk sebuah IC meliputi :
• Membongkar IC
• Melayering
• Mendapatkan gambar setiap layer
• Mengestrak perancangan netlist
• Mengekstrak fungsionalitas IC
• Teknik yang digunakan untuk mencegah RE
• Obfuscation
• Kamuflase
Ilustrasi
reverse
engineering
FPGA
• Semikonduktor yang dapat direkonfigurasu untuk merealisasikan
fungsional system
• Dibangun dari 3 blok utama
• CLB : Configurable logic block
• Blok dasar yang digunakan untuk merealisasikan fungsional dari rangkaian
• Terdiri dari slice yang didalamnya terdapat LUT, flip-flop dan MUX
• IOB
• Bertanggung jawab mengendalikan konektifitas Eksternal
• SM
• Menyediakan konfigurasi internal antara CLB dan IOB
FPGA
Konfigurasi pada FPGA
• Berasal dari nilai yang disimpan pada programmable point yang terdiri
dari :
• Programmable logic point (PLP)
• Prorgammable interconnect point (PIP)
• Programmable content point (PCP)
• Berdasarkan nilai tersebut FPGA dapat merealisasikan fungsional
berdasarkan deskripsi yang diberikan
• Nilai tersebut dikenal sebagai bitrstream
Struktur LUT pada
FPGA
Ilustrasi Konfigurasi LUT
Ilustrasi
Konfigurasi LUT
Alur Perancangan FPGA
• Agar dapat merealisasikan fungsionalitas rancangan dalam bentuk
HDL ataupun HLS harus ditransformasi menjadi bitstream melewati
beberapa tahap
• Kompilasi : Melakukan kompilasi HLS (bahasa tingkat tinggi) ke RTL
• Sintesis : RTL dipecah menjadi segment yang lebih kecil untuk dapat
direalisasikan ke dalam LUT dan FF yang terdapat pada CLB untuk
menghasilkan netlist
• Place and route : Menempatkan, memetakan dan merutekan posisi CLB, IOB
dan SM yang akan digunakan untuk merealisasikan fungsional rancangan
• Bitstream generation : menghasilkan konfigurasi bit dan menggabungkannya
dalam file tunggal
Alur perancangan FPGA
Rancangan Half Adder pada FPGA
• Jumlah input : 2 (A dan B)
• Jumlah Output : 2 (Sum dan Cout)

A B Cout Sum
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Pemodelan Struktural
• Full Adder menggunakan 2 modul Half Adder
Alur perancangan FPGA
Entitas yang terlibat pada system
berbasis FPGA
Entitas dalam pengembangan FPGA
• FPGA Vendor : Perusahaan (Xilinx, Intel, dll) yang merancang dan
membangun FPGA
• Foundry : Pabrik semikonduktor (TSMC, UMC, Global Foundry, IBM) yang
melakukan pabrikasi chip FPGA
• Vendor IP : Perusahaan yang mengembangkan IP Core ( Memori blok, DSP,
dll ) untuk aplikasi spesifik walaupun tidak harus untuk FPGA
• Vendor tools EDA : Perusahaan mengembangan software tools untuk
menfasilitasi pengembang perangkat berbasis FPGA
• Pengembang system berbasis FPGA : pencipta produk komersil pada FPGA.
Dimana secara normal dalam bentuk file konfigutasi bitstream
• Pengguna system berbasis FPGA : Perusahaan atau individu yang
menggunakan system berbasis FPGA ( Router, TV Set-BOx, HSM dll)
Siklus hidup bitstream pada FPGA
• Bitstream generation : Tahapan dimana bitstream dihasilkan secara
fisik oleh tools perancangan FPGA
• Bitstream at rest : tahapan dimana bitstream yang telah dihasilkan
disimpan pada media penyimpanan baik disk computer atau cloud
• Bitstream loading : Tindakan fisik memuat bitstream FPGA pada
memori konfigurasi FPGA
• Bitstream running : Tindakan dimana FPGA beroperasi sesuai dengan
konfigurasi bitstream yang ada di memori FPGA
• Bitstream end of life : bitstream dinonaktifikan karena proses update
ataupun lainnya.
Klasifikasi ancaman pada FPGA
Reverse engineering pada FPGA
• Tujuan dari reverse engineering pada FPGA adalah
• Menemukan deskripsi High level dari bistream yang ada
• Fase RE pada FPGA
• Melakukan dekompilasi pada bitstream menjadi netlist
• Menghasilkan deskripsi level tinggi dari netlist yang didapatkan
• Beberapa Teknik RE pada ASIC dapat diadaptasi untuk digunakan
pada FPGA

Anda mungkin juga menyukai