Mengenal A5/1, Algoritma Kriptografi Pada Komunikasi GSM

source: google images
A5/1 cipher adalah stream cipher yang digunakan untuk mengamankan komunikasi privasi lewat udara pada telepon seluler GSM standar. Teknologi GSM memanfaatkan gelombang mikro dan pengiriman sinyal yang dibagi berdasarkan waktu (time slot), sehingga sinyal informasi yang dikirim akan sampai di tujuan. GSM dijadikan standar global untuk komunikasi seluler sekaligus sebagai teknologi seluler yang paling banyak digunakan di seluruh dunia.

A5/1 Cipher digunakan sebagai sistem keamanan ketika MS (Mobile Seluler) dengan BTS (Base Transceiver Station) melakukan pertukaran data yang berbentuk biner. OTP (One Time Pad) adalah dasar operasi yang digunakan pada A5/1 Cipher dengan cara meng-XOR kan keystream dengan plaintext jika ingin membuat ciphertext (enkripsi) atau meng-XOR kan keystream dengan ciphertext jika ingin mengetahui plaintext (dekripsi). Untuk mendapatkan keystream, A5/1 Cipher menggunakan metode LFSR  (Linear Feedback Shift Register). A5/1 Cipher menggunakan tiga register dengan masing-masing memiliki panjang bit, clock serta tap bit.

A5/1 Cipher merupakankriptografi simetris dan untuk mengolah data yang berupa bit menggunakan algoritma stream cipher.

OTP (One Time Pad)

One Time Pad adalah salah satu jenis algoritma simetris (kriptografi konvensional yang menggunakan kunci yang sama untuk enkripsi dan dekripsi). Pada kriptografi OTP jumlah kunci sama panjangnya dengan jumlah plainteks. Jika kalian ingin agar cipherteks sulit untuk dipecahkan maka pemakaian kunci seharusnya tidak menggunakan kunci yang berulang jadi pilihlah kunci yang random.

Pemakaian OTP digunakan pada sederetan abjad A-Z dengan memberikan nilai urutan abjad yaitu A=0, B=1, C=2 dst... sampai Z.

Rumus OTP yakni:
Enkripsi : Ei=(Pi+Ki) mod 26
Dekripsi : Pi=(Ei+Ki) mod 26

Atau jika pada hardware biasanya menggunakan operasi XOR (⊕) dengan data biner (plainteks dan key dirubah ke biner), operasi ini tentu lebih cepat pada hardware:

Enkripsi : Ei=Pi ⊕ Ki
Dekripsi : Pi=Ei ⊕ Ki

Contoh One Time Pad Enkripsi.
source: cprograms4future.com
Pertama kalian tulis plainteksnya misal seperti contoh di atas yakni MEET ME OUT SIDE serta tuliskan representasi angkanya dari tiap-tiap alfabet.
Kedua tuliskan key nya di bawah dan juga representasi angkanya.
Ketiga lakukan operasi XOR (⊕) antara angka representasi dari plainteks tadi dan angka dari key nya, maka akan mendapatkan angka-angka baru kemudian rubah angka tersebut menjadi alfabet sehingga kita dapatkan cipherteksnya.

One Time Pad Dekripsi

Pada proses dekripsi kalian tinggal lihat seperti contoh di atas,  lakukan operasi XOR antara angka dari cipherteks dan angka dari key nya maka akan didapatkan angka dari plainteksnya lalu rubah angka tersebut sesuai abjad.

One Time Pad inilah yang digunakan A5/1 cipher untuk meng-enkripsikan keystream dan plainteks dari telepon seluler GSM kita ke BTS.

LFSR (Linear Feedback Shift Register)

Stephen Herlambang menyatakan bahwa LFSR adalah shift register yang masukannya merupakan fungsi linear dari state sebelumnya. Satu-satunya fungsi linear pada satuan bit adalah XOR, oleh karena itu LFSR adalah shift register yang bit masukannya dibangitkan dengan Exclusive-OR atau XOR beberapa bit dari keseluruhan nilai shift register. Proses metode LFSR 4 bit dapat dilihat pada tabel berikut.
Tabel tersebut menjelaskan skema proses LFSR dengan nilai awal 1 yang bitnya bernilai 0001, langkah-langkah proses skema tersebut yaitu:

1. Melakukan XOR S1 dan S4.
2. S1-S4 bergeser ke kanan sebanyak 1 bit.
3. Output pertama adalah bit pertama.
4. Bit hasil XOR antar S1 dan S4 diinput ke S4 (sebelum digeser).
5. Proses dari 1-4 tersebut diulang 4 kali (sesuai jumlah bit yang digunakan).

A5/1Cipher menggunakan 3 LFSR, register di-clock jika clocking bit nya (oranye) sesuai dengan bit clocking dari salah satu atau kedua dari dua register lainnya.
Register LFSR A5/1 Cipher
A5/1 didasarkan pada kombinasi dari tiga register geser umpan balik (LFSR) dengan irreguler clocking, ketiga register geser ditetapkan sebagai berikut:
bit dari register LFSR
Bit-bit tersebut diindeks dengan bit paling signifikan (LSB) sebagai 0. Kemudia register di-clock dalam mode stop/go menggunakan aturan mayoritas. Setiap daftar memiliki bit pencatatan terkait, pada setiap siklus, bit clocking dari ketiga register diperiksa dan bit mayoritas ditentukan. Register di clock jika bit clocking setuju dengan bit mayoritas. Oleh karena itu pada setiap langkah atau setidaknya dua atau tiga register diberi clock, dan setiap langkah memiliki probabilitas 3/4.

Awalnya register diatur ke nol, kemudian dari 64 cycles, 64 bit private keynya dicampur dalam skema berikut: pada cycles 0 <=  i <= 64, bit kunci ke-i ditambahkan ke bit paling signifikan dari setiap register menggunakan XOR.

R[0]=R[0]⊕K[i] kemudian setiap register diberi clock.

Demikian pula 22 bit nomor frame ditambahkan dalam 22 cycles. Kemudian seluruh sistem diberi clock menggunakan mekanisme clocking mayoritas normal untuk 100 cycles dengan output yang dibuang. Setelah selesai baru cipher menghasilkan 2 urutan 114 bit dari keystream output, 114 pertama untuk downlink, 114 terakhir untuk uplink.

Mekanisme A5/1 Cipher pada GSM

GSM (Global System for Mobile) memiliki 3 aspek keamanan yaitu:
Autentikasi Pengguna
Autentikasi pengguna merupakan kemampuan seluler untuk membuktikan apakah yang melakukan akses adalah pengguna yang sah.
Kerahasiaan Sinyal dan Data
Merupakan proses mengenkripsikan pesan dan data yang hendak dikirimkan.
Kerahasiaan Pengguna
Kerahasiaan pengguna adalah sewaktu jaringan butuh identitas pelanggan atau selama proses autentikasi IMSI (International Mobile Subscribe Identity) yang unik tidak dalam bentuk plainteks (sudah terenkripsi).
source: sensortechforum.com
Jadi A5/1 cipher digunakan sebagai sistem keamanan ketika Mobile Seluler dengan BTS melakukan pertukaran data.

Enkripsi A5/1 Cipher

Langkah pertama tiga LFSR diinisialisasi 0.
LFSR 1:
Dengan panjang 19 bit.
Bit clock terdapat pada bit ke 8.
Tap bit terdapat pada bit ke-13, 16, 17 dan 18.
LFSR 2:
Dengan panjang 22 bit.
Bit clock terdapat pada bit 10.
Tap bit terdapat pada bit ke 20 dan 21.
LFSR 3:
Dengan panjang 23 bit.
Bit clock terdapat pada bit ke 10.
Tap bit terdapat pada bit ke 7, 20, 21 dan 22.
inisialisasi dari 3 LFSR
Langkah Kedua:
Register di-clock 64 kali dengan mengabaikan irregular clocking.
64 bit dari session key di XOR kan secara paralel dengan cara feedback ke dalam 3 register yang sudah diinisialisasi 0.

