Konsumsi Daya pada Perangkat CMOS

Artikel ini merupakan tulisan ulang dari salah satu tugas kuliah EL5111 Kriptografi dan Aplikasinya, yaitu membuat makalah. Topik dari makalah tersebut adalah side channel attack dengan judul Serangan Analisis Daya: Celah Keamanan Smart Card. Tugas ini merupakan tugas akhir perkuliahan dengan batas waktu pengumpulan 8 November 2016. Pada artikel ini penulis tidak menampilkan keseluruhan isi tugas, melainkan hanya potongan atau sebagian dari tugas terkait, yaitu membahas tentang konsumsi daya perangkat CMOS pada side channel attack.

Konsumsi Daya

Gerbang Statis CMOS

Sebagian besar rangkaian digital didasarkan pada gerbang CMOS. Gerbang statis CMOS memiliki tiga sumber disipasi yang berbeda. [2] Pertama adalah kebocoran arus dalam transistor, kedua adalah arus pendek sirkuit: ada selang waktu singkat selama switching gerbang ketika NMOS dan PMOS sedang konduksi secara serentak. Terakhir, konsumsi daya dinamis karena pengisian (charging) dan pengosongan (discharging) beban kapasitansi CL diilustrasikan sebagai jalur putus-putus pada Gambar 2.

Gambar 2. Pengisian dan pengosongan dari inverter CMOS [2]

Masing-masing sumber disipasi biasanya bergantung pada skala teknologi. Namun, konsumsi daya yang dinamis sangat relevan jika dilihat dari sudut pandang saluran-sisi karena menentukan hubungan antara data internal perangkat dan konsumsi daya eksternal yang diamatinya. Hal ini dapat ditulis sebagai persamaan berikut.

dengan

P0→1 f = aktivitas switching

P0→1 = probabilitas transisi 0→1

f = frekuensi kerja perangkat

VDD = tegangan dari catu daya

Dalam perangkat CMOS, ketika mengukur konsumsi daya (baik di pin ground atau di pin power), puncak tertinggi akan muncul selama pengisian kapasitansi, yaitu kejadian 0→1. Selama pengosongan, satu-satunya arus yang bisa diukur adalah arus pendek. Konsumsi daya merupakan asal kebocoran informasi saluran-sisi.

Total Konsumsi Daya

Total konsumsi daya dari rangkaian CMOS adalah jumlah dari konsumsi daya logic cell yang membentuk sirkuit. Oleh karena itu, total daya konsumsi pada dasarnya tergantung pada jumlah logic cell dalam rangkaian, koneksi antara logic cell tersebut, dan bagaimana logic cell tersebut dibangun. Properti ini adalah hasil dari keputusan desain yang diambil pada level sistem (arsitektur sistem secara keseluruhan, algoritma yang digunakan, pemisahan hardware/software, dan lain-lain), level arsitektur (implementasi spesifik komponen hardware dan software), level logic cell (desain logic cell), dan level transistor (teknologi semikonduktor yang digunakan untuk mengimplementasikan transistor MOS dari logic cell).

Ketika menjalankan rangkaian CMOS, rangkaian tersebut diberikan pasokan tegangan konstan VDD dan dengan sinyal input, seperti yang ditunjukkan pada Gambar 3.

Gambar 3. Konsumsi Daya Rangkaian CMOS [3]

Logic cell dalam rangkaian memproses sinyal input dan menarik arus listrik dari sumber daya. Berikut ditunjukkan total arus sesaat dengan iDD (t) dan konsumsi daya sesaat konsumsi dengan pcir (t). Oleh karena itu, konsumsi daya rata-rata Pcir dari rangkaian selama waktu T dapat dihitung sesuai dengan persamaan berikut.

Konsumsi Daya Inverter

Konsumsi daya dari inverter pada dasarnya dapat dibagi menjadi dua bagian. Bagian pertama adalah konsumsi daya statis Pstat. Daya ini adalah daya yang dikonsumsi jika tidak ada aktivitas switching dalam sel. Bagian kedua dari konsumsi daya adalah konsumsi daya yang dinamis Pdyn. Sebagai tambahan daya statis, sel mengkonsumsi daya dinamis jika sinyal internal atau sinyal output dari cell switch. Konsumsi daya total sel adalah jumlah dari Pstat dan Pdyn.Logic cell biasanya diimplementasikan menggunakan CMOS complementary.

