Analisis Keamanan Protokol GSM R.Farid Nugraha & Tri Sumarno

dokumen-dokumen yang mirip
GSM Attack (IMSI Catch and Fake SMS) Arif Wicaksono & Tri Sumarno

BAB II TEORI PENUNJANG

GSM Security Ratih Hardiantina 1, Siti Awaliyah 2, dan Sandra Syafwin 3

BAB II JARINGAN GSM. telekomunikasi selular untuk seluruh Eropa oleh ETSI (European

: RANCANG BANGUN SIMULASI ENKRIPSI PADA KOMUNIKASI GSM

BAB II LANDASAN TEORI

Arsitektur Jaringan GSM. Pertemuan XIII


STUDI DAN ANALISIS ALGORITMA KRIPTOGRAFI PADA JARINGAN SELULER

BAB II TEKNOLOGI GSM DAN STANDAR PROTOKOL SMS

BAB II KOMUNIKASI BERGERAK SELULAR GSM

BAB III LANDASAN TEORI

BAB II LANDASAN TEORI

Oleh : Budi Nugroho ( L2F )

BAB III ANALISIS MASALAH

BAB II PENGENALAN SISTEM GSM. tersedianya kemudahan disegala bidang yang mampu menunjang usaha dibidang

ANALISIS KUALITAS PANGGILAN DENGAN MENGGUNAKAN BAHASA PEMOGRAMAN VISUAL BASIC PADA JARINGAN. GSM PT. INDOSAT, Tbk

BAB II LANDASAN TEORI

Fast Correlation Attack pada LILI-128

Analisa Performansi Pengiriman Short Message Service (SMS) Pada Jaringan CDMA

BAB II LANDASAN TEORI

BAB II ARSITEKTUR SISTEM CDMA. depan. Code Division Multiple Access (CDMA) merupakan salah satu teknik

Global System for Mobile Communication ( GSM )

Penerapan Kriptografi dalam Sistem Keamanan SMS Banking

Serangan pada Algoritma A3,A5,dan A8 di Jaringan GSM dan Penerapan Elliptic Curve Chryptography Untuk Mengatasinya

Kript p ogr g a r f a i f d a d l a am a Keh e idu d pa p n a S eh e ari a -ha h ri a Yus Jayusman 1

PENGANTAR TELEKOMUNIKASI

PENGOLAHAN DATA DAN ANALISIS CALL SETUP SUCCESS RATE (CSSR) PERFORMANCE PT. INDOSAT,

MODUL-10 Global System for Mobile Communication (GSM)

PENGANTAR SISTEM KOMUNIKASI SELULER

PEMANFAATAN PONSEL SEBAGAI PERANGKAT MONITORING JARINGAN GSM BERBASIS PERSONAL KOMPUTER

BAB II DASAR TEORI. 2.1 Arsitektur GSM

TEKNOLOGI SELULER ( GSM )

BAB II LANDASAN TEORI 2.1 PENDAHULUAN

BAB II LANDASAN TEORI

ANALISIS PERFORMANSI REHOMMING BR 9.0-EVOLUSION BSC (ebsc) PADA JARINGAN GSM PT TELKOMSEL DI MAKASSAR

1.2 Arsitektur Jaringan GSM

Analisis Kualitas Sinyal GSM di Kecamatan Syiah Kuala Menggunakan Nokia Network Monitor

WIRELESS & MOBILE COMMUNICATION ARSITEKTUR JARINGAN SELULER

D a t a b a s e M e n a r a T e l e k o m u n i k a s i. Page 26

BAB II TEORI DASAR 2.1 GLOBAL SISTEM FOR MOBILE (GSM)

BAB II DASAR TEORI. Global System for Mobile Communication (GSM) adalah sistem

BAB II LANDASAN TEORI. 2.1 Subsistem base transceiver station (BTS)

BAB II SISTEM TELEKOMUNIKASI GSM. Global System for Mobile Communication (GSM) merupakan salah satu trend

Kata kunci : GSM (Global System Mobile), KPI, CDR, seluler

BAB III LANDASAN TEORI

PERANCANGAN PROTOKOL SMS BANKING

Gambar 2.1 Logo GSM (Sumber:

VISUALISASI PROSES OTENTIFIKASI PADA SISTEM KOMUNIKASI GSM (GLOBAL SYSTEM FOR MOBILE COMMUNICATION)

AUTOMATIC METER READING (AMR) MENGGUNAKAN JARINGAN GLOBAL SYSTEM FOR MOBILE (GSM) SEBAGAI MEDIA KOMUNIKASI

MOBILITY MANAGEMENT DALAM SISTIM NIRKABEL BERGERAK

BAB II LANDASAN TEORI

ANALISA TEKNIK OTENTIKASI EAP-SIM PADA 3G WIFI

Oleh : Slamet Joyo Mulyono ( L2F )

Implementasi Short Message Service pada Jaringan GSM Menggunakan OpenBTS v 5.0

Makalah Seminar Kerja Praktek. PERANGKAT MOBILE MEDIA GATEWAY R5.0 (M-MGW R5.0) PADA NETWORK SWITCHING SUBSYSTEM (NSS) PT. INDOSAT, Tbk SEMARANG

Perkembangan Teknolgi Wireless: Teknologi AMPS Teknologi GSM Teknologi CDMA Teknologi GPRS Teknologi EDGE Teknologi 3G, 3.5G Teknologi HSDPA, HSUPA

Perbandingan Security Antara GSM dan CDMA

BAB II TINJAUAN PUSTAKA. 2.2 Awal Perkembangan GSM (Global System for Mobile Communications ) di

PENDAHULUAN TINJAUAN PUSTAKA. diimplementasikan pada jaringan telekomunikasi di Indonesia. Latar Belakang

TUGAS AKHIR ANALISA PERFORMANSI JARINGAN BTS GSM/DCS NOKIA DI SEKITAR AREA UNIVERSITAS MERCU BUANA

DASAR TEORI. Merupakan jaringan packet-switched yang ditumpangkan (overlaid) ke jaringan

BAB II DASAR TEORI. 2.1 Sistem Komunikasi Seluler dan Perangkatnya Awal Perkembangan Teknologi Selular

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

PENS SISTIM SELULER GENERASI 2 POLITEKNIK ELEKTRONIKA NEGERI SURABAYA By: Prima Kristalina

Jurnal ICT Vol 3, No. 5, November 2012, hal AKADEMI TELKOM SANDHY PUTRA JAKARTA

TUGAS AKHIR ANALISIS PENERAPAN BASEBAND HOPPING PADA SISTEM TELEKOMUNIKASI SELULER GSM DALAM MENINGKATKAN KEBERHASILAN PANGGILAN

Studi dan Perbandingan Penggunaan Kriptografi Kunci Simetri dan Asimetri pada Telepon Selular

BAB II ASPEK TEKNIS JARINGAN GSM

TUGAS AKHIR ANALISA MESSAGE ISUP TRUNK INTERKONEKSI INDOSAT-TELKOM PASKA MIGRASI GATEWAY INTERKONEKSI PSTN TELKOM SEMARANG

Kriptografi dalam Kehidupan Sehari-hari (Bagian 1)

TUGAS TRANSLATE II (Mid-Term) Mata Kuliah Sistem Komunikasi Nirkabel Generasi Baru Indra Agustian, 06264

BAB II LANDASAN TEORI


BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. Beberapa acuan yang digunakan dalam pengembangan sistem dan aplikasi

BAB I PROTOKOL KOMUNIKASI

Teknik Transmisi Seluler (DTG3G3)

KEPUTUSAN DIREKTUR JENDERAL POS DAN TELEKOMUNIKASI NOMOR : 23 / DIRJEN / 2004 TENTANG

BAB III SISTEM TRACKING ARMADA

Mengenal GSM (Global System for Mobile communication)

BAB II SISTEM TELEKOMUNIKASI BERGERAK. AMPS (Advance Mobile Phone System) sampai ke GSM (Global System. bahkan 1900 MHz khusus di Amerika Utara.

BAB II LANDASAN TEORI DAN TINJAUAN PUSTAKA

BAB II SISTEM KOMUNIKASI SELULER. Komponen fundamental dari suatu sistem GSM (Global System for Mobile

RANCANG BANGUN SISTEM INFORMASI AKADEMIK BERBASIS WEB DENGAN SMS GATEWAY

Gambar II.7 Skema 2 nd Generation (2G) Network. 2) BTS / RBS : Base Transceiver Station / Radio Base Station

BAB III. KONFIGURASI MSC DAN MSS PT. INDOSAT, Tbk.

Teknik Transmisi Seluler (DTG3G3)

Kajian Teknologi Layanan Free-Repply-SMS

SCHEME OF SMS GATEWAY FOR INFORMATION ON OUTPATIENT TREATMENT AT RSUD Dr M. ZEIN PAINAN SUPPORTED BY THE PROGRAMMING LANGUAGE PHP & MYSQL

BAB III LANDASAN TEORI. komponen. Berdasarkan pendekatan prosedur, sistem didefinisikan sebagai

KAJIAN TEKNOLOGI LAYANAN FREE-REPPLY-SMS

PERANGKAT SGSN R7 ( SERVING GPRS SUPPORTING NODE

DAFTAR ISTILAH. sistem seluler. Bit Error Rate (BER) : peluang besarnnya bit salah yang mungkin terjadi selama proses pengiriman data

BAB III LANDASAN TEORI. Dalam konferensi WARC (World Administrative Radio Conference) tahun

ABSTRAK. ANALISIS QoS LAYANAN SMS OPERATOR X

Telepon Seluler diyakini sbg gabungan teknologi telepon (Alexander Graham Bell, 1876) & Radio (Nikolai Tesla, 1880; Guglielmo Marconi, 1894)

BAB II TEKNOLOGI GSM DAN PERTUMBUHAN PELANGGAN SELULER DI INDONESIA

Memahami maksud dan tujuan sistem komunikasi bergerak Memahami frekuensi yang digunakan dalam sistem komunikasi bergerak Menjelaskan evolusi pada

KONSEP DASAR SELULER. (DTG3G3) PRODI D3 TT Yuyun Siti Rohmah,ST.,MT

Transkripsi:

Analisis Keamanan Protokol GSM R.Farid Nugraha & Tri Sumarno farid_@msn.com, tri.sumarno.sh@gmail.com Pendahuluan Global System for Mobile Communication a.k.a GSM adalah sebuah teknologi komunikasi selular yang bersifat digital. Teknologi GSM banyak diterapkan pada komunikasi bergerak, khususnya telepon genggam. Teknologi ini memanfaatkan gelombang mikro dan pengiriman sinyal yang dibagi berdasarkan waktu, sehingga sinyal informasi yang dikirim akan sampai pada tujuan. GSM dijadikan standar global untuk komunikasi selular sekaligus sebagai teknologi selular yang paling banyak digunakan orang di seluruh dunia. Pada paper ini kami akan membahas mengenai bagaimana seseorang dapat melakukan aktifitas hacking terhadap jaringan GSM tersebut. GSM Network Biasanya arsitektur jaringan GSM dibagi menjadi 3 bagian: 1. Mobile Station (MS) 2. Base Station Sub-system (BSS) 3. Network Sub-system (NSS), Dan seluruh elemen network di atas akan membentuk sebuah PLMN (Public Land Mobile Network), seperti gambar di bawah : Mobile Station atau MS merupakan perangkat yang digunakan oleh pelanggan untuk melakukan pembicaraan, terdiri atas: Mobile Equipment (ME) atau handset (UM), merupakan perangkat GSM yang berada di sisi pengguna atau pelanggan yang berfungsi sebagai terminal transceiver (pengirim dan penerima sinyal) untuk berkomunikasi dengan perangkat GSM lainnya. Subscriber Identity Module (SIM) atau SIM Card, merupakan kartu yang berisi seluruh informasi pelanggan dan beberapa informasi pelayanan. ME tidak akan dapat digunakan tanpa SIM di dalamnya, kecuali untuk panggilan darurat. Data yang disimpan dalam SIM secara umum, adalah: IMSI (International Mobile Subscriber Identity), merupakan penomoran pelanggan. MSISDN (Mobile Subscriber ISDN),nomor yang merupakan nomor panggil pelanggan.

Base Station System atau BSS, terdiri atas: BTS Base Transceiver Station, perangkat GSM yang berhubungan langsung dengan MS dan berfungsi sebagai pengirim dan penerima sinyal. BSC Base Station Controller, perangkat yang mengontrol kerja BTS-BTS yang berada di bawahnya dan sebagai penghubung BTS dan MSC. Network Sub System atau NSS, terdiri atas: Mobile Switching Center atau MSC, merupakan sebuah elemen network central dalam sebuah jaringan GSM. MSC sebagai inti dari jaringan seluler, dimana MSC berperan untuk interkoneksi hubungan pembicaraan, baik antar selular maupun dengan jaringan kabel PSTN, ataupun dengan jaringan data. Home Location Register atau HLR, yang berfungsi sebagai sebuah database untuk menyimpan semua data dan informasi mengenai pelanggan agar tersimpan secara permanen. Visitor Location Register atau VLR, yang berfungsi untuk menyimpan data dan informasi pelanggan. Authentication Center atau AuC, yang diperlukan untuk menyimpan semua data yang dibutuhkan untuk memeriksa keabsahaan pelanggan. Sehingga pembicaraan pelanggan yang tidak sah dapat dihindarkan. Equipment Identity Registration atau EIR, yang memuat data-data pelanggan. Layer Pada GSM Pada jaringan GSM terdapat 3 layer seperti di bawah ini. Layer 1 atau bisa disebut physical layer yang fungsinya mengatur channel vie OTA. Layer 2 atau data-link layer fungsinya untuk mengenali data yang dikirimkan dari UM ke BTS. Layer 3 terdapat 3 bagian RR(Radio Resource), MM(Mobility Management) dan CC (call control) yang berfungsi sebagai pengatur radio, management mobile dan call control. Latar Belakang Permasalahan Adapun latar belakang permasalahan yang terdapat di jaringan GSM yaitu karena bocornya design dari enkripsi pada tahun 1994, sehingga bisa dilakukan serangan seperti sniffing voice. Analisis Paket Pada tahap ini saya melakukan analisis paket GSM pada salah satu provider indonesia sebut saja provider XXX. Untuk melakukan analisis paket kami menggunakan beberapa device (openmoko) dan menggunakan wireshark untuk mengetahui beberapa informasi yang digunakan di jaringan GSM tersebut. seperti: Enkripsi yang digunakan. Berada di ARFCN mana. Menentukan lokasi keberadaan handphone, dan lain-lain.

Pada contoh pertama, saya akan menganalisa paket enkripsi yang digunakan provider XXX. Untuk gambar bisa dilihat seperti di bawah: Pada gambar di atas enkripsi yang digunakan di Provider XXX menggunakan A5/1. Pada paket ke-2 kita bisa melihat lokasi ARFCN, karena ARFCN merupakan penentu signal uplink dan downlink terhadap suatu jaringan GSM. Bisa dilihat dari gambar di atas bahwa provider XXX menggunakan arfcn 881. Untuk lebih detail, frekuensinya seperti di bawah ini: * ARFCN: 881 * Frekuensi downlink: 1879000000 Hz * Frekuensi uplink: 1784000000 Hz * Distance: 95000000 Hz * Offset: 512 * Band: GSM1800 (DCS 1800)

Bisa diasumsikan bahwa provider XXX menggunakan enkripsi A5/1 dan frekuensi 1879000000 Hz untuk downlink dan 1784000000 Hz untuk uplink. Namun ARFCN tidak statik pada suatu hubungan komunikasi. A5/1 A5/1 adalah stream cipher yang digunakan mengenkripsi komunikasi Over-The-Air dalam standar telepon selular GSM. A5/1 digunakan di Eropa dan Amerika Serikat. Pengembangan A5/1 adalah A5/2 untuk jaringan 2G dan A5/3 untuk jaringan 3G keatas. A5/1 dikembangkan pada tahun 1987, dan A5/2 pada tahun 1989, namun desain dari kedua enkripsi tersebut bocor pada tahun 1994 dan berhasil di pecahkan pada tahun 1999 oleh Marc Briceno. Pada tahun 2000, jumlah pengguna GSM sekitar 130 juta. Saat ini, 3,5 miliar dari 4,3 miliar koneksi nirkabel di dunia menggunakan GSM (= A5/1 + A5/2). Otentikasi Ketika sebuah MS melakukan komunikasi ke sebuah BTS. MS mengidentifikasikan dirinya menggunakan IMSI dan IMEI, dan BSC melakukan komunikasi terhadap MSC untuk merespon IMSI tersebut. Fungsi otentikasi adalah untuk meyakinkan bahwa MS merupakan pengguna yang sah. Untuk ilustrasi bisa dilihat pada gambar berikut ini: 1. MS mengirimkan IMSI dan IMEI ke BSC 2. BSC meminta (IMSI, IMEI) ke MSC 3. MSC memberikan respon (RAND, SRES, Ki ) 4. BSC meneruskan RAND ke MS 5. MS memberikan respon SRES 6. BSC memeriksa SRES

Proses Kc pada A5/1 Gambar di atas merupakan salah satu proses bagaimana terjadinya Kc yang digunakan untuk mengirim dan menerima suatu komunikasi. RAND - adalah nomor acak yang dihasilkan oleh AUC ketika pelanggan melakukan permintaan autentikasi ke jaringan. RAND digunakan untuk menghasilkan SRES dan Kc. Ki - adalah kunci otentikasi yang dipasangkan dengan IMSI saat kartu SIM dibuat. Ki hanya disimpan pada kartu SIM dan pada Authentication Center (AUC). Ki tidak pernah harus ditransmisikan melalui jaringan GSM. A8 - Algoritma untuk menghitung Kc. Ki dan RAND yang dimasukkan ke dalam algoritma A8 dan hasilnya adalah Kc. Algoritma A8 berada pada kartu ISM dan pada AUC. Kc - Kc adalah kunci yang digunakan dalam algoritma enkripsi A5 untuk menulis dan menguraikan data yang sedang dikirim pada suatu komunikasi.

Attack Berawal pada tahun 1997 oleh golic dengan tekniknya linier equation system dengan kompleksitas yang di peroleh 2 40.16 Lalu pada tahun 2000 serangan dicoba kembali oleh Alex Biryukov beserta Adi Shamir dan David Wagner dengan mendemokan serangan A5/1 secara real-time dengan kompleksitas 2 48 dan membutuhkan 300GB. Stream cipher A5/1 adalah algoritma yang kuat oleh sebab itu membutuhkan resource komputer yang besar. Percakapan dalam GSM dikirim berdasarkan frame per frame dimana setiap frame dikirim setiap 4.6milidetik. Setiap frame berisi 114bits dikirim untuk komunikasi dari MS kepada BTS. Setiap percakapan dienkirpsi dengan sesion key Kc, kunci Kc akan dipadukan dengan public frame yang diketahui, dapat dinotasikan dengan fn yang dimana n adalah frame yang diketahui dan hasilnya server akan menginisialisasikan register yang telah digeser dengan A5/1 generator, yang menggunakan prosedur 288bit untuk keystream yang akan dihasilkan nantinya, dan kemudian keystream tersebut akan dihitung menggunakan tehnik XOR dengan 288bit plaintext untuk membuat prosedur ciphertext (enkripsi: chipertext = keystream XOR plaintext. dekripsi: keystream XOR chipertext) A5/1 menggunakan tehnik tiga LFSR dengan mempunyai panjang 19,22,23 pada lfsr, dimana dapat dinotasikan sebagai R1,R2,R3, semua lfsr adalah primitive feedback polymonial, berikut adalah kondisi perhitungan penguncian tap dan register pada lfsr: Berikut adalah ilustrasi dari tiga lsfr, yang dimana keystream dari A5/1 diberikan sebagai XOR untuk tiga lfsr tersebut: LFSR mengunci dengan cara irregular, dengan memulai atau menghentikan mengikuti peraturan mayoritas, dimana register yang lain telah di kunci oleh tiap-tiap tap, dinotasikan C1,C2,C3, di sisi lain lfsr mengunci yang lainnya sesuai dengan kondisi tiga tap serangan korelasi dasar. Kita mulai dengan menghadirkan beberapa pengamatan mendasar.

Pertama, dari inisialisasi kunci deskripsi, kami mencatat bahwa keadaan awal adalah fungsi linear Kc dan Fn. Kc = (k1, k2,..., K64) dan Fn = (f1, f2,..., f22), dimana ki, fi element dari F2. U10, U11,... akan menjadi urutan output LFSR dengan penguncian key R1 secara teratur yang dihasilkan dari frame hasil inisialisasi (di mulai dari R1 sampai R3). Demikian pula U20, U21,... menjadi urutan output LFSR diproduksi teratur oleh clocking R2, dan akhirnya, U30, U31,... menjadi LFSR merupakan urutan output dari R3 saat clock teratur. Berarti (U10, U11,..., u118) membentuk keadaan awal R1 untuk memberikan frame sama seperti R2 dan R3. Ingat dari bagian linear dimana kunci Kc dan frame nomor Fn bersama-sama membentuk keadaan awal dari frame. Mengingat pengamatan ini, kita bisa menulis setiap LFSR simbol keluaran dari R1 sebagai: Untuk beberapa biner dikenal konstanta c1it > i = 1,..., 64, t 0, dan d1it i = 1,..., 22, t 0. Kami memperkenalkan notasi sebagai berikut: Kemudian kita dapat menulis u1t= s1t+ f1t, t 0. Dimana s1t sebagai urutan bagian kunci dari urutan u1t dan f1t disebut nomor rangka bagian dari u1t tentu saja, kami juga bisa menulis: Untuk beberapa biner dikenal konstanta c1it, i = 0,..., 18, t 0. Perhatikan bahwa S10, s11, s12,... adalah urutan biner yang tidak diketahui (2^19 kemunginan) yang tetap sama untuk semua frame dalam percakapan (itu tergantung hanya pada Kc, selama percakapan). Selanjutnya, f11, f12,..., Merupakan kontribusi yang dikenal dari perhitungan frame yang berbeda untuk setiap frame. Karena jumlah frame selalu dikenal atas urutan f11, f12,..., dapat dihitung untuk setiap frame. Untuk register R2 dan R3 kita dapat menggunakan cara yang sama untuk menulis simbol output: Dengan konstanta biner c2it, c3it, i = 1,..., 64, t 0 dan d2it, d3it, i = 1,..., 22,t 0. Setelah notasi untuk R1:

Untuk bagian kunci dan nomor rangka bagian register dari urutan output u2t dan u3t, R2 dan R3. u2t= s2t+ f2t, t 0, u3t= s3t+ f3t, t 0. Ide yang sangat mendasar bagi serangan korelasi pada A5/1 kemudian disempurnakan z1, z2,..., Z228 menunjukkan keystream dari A5/1 dalam frame tertentu. Mari kita perhatikan apa yang terjadi setelah LFSR menerima nilai awal. Penguncian register awal dicoba 100 kali secara teratur, untuk menghasilkan output, maka penguncian pertama dan simbol output pertama dihasilkan setiap 4 kali pergeseran register dalam waktu rata-rata 3 kali, setelah 101 kali penguncian mulai tidak teratur dikarenakan setiap pergeseran telah melewati 76 kali (maksudnya ada yang terlewatkan pada pergeseran sebanyak 76 kali). Diasumsikan sejenak bahwa masing-masing tiga LFSR telah mengunci dengan tepat 76 kali. Kemudian bit z1 yang dihasilkan adalah XOR dari output dari tiga LFSR u176 + u276 + u376 = z1. Ketika f1, f2,... adalah kuantitas dalam setiap frame, kita hanya dapat menghitung kontribusinya ke bit output selanjutnya. Kita dapat menulis ulang sebagai s176 + s276 + s376 = f176 + f276 + f376 + z1. Perhatikan bahwa sisi kanan hanya mengandung jumlah yang diketahui. Dinotasikan dalam frame sebagai j, dengan Oj(76,76,76,1). Dengan asumsi bahwa setiap LFSR telah terkunci sebanyak 76 kali, kita mendapatkan satu bit informasi tentang kunci dalam bingkai j, karena s176 + s276 + s376 = Oj(76,76,76,1). Tentu saja, jika asumsi tersebut tidak benar kita bisa mengharapkan persamaan di atas untuk memegang ½ probabilitas. Oleh karena itu, kami telah mengidentifikasi korelasi dengan menghitung P (s176 + s276 + s376 = Oj(76,76,76,1)) = P (asumsi yang benar) 1+ P (asumsi yang salah) 1/2. Dalam hal ini kemungkinan ketiga LFSR dapat mengunci sebanyak 76 kali, sekitar 3-10 kali perhitungan P (s176 + s276 + s376 = Oj(76,76,76,1)) = 1/2 + 1/2 10-3. s176 + s276 + s376, dimana nilai semua frame tetap konstan. Sekarang tidak sulit untuk menunjukkan bahwa jika kita memiliki sedikit akses ke satu juta frame dan dengan demikian dapat dihitung Oj(76,76,76,1) untuk setiap frame, maka s176 + s276 + s376 dapat ditentukan. Nilai s176 + s276 + s376 memberi kita satu bit informasi tentang kunci. Dengan mempertimbangkan tiga kali yang diasumsikan untuk jumlah penguncian dari tiga LFSR, kami dapat memperoleh informasi lebih lanjut tentang kunci dan akhirnya dapat dikembalikan. Serangan yang dijelaskan sebelumnya sangat sederhana, namun memiliki kelemahan yang memerlukan banyak frame. Pada bagian ini kita menunjukkan bagaimana serangan dapat lebih efisien dengan menunjukkan keystream yang dihasilkan setelah inisialisasi dengan kunci Kc dan perhitungan frame Fn oleh w0, w1,..., W328. Ingat bahwa simbol pertama 101, w0, w1,..., W100 dibuang selama inisialisasi dan keystream zi diberikan oleh z1 =W101, W102 z2 =,...,Z228 = w328. Dan dapat diasumsikan tiga kali penguncian (CL1, Cl2, Cl3) dari register R1, R2 dan R3. Penguncian ini mungkin terjadi dibeberapa posisi keystream, penguncian (79,79,79) kemungkinan tidak hanya muncul pada posisi 101 tetapi juga pada posisi 102, 103,..., dan seterusnya. Posisi keystream sebelum 101 tidak dipertimbangkan karena mereka dibuang dan tidak dapat diakses. Seperti P ((CL1, Cl2, Cl3)) dalam posisi VTh,menyatakan probabilitas clocking (CL1, Cl2, Cl3) terjadi pada posisi v (yaitu keystream simbol wv). Mengingat triple clocking tertentu (CL1, Cl2, Cl3), kita dapat menghitung interval I untuk v, dimana cloking tersebut memiliki probabilitas yang tidak diabaikan. Jadi bukan hanya menggunakan satu posisi keystream ketika menghitung probabilitas korelasi kita dapat menggunakan semua posisi (v 101) dimana ada kejadian probabilitas yang tidak diabaikan. Dalam frame j kita menghitung probabilitas korelasi, yang dilambangkan pj(cl1, Cl2, Cl3) = P (s1cl1 + s2cl2 + s3cl3= 0), dapat menggunakan rumus seperti di bawah:

Dimana, F(cl1, cl2, cl3, 0) = 1 if cl1 = 0, cl2 = 0 and cl3 = 0, F(cl1, cl2, cl3, v) = 0 if cl1 < 0 or cl2 < 0 or cl3 < 0, F(cl1, cl2, cl3, v) = 0 if cl1 > v or cl2 > v or cl3 > v, F(cl1, cl2, cl3, v) = 0.25F(cl1 1, cl2 1, cl3 1, v 1)+ 0.25F(cl1, cl2 1, cl3 1, v 1)+ 0.25F(cl1 1, cl2, cl3 1, v 1)+ 0.25F(cl1 1, cl2 1, cl3, v 1), Rumus di atas akan memberikan probabilitas yang tepat di bawah asumsi independen seragam peguncian pada bit. Kami akan menggunakan probabilitas ini untuk mendekati nilai aktual A5/1. Pendekatan ini bekerja dengan baik ketika probabilitas cukup tinggi (seperti dalam kasus dipertimbangkan dalam serangan ini), karena ada beberapa nilai awal yang berbeda dengan memberikan nilai yang diinginkan (CL1, Cl2, Cl3, v). Berdasarkan asumsi yang sama seperti di atas, kita dapat memberikan rumus agak lebih mudah yang memberikan ekspresi tertutup untuk probabilitas Rumus di atas dapat diturunkan dengan argumen sebagai berikut. LFSR pertama yang tidak dikunci waktu v-cl1 Untuk posisi yang tersisa, LFSR kedua harus tidak mengunci v - Cl2. Posisi ini tidak harus bertepatan dengan posisi dimana LFSR pertama dihentikan, karena setiap penguncian dapat menghentikan proses jika proses lebih dari satu. Demikian juga untuk LFSR ketiga dan pada posisi yang tersisa, ketiga register perlu dikunci. Hal ini menyebabkan distribusi multinomial diberikan Ekspresi memberikan nilai sama untuk setiap penguncian yang valid (CL1, Cl2, Cl3) dalam posisi v, misalnya itu akan gagal untuk (0, 0, 0) di posisi 10.

Perbandingan nilai diberikan dan taksiran nilai dari simulasi semua A5/1. nilai harus dikalikan dengan 10-4. Tabel diatas memberikan indikasi validitas pendekatan tersebut dengan membandingkan perkiraan nilai berdasarkan 100 juta simulasi A5/1. Kami memberikan contoh fiktif kecil untuk memperjelas selama tiga urutan yang berbeda dari nilai Oj(CL1, Cl2, Cl3, v-100), v = 101, 102,..., 106. Perhatikan bahwa probabilitas yang diberikan, kami telah memilih I = {101,..., 106}. Kami melihat dari contoh, jika kita menghitung urutan Oj(CL1, Cl2, Cl3, v-100),v = 101, 102,..., 106 menjadi hanya nol dalam interval I, menggunakan frame yang dikenal jumlah dan keystream z, maka probabilitas bahwa s1 bagian penting CL1 + s2cl2 + s3cl3 untuk penguncian tertentu adalah nol (0,9). Jika kita menghitung urutan yang sama, kemungkinan kunci menggunakan nol (0,1). jika kita memiliki campuran dari satu dan nol kita melihat bahwa nol diamati pada posisi dimana terdapat probabilitas yang lebih tinggi, sehingga dalam hal ini kita memilih s1 CL1 + s2cl2 + s3cl3 menjadi nol, karena kemungkinan sedikit lebih tinggi (0.62). Untuk menggunakan informasi dalam semua frame yang tersedia untuk memperkirakan nilai s1 kombinasi linear CL1 + s2cl2 + s3cl3,kita akan menggunakan kemungkinan dari log-likelihood. Pertama, tentukan P (CL1, Cl2, Cl3) = P (s1cl1 + s2cl2 + s3cl3= 0) sebagai probabilitas total s1cl1 + s2cl2 + s3cl3=0, mengambil alih semua frame. Ingat bahwa pj(cl1, Cl2, Cl3) dilambangkan sama untuk frame ke j saja. Kemudian menentukan log-rasio kemungkinan Λ (CL1, Cl2, Cl3) p (CL1, Cl2, Cl3) sebagai berikut Dimana ln adalah logaritma natural. Kita sekarang dapat menemukan atas semua perkiraan dari Λ (CL1, Cl2, Cl3)

Contoh tiga urutan yang berbeda Oj(CL1, Cl2, Cl3, v) dan sesuai pj(cl1, Cl2, Cl3) probabilitas dihitung menurut perhitungan frame: Dimana m adalah jumlah frame yang tersedia. Untuk rasio Λ log-likelihood didefinisikan sebagai Λ =0 ifp(s1cl1 + s2cl2 + s3cl3= 0) = 1/2, Λ >0 ifp(s1cl1 + s2cl2 + s3cl3= 0) > 1/2, Λ <0 ifp(s1cl1 + s2cl2 + s3cl3= 0) < 1/2. Kami sekarang akan beralih ke pilihan parameter spesifik. Kita menggambarkan tahap akhir serangan, dimulai dari posisi 79, kita memilih interval yang sesuai dengan panjang 8, C1 = {79,..., 86}, dan melihat semua kombinasi linear dari s1cl1 + s2cl2 + s3cl3 dimana masing-masing CL1, Cl2, Cl3 berjalan di C1. Untuk setiap nilai seperti (CL1, Cl2, Cl3) dan untuk setiap frame j = 1,..., M, kita menghitung pj(cl1, Cl2, Cl3) dan untuk menghitung Λ (CL1, Cl2, Cl3). Menggunakan Λ (CL1, Cl2, Cl3) akhirnya kami memperkirakan kombinasi linear dari bit kunci dengan keputusan yang sulit. Misalnya, jika Λ (79,79,79) = 2.56 kami memperkirakan s179 + s279 + s379 = 0, jikaλ (79,79,80) = -0,93 maka s179 + s279 + s380 = 1, dan lain-lain. Kami mencatat bahwa ketika (CL1, Cl2, Cl3) berjalan melalui semua nilai yang mungkin diinterval tertentu ukuran 8, ini memberikan sistem 83 = 512 persamaan linear dengan 8 +8 +8 = 24 variabel yang tidak diketahui. Masalah untuk menemukan nilai yang benar dari 24 variabel setara dengan masalah decoding panjang 512 kode linier dimensi 24. Perkiraan bit dapat dilihat sebagai kata yang diterima dari panjang 512 dan persamaan yang sesuai adalah persamaan cek paritas untuk kode. Jika kita memiliki frame yang cukup untuk membuat perkiraan yang cukup akurat, kita bisa memecahkan kode kata dan menemukan 24 bit dari kunci yang diterima. Karena rasio Λ log-likelihood merupakan nilai probabilitas, itu juga memungkinkan untuk menggunakan algoritma decoding. Algoritma ini akan diharapkan untuk lebih baik dibandingkan algoritma decoding lainnya, karena mengambil keuntungan dari informasi. Namun, kami telah mencoba decoding dan masih kurang efisien. Ketika jumlah frame probabilitas cenderung untuk 0 atau 1 lebih cepat, sehingga mengurangi keuntungan dari decoding. Menurunnya kompleksitas algoritma decoding tampaknya menjadi pilihan yang lebih baik dalam hal ini. Tabel di bawah menunjukkan rata-rata, jumlah maksimum dan minimum dari perkiraan yang benar untuk 512 persamaan dalam jangka 60 simulasi, dengan menggunakan prosedur yang dijelaskan.

Jumlah estimasi yang benar untuk persamaan sistem 512. Menggunakan interval C1 = {79,..., 86} kita memecahkan untuk bit s179,..., s186, s279,...,s286 dan s379,..., s386 bagian penting dari register. Diberikan nilai 8 + 8 + 8 = 24 bit informasi tentang Kc (dalam bentuk linier kombinasi bit). Untuk sepenuhnya memulihkan kunci (64 bit) kita dapat meningkatkan panjang interval ke 22, sehingga kita mendapatkan 22 +22 +22> 64 bit informasi tentang kunci, membuat decoding jauh lebih sulit. Sebaliknya, kami mengusulkan untuk memilih subinterval baru C2 = {87,..., 94}, sehingga memulihkan 24 bit dari kunci. Akhirnya, kita melakukan subinterval C3 = {95,..., 102}. Kemudian 24 bit dari setiap shift register output dan memiliki total 72 bit. Ini lebih dari yang dibutuhkan untuk pemecahan untuk Kc. Setelah menjalankan 100 jam premix dan akhirnya memeriksa output keystream yang dihasilkan terhadap keystream yang diterima. Jumlah maksimum output bit yang kita perlu untuk memeriksa adalah sekitar 64, karena ruang keadaan adalah 64 bit. Oleh karena itu pekerjaan komputasi untuk memeriksa solusi adalah satu mendaftar pemuatan ditambah sekitar 223 + 64 = 287 clockings cipher. Simulasi serangan Pertama, probabilitas pj(cl1, Cl2, Cl3) dihitung untuk setiap frame j = 1,..., M dan (CL1, Cl2, Cl3) dalam I. Kemudian rasio Λ log-likelihood (CL1, Cl2, Cl3) yang dihitung berdasarkan keystream.kedua, decoding dalam simulasi yang dilakukan dengan pencarian yang melelahkan selama semua kemungkinan nilai s1t1, s2t2, s3t3, dimana t1, t2, t3 masing-masing berjalan melalui interval I. Solusi yang memberikan jarak Hamming paling dekat dengan codeword yang diterima diambil sebagai solusi yang tepat. Namun, dalam rangka untuk memiliki probabilitas tinggi bahwa codeword adalah solusi terdekat dalam jarak Hamming, kami membutuhkan sejumlah frame besar. Simulasi telah menunjukkan bahwa ketika kita memiliki lebih sedikit dari sekitar 100.000 frame, sering ada solusi lain (yang salah) dengan sistem persamaan yang memberikan jarak dekat. Untuk mengatasi masalah ini kita menyimpan daftar T 1000 solusi terdekat untuk setiap subinterval. Memilih satu solusi dari masing-masing daftar (subinterval),kita bisa menggabungkan mereka dalam tiga urutan LFSR 24-bit yang diproduksi oleh pergeseran register. Urutan ini kemudian diverifikasi dan dijalankan untuk menghitung mundur cipher. Dalam kasus menggunakan panjang interval 8, kita membutuhkan tiga subinterval dan jumlah kombinasi untuk memverifikasi sebesar T3. Demo Demo decoding voice pada GSM.

Kesimpulan Semakin berkembangnya suatu teknologi kemungkinan semakin banyak pula kelemahan yang di timbulkan. Untuk meminimalisir serangan maka beralihlah ke 4G ataupun bisa membuat suatu device yang bisa menambahkan enkripsi pada jalur komunikasi. Referensi 1. http://3gpp.org 2. http://en.wikipedia.org/wiki/um_interface 3. http://en.wikipedia.org/wiki/gsm 4. http://en.wikipedia.org/wiki/a5/1 5. http://srlabs.de 6. http://id.wikipedia.org/wiki/global_system_for_mobile_communications 7. Marc Briceno, Ian Goldberg, David Wagner, A pedagogical implementation of the GSM A5/1 and A5/2 "Voice Privacy" encryption allgorithm