COMP128
Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini. Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala. Tag ini diberikan pada Februari 2023. |
COMP128 merupakan implementasi dari algoritme A3 dan A8 yang didefinisikan dalam standar GSM.
A3 digunakan untuk otentikasi Stasiun Bergerak (Mobile Station)ke jaringan. A8 digunakan untuk menghasilkan kunci sesi yang digunakan oleh algoritme A5 untuk mengenkripsi data yang dikirimkan antara stasiun bergerak dan BTS.
Algoritme awalnya bersifat rahasia. Penjelasan parsial bocor pada tahun 1997 dan diselesaikan melalui reverse engineering. Hal ini menyebabkan publikasi sepenuhnya pada tahun 1998.[1]
Pengantar
suntingUntuk rincian tentang cara A3 dan A8 digunakan lihat Authentication Center, dimana Authentication centre (AuC) berisi parameter authentikasi pelanggan untuk mengakses jaringan GSM[2]
A3 dan A8 keduanya mengambil kunci 128 bit (Ki) dan 128 bits challenge (RAND) sebagai masukan. A3 menghasilkan respon 32 bit (SRES) dan A8 menghasilkan 64 bit kunci sesi (Kc).
COMP128 menggabungkan fungsi A3 dan A8. COMP128-1 dibangun di sekitar fungsi kompresi dengan dua masukan 128 bit dan satu keluaran 128 bit. Fungsi ini memiliki delapan putaran dan didasarkan pada struktur kupu-kupu dengan lima tahap.
Algoritme COMP128
suntingBeberapa algoritme COMP128 yang dirancang:
- COMP128-1 algoritme pertama yang dikenal lemah
- COMP128-2 menggantikan COMP128-1, tapi masih menetapkan 10 bit paling kanan dari Kc ke 0), sengaja melemahkan pengacakan A5
- COMP128-3 sama dengan algoritme COMP128-2, tetapi semua 64-bit dari Kc di generat
- COMP128-4 didasarkan atas algoritme 3GPP (3rd Generation Partnership Project) ("Milenage"), yang menggunakan AES
Deskripsi COMP128-1
suntingT0[512], T1[256], T2[128], T3[64] and T4[32] are compression tables.
comp128: RAND, Ki -> SRES, Kc
{
x[32]: array of bytes
bit[128]: array of bits
m, n, y, z: integers
x[16..31]:= RAND
for i:= 1 to 8
x[0..15]:= Ki
for j:= 0 to 4
for k:= 0 to 2j-1
for l:= 0 to 24-j-1
m:= l + k * 25-j
n:= m + 24-j
y:= (x[m] + 2 * x[n]) mod 29-j
z:= (2 * x[m] + x[n]) mod 29-j
x[m]:= Tj[y]
x[n]:= Tj[z]
for j:= 0 to 31
for k:= 0 to 3
bit[4 * j + k]:= x[j]3-k
if i < 8
for j:= 0 to 15
for k:= 0 to 7
x[j + 16]7-k:= bit[((8 * j + k) * 17) mod 128]
SRES:= bit[0..31]
Kc:= bit[74..127] 00000000002
}
Keamanan
suntingFungsi hash COMP128-1 dianggap lemah karena tidak cukup diffusion perubahan kecil di masukan.
Serangan praktis telah membuktikan bahwa dapat memulihkan kunci pelanggan dari SIM. Penggantian algoritme sudah sejak dikembangkan.[3]
Selain kunci sesi dihasilkan oleh COMP128 hanya memiliki 54 bit entropi. Hal ini secara signifikan melemahkan A5.
Referensi
sunting- ^ Briceno, Marc; Goldberg, Ian; Wagner, David (1998), Implementation of COMP128, diarsipkan dari versi asli tanggal 2009-03-18, diakses tanggal 2013-09-14
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamaAuC
- ^ Brumley, Billy (2004), A3/A8 & COMP128 (PDF)
Pranala luar
sunting- Briceno, Marc; Goldberg, Ian (1998), GSM Cloning
- Handschuh, Helena; Paillier, Pascal (2000), Reducing the Collision Probability of Alleged Comp128, CiteSeerX: 10.1.1.141.1033
- Usman, Kurniawan (2009), Global Sistem For Mobile Communication (PDF) line feed character di
|title=
pada posisi 25 (bantuan)[pranala nonaktif permanen] - Ratih, Hardiantina (2006), GSM Security (PDF)