Kita sekarang menggunakan cell CMOS paling sederhana, yaitu CMOS inverter, untuk menjelaskan kapan dan mengapa cell CMOS kehilangan daya. Permasalahan pada inverter adalah mewakili semua jenis cell lain, karena semua sel CMOS dibangun berdasarkan jaringan pull-up dan pull-down. Dalam kasus inverter, jaringan ini terdiri dari dua transistor yaitu P1 dan N1, lihat Gambar 4. Dalam kasus gate yang lebih kompleks, transistor PMOS dan NMOS yang lebih banyak diperlukan untuk jaringan ini.

Gambar 4. Model Lumped-C dari sebuah CMOS inverter

Pull-Up dan Pull-Down

Sel CMOS dibangun sedemikian rupa sehingga jaringan pull-up dan jaringan pull-down-nya tidak pernah berjalan pada saat yang sama untuk sinyal input konstan. Misalnya, dalam kasus inverter CMOS yang ditunjukkan pada Gambar 4, P1  berjalan dan Nl adalah dipisahkan jika input α diatur ke GND. Dan sebaliknya, P1 dipisahkan dan Nl berjalan jika input α diatur ke VDD. Dalam kedua kasus tersebut, tidak ada hubungan langsung antara garis VDD dan GND.

Oleh karena itu, hanya kebocoran arus kecil yang mengalir melalui transistor MOS yang dimatikan. Kita menunjukkan kebocoran arus ini dengan Ileak. Oleh karena itu, konsumsi daya statis Pstat dapat dihitung sesuai dengan persamaan (3). Kebocoran arus transistor MOS biasanya di kisaran 10-12 Ampere = 1 pA. Namun, kebocoran arus meningkat signifikan untuk teknologi proses modern yang memiliki ukuran struktur kurang dari 100 nanometer. Hal ini terlihat pada persamaan berikut.

Konsumsi Daya Dinamis

Konsumsi daya yang dinamis terjadi jika sinyal internal atau sinyal output dari sebuah logic cell di-switch. Berikut ini, kita mengabaikan daya yang dikonsumsi ketika sinyal internal di-switch. Hal ini dapat dilakukan karena daya yang dikonsumsi ketika sebuah sinyal di-switch biasanya jauh lebih tinggi. Pada momen waktu yang tetap, sebuah sinyal output dari sebuah sel CMOS pada dasarnya dapat melakukan satu dari empat transisi, lihat Tabel 1. Dalam dua kasus 0→0 dan 1→1, sel hanya mengkonsumsi daya statis, sementara di dua kasus lainnya yang dikonsumsi adalah daya dinamis. Nilai konsumsi daya P00, P11, P01, dan P10 tergantung pada jenis sel dan teknologi proses yang digunakan. Namun secara umum diyatakan bahwa . Dalam semua kasus, konsumsi daya dinamis bergantung data.

Tabel 1. Transisi Output dari sebuah sel CMOS dan konsumsi daya yang sesuai. Daya yang dibutuhkan ke titik internal switch dari sel diabaikan

TransisiKonsumsi DayaJenis Konsumsi Daya
0→0P00statis
0→1P01statis + dinamis
1→0P10statis + dinamis
1→1P11statis

Pada dasarnya ada dua alasan untuk konsumsi daya dinamis Pdyn dari sebuah sel CMOS. Yang pertama adalah bahwa kapasitansi beban sebuah sel perlu diisi. Yang kedua adalah bahwa terjadi hubungan pendek untuk periode waktu yang singkat jika sebuah sinyal output dari sel diaktifkan.

Transisi Output

Ketika melakukan transisi output, sel CMOS menarik sebuah arus pengisian dari catu daya untuk mengisi kapasitansi output CL. Kapasitansi output mengandung apa yang disebut kapasitansi intrinsik dan kapasitansi ekstrinsik dari sebuah sel CMOS. Kapasitansi intrinsik adalah kapasitansi internal yang terhubung ke output sel CMOS. Kapasitansi ekstrinsik adalah kapasitansi dari sambungan yang terhubung ke sel CMOS berikutnya dan kapasitansi input dari sel-sel ini. Ukuran CL sangat bergantung pada properti fisik dari teknologi proses yang digunakan, panjang sambungan ke sel berikutnya, dan jumlah sel berikutnya. Nilai-nilai tipikal untuk CL adalah diantara 10-15 Farad = 1 fF dan 10-12 Farad = 1 pF. Kita menggunakan apa yang disebut dengan Model lumped-C untuk menggambarkan konsumsi daya pengisian sel CMOS, sebagai contoh, kapasitansi intrinsik dan ekstrinsik dari sel-sel yang disamakan bersama ke dalam sebuah kapasitansi tunggal CL yang terhubung ke GND.

Pengisian

Dalam kasus CMOS inverter (Gambar 4), CL diisi melalui transistor Pl PMOS. Pengisian ini terjadi jika ada transisi 1→0 pada input α. Sebagai hasil dari transisi input ini, nilai output q berubah dari 0 ke 1. Dengan demikian, CL akan diisi dan hal ini menyebabkan arus mengalir dari catu daya. Ketika input α berubah dari 0 menjadi 1, nilai pada output q berubah dari 1 menjadi 0. Dalam hal ini, CL dilepaskan melalui transistor Nl NMOS. Tidak ada arus diambil dari catu daya.

Rata-rata pengisian daya Pchrg yang dikonsumsi sebuah sel dalam waktu T dapat dihitung seperti ditunjukkan pada persamaan berikut.

Pada persamaan ini, Pchrg(t) menunjukkan pengisian daya yang dikonsumsi oleh sel, f adalah frekuensi clock, dan α adalah yang disebut faktor aktivitas sel. Faktor aktivitas berkorespondensi dengan bilangan rata-rata dari transisi 0→1 yang terjadi pada output sebuah sel pada tiap clock cycle. Sebagai contoh, jika sebuah sel mengubah nilai output dari 0 menjadi 1 sekali setiap clock cycle, maka nilai α adalah 1. Pada persamaan (4) dapat dilihat bahwa Pchrg  proporsional terhadap , kapasitansi beban CL, dan dan kuadrat dari tegangan suplai VDD. Dengan demikian, cara yang paling efektif untuk mengurangi konsumsi daya dinamis rangkaian CMOS adalah dengan mengurangi tegangan suplai. Pilihan yang kurang efektif adalah dengan mengurangi frekuensi clock, kapasitansi beban, atau aktivitas switching dari sel-sel.

Referensi

[1] T. S. Messerges, E. A. Dabbish, and R. H. Sloan, “Examining Smart-Card Security Under The Threat of Power Analysis Attacks,” Computers, IEEE Transactions on, vol. 51, no. 5, pp. 541–552, 2002.

[2] F.-X. Standaert, “Introduction to Side-Channel Attacks,” pp. 27–42, 2010.

[3] S. Mangard, E. Oswald, and T. Popp, Power Analysis Attack: Revealing the Secrets of Smart Cards. 2007.

[4] S. Sun, Z. Yan, and J. Zambreno, “Experiments in attacking FPGA-based embedded systems using differential power analysis,” 2008 IEEE International Conference on Electro/Information Technology, pp. 7–12, 2008.

[5] R. Velegalati and P. S. V. V. K. Yalla, “Differential Power Analysis Attack on FPGA Implementation of AES,” pp. 1–5, 2008.

[6] H. Li, K. Wu, B. Peng, Y. Zhang, X. Zheng, and F. Yu, “Enhanced correlation power analysis attack on smart card,” Proceedings of the 9th International Conference for Young Computer Scientists, ICYCS 2008, pp. 2143–2148, 2008.

[7] H. Bar-El, “Introduction to Side Channel Attacks,” Secure Integrated Circuits and Systems, 2010.

[8] Messerges and T. S., “Power analysis attacks and countermeasures for cryptographic algorithms,” 2000.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

2 × 1 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.