Selama proses autentikasi antara MS (Mobile Seluler) dengan BTS (Base Transceiver Station) akan menghasilkan 64 bit session key. Session key dihitung oleh suatu algoritma yang disimpan pada SIM card.
Session Key:
0100 1110 0010 1111 0100 1101 0111  1100 0001 1110 1011 1000 1000 1011 0011 1010
tahap pertama
tahap kedua
tahap 3
Begitu seterusnya sampai 64 bit session key habis dimasukkan ke dalam 3 register LFSR.
Hasil akhir yang didapatkan pada cycle ke 64 adalah:
LFSR 1: 0101011010011110011
LFSR 2: 1010010010100111110001
LFSR 3: 10100100001001100010101

Langkah ketiga:
Ketiga register diberi clock sebanyak 22 kali dengan mengabaikan irregular clocking. 22 bit frame counter di XOR dengan feedback dari setiap register.
Frame counter menunjukkan nomor frame yang sebenarnya menjadi cipher. Panjang 1 frame adalah 228 bit.
cycle frame counter pertama
cycle frame counter kedua
cycle frame counter ketiga
Begitu seterusnya sampai 22 bit frame counter habis dimasukkan ke dalam 3 register LFSR. Hasil akhir yang didapatkan pada cycle ke 22 adalah:
LFSR 1: 1101110101111101110 
LFSR 2: 0011111000100101000101 
LFSR 3: 00001011000110011010010

Langkah Keempat:
Ketiga register diberi clock sebanyak 100 kali dengan memperhatikan irregular clocking. Cycle 1/100 dimulai dari irregular clocking yang sama antara dua register atau lebih sedangkan hasil irregular clocking yang berbeda diabaikan.
cycle irregular clocking pertama
cycle irregular clocking kedua
cycle irregular clocking ketiga
Begitu seterusnya sampai 100 kali clocking, hasil akhir pada cycle ke 100 adalah:
LFSR 1 : 1110101101000010011 
LFSR 2 : 0110111000111010001100 
LFSR 3 : 01010101111111011010100

Langkah kelima :
Inisialisasi ketiga register telah selesai. Ketiga register diberi clock sebanyak 228 kali dengan memperhatikan irregular clocking. Output dari hasil XOR setiap register akan menghasilkan keystream dengan panjang 228 bit.
1/228 keystream
2/228 keystream
Begitu seterusnya sampai 228 kali clocking dan hasil akhir cycle ke 228 adalah:
228/228 keystream
Langkah terakhir adalah meng XOR kan 228 bit keystream dengan 228 bit plainteks untuk merubahnya menjadi cipherteks. Ini akan menghasilkan satu frame communication dengan panjang 228 bit.
Untuk membuat cipherteks dari frame data lain, register diinisialisasikan lagi menggunakan sesion key yang sama dan frame counter ditambah satu. Session key berubah ketika operator jaringan memutuskan untuk mengotentikasi perangkat seluler GSM.

Dekripsi A5/1 Cipher

Berbeda dengan enkripsi, proses dekripsi A5/1 sangat mudah karena tergolong One Time Pad.
Langkah yang dilakukan cukup dengan meng XOR kan cipherteks dengan key streamnya saja.

catatan:
sebelum share harap menyertakan sumber tulisan, hargai tulisan orang lain jika ingin dihargai.

jika tulisan ini bermanfaat bisa kalian share karena "sharing is caring".

referensi:
Handbook of Applied Cryptography, CRC Press, USA.
Majalah Ilmiah INTI, "Implementasi Vigenere Cipher dengan Random Key Metode Linear Feedback Shift Register (LFSR) pada Teks".
Presentasi Kriptografi Enkripsi dan Dekripsi, Teknik Informatika UIN Syarif Hidayatullah Jakarta.
Cryptography: Fundamentals and applications. Copies of transparencies, Advanced Technology Seminars.
Applied Cryptography: Protocols Algorithms and Source Code in C, Second Edition. New York: John Wiley & Sons, Inc

0 Response to "Mengenal A5/1, Algoritma Kriptografi Pada Komunikasi GSM"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel