Posted by: Rickyaji | May 1, 2013

Skema Password Based Encryption

Password Based Encryption (PBE) secara luas biasanya digunakan untuk menyimpan informasi rahasia. Pada dasarnya PBE merupakan mekanisme pembuatan kunci simetrik dengan menggunakan password kemudian dilakukan penghitungan nilai digest-nya menggunakan algoritma fungsi hash. Untuk proses yang dilakukan pada PBE sederhana digambarkan oleh Gambar1.

gmb215

Gambar 1.Flowchart proses PBE sederhana

Kekuatan dari PBE tergantung pada panjang password yang digunakan (Garms, 2006). Akan tetapi semakin panjang password akan membuat user kesulitan untuk mengingat password tersebut. Oleh karena itu, digunakan sebuah salt untuk memperkuat mekanisme PBE pada Gambar 2.15. Mekanisme tersebut digambarkan pada Gambar 2.

gmb216

Gambar 2. Flowchart PBE dengan salt 

Dalam FIPS 112 mengenai Password Usage, disebutkan bahwa terdapat beberapa parameter dasar yang mempengaruhi panjang suatu password yang nantinya mempengaruhi terhadap tingkap kekuatan password tersebut. Parameter-parameter tersebut diantaranya yaitu :

  1. L = maksimal lifetime dari sebuah password untuk dapat digunakan. Maksimal lifetime suatu password tidak lebih dari satu tahun (FIPS 112, 1985).
  2. P = probabilitas dari suatu password dapat ditebak selama masa lifetime-nya. Diasumsikan bahwa proses menebak password dilakukan secara terus-menerus.
  3. R = jumlah tebakan per waktu yang mungkin dilakukan.
  4. S = password space , maksudnya adalah jumlah kemungkinan total password unique yang dapat dibangkitkan.

Adapun hubungan dari keempat parameter di atas dapat dituliskan dalam bentuk :

P = L x R/S;

Pada Tabel 1 diberikan informasi mengenai syarat minimum panjang password beserta lifetime-nya, baik itu untuk yang 26 huruf maupun untuk yang 36 huruf-angka.

Tabel 1. Panjang Password (FIPS 112)

tbl214

Referensi :

Garms, Jess dan Deniel Somerfield. 2006. Password Based Encryption in J2ME. Motorola

Posted by: Rickyaji | January 13, 2012

Security of Next Generation Networks

Sebelum membahas mengenai Security Next Generation Networks (NGN), akan dibahas dulu mengenai “apa itu NGN ?”. Berdasarkan International Telecommunication Union (ITU), “NGN is A packet-based network able to provide telecommunication services and able to make use of multiple broadband, QoS-enabled transport technologies and in which service-related functions are independent from underlying transport-related technologies“.

Dari definisi yang diberikan oleh ITU diatas, dapat diambil sebuah penalaran simpulan mengenai definisi NGN yaitu suatu konsep jaringan berbasis paket yang menyediakan kerangka kerja sangat luas meliputi penyatuan berbagai arsitektur dan teknologi (internet, PSTN, mobile-radio network) yang memungkinkan penyediaan berbagai jenis layanan meliputi suara, data maupun video. Dengan kata lain bahwa NGN menerapkan packet switch network model dimana semua informasi dikirimkan lewat paket-paket sesuai dengan tipe datanya (suara, gambar, video, dsb) serta akan ada suatu mekanisme kontrol dalam me-manage trafik.

Sehingga keunggulannya dari model TDM (Time Division Multiplexing), NGN akan menawarkan akses yang tidak terbatas oleh pengguna kepada penyedia layanan-layanan yang berbeda dan memungkinkan penyediaan layanan broadband. Hal ini juga mendukung perkembangan mobilitas yang akan memungkinkan konsistensi layanan kepada pengguna kapanpun dan dimanapun berada. Untuk lebih jelasnya, pada Gambar 1 di bawah diberikan skema umum dari NGN.

Gambar 1. Skema Next Generation Network

Ada beberapa kriteria atau persyaratan dalam NGN yaitu sebagai berikut :

  1. Mobilitas tinggi.
  2. Adanya jaminan kualitas.
  3. Mampu memberikan multilayanan.
  4. Reliabilitas tinggi.
  5. Sekuritas tinggi.
  6. Kemudahan operasi dan pemeliharaan.
  7. Co-existence dengan PSTN.
  8. Arsitektur open-standard.

Pada kriteria poin 8, founder memberikan bold sebagai penanda bahwa sangat perlu perhatian terhadap aspek sekuritas. Hal ini melihat keunggunal yang diberikan oleh NGN akan memberikan peluang yang sangat terbuka bagi attacker.

(Maaf, untuk pembahasan security-nya bersambung yaa……..) :d

Posted by: Rickyaji | December 27, 2011

Protokol Secure Electronic Auction

Electronic auction merupakan salah satu bisnis utama dalam e-commerce. Pada electronic auction, nantinya akan dilakukan proses transfer dari suatu pihak ke pihak lain dimana harga suatu barangnya tersebut tidak ditentukan dengan mudah dan tergantung persepsi dari pelanggan (Rahman, 2008).

Gambar 4. Skema Taksonomi Electronic Auction

Pada Gambar 4 di atas diberikan skema taksonomi electronic auction. Berdasarkan skema tersebut, Auction dapat dikelompokkan menjadi dua yaitu :

  1. Single Auction

Single auction merupakan auction yang hanya memiliki seorang penjual dan banyak pembeli. Kemudian single auction diklasifikasikan menjadi :

a.    Open bid auction

Open bid auction merupakan salah satu tipe auction dimana nilai bid di-broadcast ke semua peserta lelang. Contoh dari open bid auction yaitu English auction dan Dutch auction. Pada English auction, yang menjadi pemenang pada proses lelang adalah peserta yang memasukkan bid terakhir dan terbesar. Sedangkan pada Dutch auction , pihak auctioneer menentukan harga pada level tertinggi (highest price). Jika belum ada peserta yang memasukkan bid , maka harga akan diturunkan sampai dengan ada peserta yang memasukkan bid. Dan yang akan menjadi pemenangnya adalah yang memasukkan bid pertama kali. Adapun untuk protocol dari Dutch auction dan English auction digambarkan oleh Gambar 1 dan 2.

Gambar 1. Flow chart Dutch Auction

Gambar 2. Flow chart English Auction

b.    Sealed bid auction

Pada sealed bid auction, terdapat dua fase yaitu fase pertama dimana semua peserta lelang memasukkan nilai bid mereka secara rahasia atau tidak diketahui (sealed) oleh peserta lain. Kemudian pada fase kedua yaitu fase pembukaan semua nilai bids sekaligus penentuan pemenang proses lelang. Contoh dari sealed bid auction yaitu Vickrey acution. Pada Vickrey auction, yang menjadi pemenang lelang  adalah peserta lelang yang memiliki nilai bid kedua terbesar. Adapun untuk protokol Sealed bid auction digambarkan oleh Gambar 3.

Gambar 3. Flow chart Sealed Bid Auction

2. Double Auction

Double auction merupakan auction yang memiliki banyak penjual dan juga banyak pembeli.

Adapun tahapan-tahapan yang ada pada protokol electronic auction yaitu :

1.    Inisialisation
Pada tahap ini pihak auctioneer mempublikasikan kegiatan lelang dan mengumumkan jenis barang yang dilelang, waktu mulai dan berakhirnya proses lelang.
2.    Registration
Pada tahap ini para peserta lelang harus melakukan registrasi dengan tujuan untuk menjamin keabsahan nilai bid dan untuk mempermudah identifikasi pada saat proses lelang.
3.    Bidding
Pada tahap ini para peserta lelang yang telah terdaftar mulai memasukkan nilai bid masing-masing kepada auctioneer.
4.    Winner determination
Pada tahap ini auctioneer menentukan pemenang lelang sesuai dengan aturan (tipe auction) yang digunakan.

Kemudian berikut di bawah ini, security goals secara umum dari electronic auction :

1.    Unforgeablity
Maksudnya adalah nilai bid tidak dapat dipalsukan.
2.    Non-repudiation
Maksudnya adalah seorang bidder tidak dapat menyangkal bahwa ia tidak pernah memasukkan nilai bid. Atau pada saat seorang bidder memenangkan lelang, maka ia tidak dapat menyangkal nilai bid-nya tersebut.
3.    Public verifiability
Maksudnya adalah semua peserta lelang dapat memverifikasi keabsahan nilai bid yang menjadi pemenang.
4.    Robustness
Maksudnya adalah walaupun terdapat peserta lelang yang tidak mengikuti protokol secara benar, hal ini tidak berpengaruh pada proses lelang keseluruhan.
5.    Anonymity
Maksdunya adalah hubungan antara bidder dengan nilai bid-nya harus disembunyikan sehingga tidak ada bidder yang dapat diidentifikasi dari nilai bid-nya.

Bagi yang ingin mempelajari lebih mendalam, dapat mendowload bahan materinya di link.

Posted by: Rickyaji | December 27, 2011

Skema Key Agreement Zou-Fang

Pada tahun 2006, dua orang peneliti dari IEEE melakukan penelitian mengenai skema key agreement. Mereka mencoba memberikan solusi keamanan pada suatu infrastruktur jaringan. Mengingat bahwa selain aspek keamanan maka perlu juga diperhatikan aspek kecepatan layanan, sehingga perlu mempertimbangkan dengan seksama mengenai tools atau skema yang akan diterapkan pada sebuah infrastruktur jaringan. Kedua peneliti itu yaitu Yun Zhou dan Yuguang Fang.

Walaupun dalam perkembangan kriptografi, public key cryptosystem dapat menjadi solusi dalam permasalahan manajemen kunci di suatu lingkup yang besar, hal tersebut berdampak pada aspek efisiensi komputasinya. Hal ini mengingat bahwa diperlukan komputasi yang lumayan besar jika menggunakan public key cryptosystem ketimbang symmetric cryptosystem. Sehingga telah mulai dilakukan penelitian-penelitian mengenai skema key agreement berbasis symmetric cryptosystem. Yang perlu ditekankan adalah permasalahan yang mendasar dalam menerapkan symmetric key cryptosystem yaitu bagaimana bisa terbentuk suatu key agreement diantara dua titik (nodes) dalam suatu jaringan.

Pada model konvensional Key Distribution Center (KDC) dan Key Translation Centre (KTC), semua nodes mempunyai sebuah shared key dengan suatu TTP yang membantu membuat suatu shared key diantara dua nodes. Sehingga dapat dikatakan bahwa proses komunikasi dan keamanan terletak pada TTP. Apabila terjadi hal-hal yang tidak diinginkan pada TTP, maka akan berakibat sangat fatal pada proses komunikasi. Maka sebagai solusi tambahan, dapat menerapkan full pairwise key model dimana setiap node (dalam N nodes ) harus memiliki N-1 shared keys yang unik. Akibatnya terjadi beban memori yang sangat besar untuk mem-backup kunci yakni (N(N-1))/2 kunci. Pada tahun 1985, Blom mengajukan sebuah skema key agreement dimana setiap pasangan nodes dapat menemukan shared key yang unik. Kompleksitas memori untuk tiap node adalah (N-1). Oleh karena itu skema key agreement Blom hanya cocok untuk jaringan skala kecil (small network).

Pada skema konvensional, semua nodes tidak saling berinteraksi (non-interactive). Sehingga setiap node dapat memahami kunci-kunci yang di-share oleh nodes lainnya tanpa bantuan TTP. Seperti yang telah dijelaskan oleh Blundo et al dalam paper-nya tahun 1992, bahwa untuk non-interactive network dengan sejumlah N nodes, minimal cost memory untuk setiap node-nya adalah (N-1). Walaupun berdasarkan persyaratan Blundo et al di atas skema Blom memenuhi, namun karena berada di batas maksimum sehingga mengakibatkan tidak bisa diterapkan di jaringan dengan skala yang besar seperti sensor network atau ad hoc networks. Salah satu solusinya yaitu mengurangi cost memory tiap node dengan menerapkan interactive antar nodes. Salah satu contohnya yang full interactive yaitu skema KDC dan KTC. Akan tetapi keamanan skema tersebut lebih rentan daripada non-interactive model.

Pada skema Key Agreement Zou-Fang ini diterapkan perpaduan antara interactive dan non-interactive model, sehingga diharapkan keamanannya lebih bagus ketimbang interactive model dan cost memory-nya lebih kecil ketimbang non-interactive model. Secara umum pada skema Key Agreement Zou-Fang terdapat tiga komponen yaitu :

  1. Share Distribution
  2. Direct Key Calculation
  3. Indirect Key Negotiation

Bagi yang ingin mempelajari lebih dalam mengenai skema ini, dapat membaca paper aslinya di link ini.

Salam Bahagia…!
Pada kesempatan ini founder memberitahukan kepada seluruh kriptolovers, bahwa ilmukriptodotcom sekarang telah melakukan mi’raj ke ilmukripto.com….
Mudah-mudahan dapat memberikan manfaat yang lebih dari sebelumnya … *[]*

Posted by: Rickyaji | January 11, 2010

Protokol WEP

Posted by: Rickyaji | January 9, 2010

Square Attack pada Crypton

Crypton merupakan salah satu algoritma yang diajukan sebagai kandidat algoritma AES. Dalam tulisan ini akan dijelaskan mengenai chosen plaintext attack yang akan bekerja jika cipher direduksi menjadi 6 round (ketimbang 12 round). Adapun attack ini didasarkan pada SQUARE attack yang diajukan oleh J. Daemen, L. Knudsen and V. Rijmen, dalam papernya yang berjudul, The block cipher Square, Fast Software Encryption, pada tahun 1997. Akan tetapi, karena struktur SQUARE dan Crypton berbeda, sehingga harus dilakukan sedikit perubahan pada skema attack untuk beberapa poin. Pada analisis sebelumnya, J.Borst menemukan suatu kelemahan pada algoritma key schedule ditemukan sejumlah weak keys. Namun agar lebih mengoptimalkan attack, maka akan dicoba untuk mengeksploitasi karakteristik lain dari key schedule tersebut.

Deskripsi Crypton

Algoritma Crypton merupakan algoritma yang termasuk ke dalam square block cipher. Data-data plainteks diproses dalam ukuran 16 byte, menggunakan skema square yang dinamakan state, seperti pada gambar berikut :

Ketika A merupakan state yang aktif pada waktu ke –i, maka different byte-nya disimbolkan dengan (A)ij. Dimana nilai i dan j bervariasi dari 0 sampai 3. Terdapat enam buah transformasi dasar pada Crypton, diantaranya sebagai berikut :

  • merupakan proses key addition dengan kunci round ke-i. Operasinya sama dengan operasi pada algoritma SQUARE.
  • dan keduanya merupakan transformasi linier pada kolom – kolom state. Transformasi ini beroperasi 2 bit tiap waktunya, menghitung nilai baru dari hasil peng-XOR-an dua bit yang sebelumnya pada posisi yang berkorespondensi dalam tiga buah bytes kolom – kolomnya yang berbeda.
  • dan merupakan transformasi nonlinier yang menggunakan S-boxes pada state bytes yang berbeda. Dimana berlaku sifat .
  • merupakan sebuah transposisi sederhana, dimana upper row berubah menjadi right most collumn, dan lower row menjadi left most collumn. Jadi jika ada (D,C,B,A)t artinya bahwa At merupakan upper row dan Dt merupakan lower row.

(Untuk lebih jelasnya silahkan download pdf-nya)

Posted by: Rickyaji | January 9, 2010

Fase dan Fungsi Manajemen Kunci

Pendahuluan

Dalam manajemen kunci dikenal adanya suatu life cycle yang dibagi kedalam empat buah fase. Untuk masing-masing fase, dilakukan fungsi-fungsi manajemen kunci tertentu dimana fungsi-fungsi tersebut dirasa perlu untuk manajemen kunci-kunci dan atribut-atribut lain yang berhubungan. Informasi mengenai manajemen kunci dipengaruhi oleh atribut-atributnya dimana atribut-atribut tersebut termasuk didalamnya yaitu identitas dari orang atau sistem yang berhubungan atau ada sangkut pautnya dengan kunci atau jenis-jenis informasi yang menyatakan bahwa orang tersebut memiliki akses. Atribut-atribut tersebut dipengaruhi oleh aplikasi untuk memilih kunci (kriptografi) yang sesuai dengan service-nya.Pada saat atribut-atribut tersebut tidak tampak dalam algoritma kriptografi, maka mereka menentukan implementasi terhadap aplikasi dan protokol.

Fase – fase Manajemen Kunci

Berikut ini keempat fase manajemen kunci tersebut adalah sebagai berikut :

  1. Preoperational phase

Pada fase ini, material kunci belum ada untuk operasi normal kriptografi. Kunci-kunci tersebut belum dibangkitkan atau mungkin masih berupa pre-activation state. Selama fase ini, atribut-atribut tersebut dibentuk.

  1. Operational phase

Pada fase ini, material kunci sudah tersedia dan digunakan secara normal. Kunci-kunci tersebut diletakan dalam state aktif. Dan kunci-kunci tersebut hanya ditujukan sebagai proteksi, proses atau proses sekaligus proteksi.

  1. Postoperational

Kalau pada fase ini, material kunci digunakan tidak lama atau memiliki periode pendek. Akan tetapi dimungkinkan akses ke material kuncinya dan material kuncinya tersebut juga bisa digunakan untuk proses hanya pada kondisi tertentu. Kunci-kunci diletakan pada deactivated atau compromised state. Kemudian kunci-kunci pada fase ini diarsipkan ketika tidak dilakukan pemrosesan data.

  1. Destroyed phase

Pada fase ini, kunci-kunci tidak selamanya tersedia dimana semua catatan (rekaman) kunci-kunci tersebut kemungkinan sudah dihapus. Kunci-kunci tersebut diletakan pada destroyed (compromised) state. Meskipun kuncinya sendiri telah dimusnahkan, atribut kuncinya tetap ada atau tidak ikut dimusnahkan. Dimana atribut kunci tersebut meliputi key name, tipe, cryptoperiod dan usage period.

Keempat fase di atas diogambarkan secara jelas pada gambar di bawah ini :

Pada gambar di atas terdapat tujuh transisi, yang dijelaskan sebagai berikut :

  1. Transisi 1 : sebuah kunci masuk ke fase preactivation segera setelah dibangkitkan.
  2. Transisi 2 : Jika kunci-kunci yang dihasilkan, namun tidak pernah digunakan, maka kemungkinan dimusnahkan pada saat memasuki destroyed phase dari pre-operational phase.
  3. Transisi 3 : Pada saat kunci berada pada fase pre-activation itu bocor (compromised), maka kunci tersebut berpindah ke post-operational phase atau tepatnya dalam compromised state.
  4. Transisi 4 : Setelah atribut kunci yang dibutuhkan terbentuk, material kunci telah dibangkitkan, dan atribut-atribut yang berhubungan dengan kunci selama pre-operational phase, maka itu artinya bahwa kunci sudah siap untuk digunakan oleh aplikasi dan peralihan ke operational phase pada saat yang cocok.
  5. Transisi 5 : Ketika sebuah kunci pada operational phase itu bocor (compromised), kunci tersebut beralih ke post-operational phase (compromised state).
  6. Transisi 6 : Pada saat kunci kunci sudah tinggal sebentar lagi penggunaannya atau periode aktifnya tinggal sebentar lagi, tetapi akses ke kunci-kunci tersebut masih perlu untuk dikelola, maka kunci tersebut beralih ke post-operational phase.
  7. Transisi 7 : Untuk beberapa aplikasi akan mensyaratkan bahwa akses dipertahankan selama suatu periode waktu dan selanjutnya material kunci tersebut dimusnahkan. Ketika sebuah kunci pada post-operational phase tidak lama lagi dibutuhkannya, maka beralih ke destroyed phase.

Pada gambar di bawah ini diilustrasikan mengenai kombinasi dari key state dengan key phases. Namun pre-operational dan operational phase hanya terdiri atas sebuah state, sementara itu, post-operational dan destroyed phase mempunyai dua buah state.

referensi :

[1] Handbook of Applied Cryptography

[2] NIST sp 800

Posted by: Rickyaji | December 16, 2009

Algoritma Block Cipher Rivast

RIVAST merupakan algoritma block cipher yang beroperasi pada ukuran blok 64 bit. RIVAST mengenkripsi 64 bit plainteks menjadi 64 bit cipherteks dengan menggunakan delapan buah subkunci. Masing – masing subkunci memiliki ukuran 32 bit, yang dibangkitkan oleh suatu fungsi NLFSR (nonlinier feedback shift register). NLFSR ini dibentuk oleh 2 buah LFSR (linier feedback shift register) yang masing – masingnya berukuran 5 stages. Keduanya dihubungkan oleh operasi XOR.

Skema global dari algoritma RIVAST adalah sebagai berikut :

  1. Dilakukan whitening terhadap blok plainteks dengan cara di-XOR-kan  dengan kunci eksternal berukuran sama dengan blok plainteks, yakni 64 bit.
  2. Hasilnya kemudian dipermutasi dengan matriks permutasi 64 bit.
  3. Hasil permutasi kemudian di-enchipering sebanyak 8 round. Setiap round menggunakan subkunci yang berbeda.

Pada proses enciphering, blok plainteks dibagi menjadi dua bagian, yaitu kiri (left) dan kanan (right), yang masing – masing panjangnya 32 bit.

Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri (L) dan kanan (R), yang masing – masing panjangnya 32 bit. Kedua bagian ini masuk ke dalam 8 round Rivast. Pada setiap round i, blok L merupakan masukan untuk fungsi transformasi yang disebut fungsi f. Pada fungsi f, blok L dikombinasikan dengan kunci internal Ki. Keluaran dari fungsi f di-XOR-kan dengan blok R yang sudah di-shift sepanjang j untuk mendapatkan blok R yang baru. Sedangkan blok L yang baru didapat dari blok R sebelumnya. Ini merupakan satu round Rivast. Secara matematis dapat dinyatakan sebagai

Li = Ri-1

Ri = R’i-1 XOR f(Li-1,Ki)

Gambar di bawah ini memperlihatkan skema algoritma Rivast yang lebih rinci.

Satu putaran Rivast merupakan adopsi dari jaringan Feistel. Sebelum round pertama, terhadap blokplainteks dilakukan permutasi. Tujuan permutasi ini yaitu untuk mengacak plainteks sehingga bit – bit di dalamnya berubah dan menambah efek difusinya. Permutasi di awal enkripsi ini menggunakan initial permutation algoritma DES, karena memiliki ukuran yang sama yaitu 64 bit.

Satu putaran Rivast merupakan adopsi dari jaringan Feistel. Sebelum round pertama, terhadap blokplainteks dilakukan permutasi. Tujuan permutasi ini yaitu untuk mengacak plainteks sehingga bit – bit di dalamnya berubah dan menambah efek difusinya. Permutasi di awal enkripsi ini menggunakan initial permutation algoritma DES, karena memiliki ukuran yang sama yaitu 64 bit.

Cara membaca table di atas yaitu : “pindahkan bit ke-58 ke posisi bit 1, pindahkan bit ke-50 ke posisi bit 2, dan seterusnya”.

Key Schedule

Karena ada 8 round, maka dibutuhkan kunci internal (subkey) sebanyak 8 buah, yaitu k1, k2, …, k8. KUnci – kunci internal ini dapat dibangkitkan sebelum proses enkripsi atau bersamaan dengan proses enkripsi. Kunci – kunci internal ini dibangkitkan dengan algoritma Nonlinier Feedback shift register 5 stages. Berikut ini fungsi yang digunakan

F(x)= x5 + x4 + x3 + x2 + x + 1

G(x) = x5 + x4 + 1

Periode yang dihasilkan yaitu (25 – 1) (25 – 1) = 961

Seperti yang dijelaskan oleh gambar di atas, output dari f(x) dikenakan operasi multiplication dengan output dari g(x). Kemudian hasilnya di-XOR-kan dengan bit feedback pada g(x). Kunci internal dibangkitkan sebanyak yang diperlukan, lalu nantinya dibagi – bagi per 32 bit untuk dijadikan kunci internal pada round i.

(untuk lebih lengkapnya silahkan download disini)

Posted by: Rickyaji | December 16, 2009

Algoritma Block Cipher Twofish, Finalis AES Candidate

TwoFish menggunakan struktur seperti Feistel sebanyak 16 round dengan tambahan whitening dari input dan output. Yang bukan elemen Feistel hanya rotasi satu bit. Rotasi dapat dipindahkan ke fungsi F untuk membuat struktur Feistel murni, namun hal itu membutuhkan rotasi tambahan pada words sebelum langkah output whitening. Pada figure 1 berikut ini digambarkan keseluruhan dari operasi block cipher TwoFish.

(untuk lebih lengkapnya silahkan download disini)

Older Posts »

Categories