algoritma aes sebagai metode enkripsi dalam … · makalah ini dibuat dengan tujuan untuk...

14
Algoritma AES sebagai Metode Enkripsi dalam Password Management Disusun untuk memenuhi tugas mata kuliah Keamanan Jaringan Disusun Oleh: Yeni Wahyuningsih (0710960013) Septavia Prativi Sekar Sari (0710960047) PROGRAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS BRAWIJAYA MALANG MARET 2010

Upload: vudan

Post on 20-Aug-2018

290 views

Category:

Documents


0 download

TRANSCRIPT

Algoritma AES sebagai Metode Enkripsi dalam Password Management

Disusun untuk memenuhi tugas mata kuliah Keamanan

Jaringan Disusun Oleh:

Yeni Wahyuningsih (0710960013) Septavia Prativi Sekar Sari (0710960047)

PROGRAM STUDI ILMU KOMPUTER

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS BRAWIJAYA MALANG

MARET 2010

BAB I

PENDAHULUAN

1.1. Latar Belakang

Sistem adalah sesuatu yang berkaitan dengan hubungan (relationship). Dan suatu hubungan

sepenuhnya berkenaan dengan kepercayaan (trust). Bagi sebuah usaha/bisnis yang harus berhadapan

dengan ancaman keamanan jaringan, pentingnya suatu pengelolaan identitas menjadi sangat jelas dan

signifikan. Akses menuju jaringan bagi pihak-pihak yang tidak berwenang dan penyalahgunaan

resource dapat dilakukan baik secara internal maupun eksternal. Oleh sebab itu, kemampuan untuk

mengindentifikasi pengguna (user) dan devais yang berusaha untuk melakukan akses ke jaringan

merupakan langkah awal dan yang terpenting dari setiap solusi masalah keamanan. Masalah

keamanan dan akses terhadap suatu jaringan dapat diatasi dengan pengelolaan password (Password

Management) . Untuk menjamin keamanan dalam password management, sebaiknya turut

dipertimbangkan juga proses enkripsi password sebelum disimpan, pengamanan akses menuju tempat

disimpannya password tersebut, dan menjamin keamanan proses validasi sebuah password.

Kebutuhan sebuah organisasi untuk bertahan dan terus berkembang yang memanfaatkan

teknologi informasi harus menggunakan metode kriptografi penyandian data yaitu enkripsi

terhadap informasi yang di kirimkan maupun data yang tersimpan.

Perkembangan algoritma pun semakin ramai setelah HAS dianggap tidak layak, maka

dikembangkan lah Algoritma AES dalam dunia pengkodean. Aes bekerja pada platform SLL.

Algoritma AES mengamankan data yang tersimpan dalam perangkat penyimpanan data,

sehingga tidak mudah hilang maupun di manfaatkan oleh orang-orang yng tidak bertanggung

jawab. algoritma AES (Advanced Encryption Standard) atau Rijndael sebagai salah satu

metode kriptografi. Algoritma ini diketahui sangat unggul dalam pengenkripsian dan

pendekripsian data. AES digunakan dalam berbagai penyandian. Salah satunya adalah untuk

penyandian sandi-lewat yang digunakan pada aplikasi pengompresian data.

1.2. Tujuan

Makalah ini dibuat dengan tujuan untuk memberikan pengetahuan tentang Password

Management beserta algoritma pengenkripsian password yaitu AES (Advanced Encryption

Standard) 256 bit dalam keamanan sebuah jaringan.

1.3. Rumusan Masalah

Masalah yang akan dibahas di dalam makalah ini adalah sebagai berikut :

1. Apa yang dimaksud dengan Password Management?

2. Apa saja komponen yang ada di dalam Password Management?

3. Apa hubungan Password Management dan Algoritma AES?

4. Apa yang dimaksud dengan algoritma AES (Advanced Encryption Standard)?

5. Bagaimana mekanisme algoritma AES?

6. Bagaimana keamanan AES 256 bit?

BAB II

PEMBAHASAN

2.1. Pengertian Password Management

Masalah keamanan dan akses terhadap suatu jaringan dapat diatasi dengan pengelolaan

password. Dengan cara seperti ini, pihak-pihak yang berkepentingan dengan suatu keamanan jaringan

dapat memeriksa terlebih dahulu keabsahan identitas pengguna atau devais, menetapkan kebijakan

keamanan, dan menyediakan alokasi resource bagi pengguna berdasarkan fungsi kerjanya.

Pengelolaan password pada dasarnya mengkombinasikan proses dan teknologi untuk

mengelola dan mengamankan akses menuju informasi/resource sekaligus melindungi profil identitas

user. Setiap user (atau devais) diidentifikasi lalu akses masing-masing user dikontrol sesuai dengan

hak dan batasan yang diberikan. Password management memiliki kemampuan untuk mengelola hal

tersebut tersebut secara efektif baik untuk user di dalam maupun di luar perusahaan/organisasi

(karyawan, pelanggan, partner bisnis, atau bahkan sebuah aplikasi, pada dasarnya semua orang atau

alat yang hendak berhubungan dengan perusahaan/organisasi).

Banyak definisi yang diberikan oleh para pakar dalam menjelaskan konsep pengelolaan

password. Namun demikian konsep pengelolaan password secara umum dapat dipandang sebagai

suatu cara untuk:

Mendefinisikan identitas dari sebuah entitas/obyek (orang,tempat, alat)

Menyimpan informasi-informasi yang berkaitan dengan entitas tersebut, seperti nama/pengenal,

dalam sebuah tempat penyimpanan (biasanya direktori aktif) yang aman, fleksibel, dan dapat

disesuaikan.

Menjadikan informasi-informasi tersebut dapat diakses melalui beberapa ketentuan.

Menyediakan infrastruktur yang baik, terdistribusi dan memiliki performansi yang tinggi.

Mengatur hubungan antara resource dan entitas/obyek sesuai dengan konteks dan dalam waktu

tertentu.

2.2. Komponen-komponen Password Management

Melakukan sebuah pengelolaan password berarti meyakinkan bahwa orang yang tepat

mendapatkan informasi yang tepat pada waktu yang tepat pula. Sebuah manajemen password harus

melakukan:

1. Kontrol akses, hanya mengizinkan entitas yang berhak saja yang boleh memasuki jaringan, dan

mengontrol tindakan yang dilakukan entitas tersebut sesaat setelah memasuki jaringan.

2. Pemisahan akses, secara otomatis mengatur akses berdasarkan identitas yang telah diverifikasi

sebelumnya.

3. Melindungi jaringan, menjaga para user dari membuka peluang diserangnya jaringan seperti

distributed denial of service, baik user tersebut sengaja atau tidak.

4. Mencegah terjadinya penyusupan, dengan mengatur pertahanan dari serangan,

mengkarantinakan sistem yang terkena serangan sehingga tidak mempengaruhi jaringan secara

keseluruhan, kemudian melakukan perbaikan.

Password management memiliki tiga fungsi dasar, yaitu :

1. Self-service password reset, fungsi ini dapat digunakan user untuk mengubah sendiri password

yang hilang karena lupa. User harus menjawab “pertanyaan” yang sebelumnya telah dibuat dan

dijawab oleh user yang bersangkutan pada saat membuat password yang pertama.

2. Password synchronization, fungsi ini memudahkan user sehingga user hanya menggunakan

sebuah password untuk banyak aplikasi. Jika sebuah password telah direset, maka semua

password akan diperbaharui secara otomatis.

3. Password policy enforcement, fungsi ini menetapkan kebijakan mengenai format password baru

yang boleh digunakan. Format ini sesuai dengan syarat dari sistem operasi (seperti jumlah

karakter yang digunakan) atau kebijakan keamanan dari perusahaan (seperti larangan

menggunakan password yang sama dengan sebelumnya).

2.3. Hubungan Password Management dengan Algoritma AES

Untuk menjamin keamanan dalam password management, sebaiknya turut dipertimbangkan

juga proses enkripsi password sebelum disimpan, pengamanan akses menuju tempat disimpannya

password tersebut, dan menjamin keamanan proses validasi sebuah password.

Enkripsi ialah proses mengamankan suatu informasi dengan membuat informasi

tersebut tidak dapat dibaca tanpa bantuan pengetahuan khusus. Dikarenakan enkripsi

telah digunakan untuk mengamankan komunikasi di berbagai negara, hanya organisasi-

organisasi tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan

kerahasiaan yang menggunakan enkripsi. Salah satu algoritma untu mengenkripsi password

yang saat ini banyak digunakan adalah Algoritma AES (Advanced Encryption Standard).

2.4. Pengertian Algoritma AES (Advanced Encryption Standard)

Advanced Encryption Standard. AES adalah algoritma simetrik berbasis block cipher

yang mengenkripsi/mendekripsi blok berukuran 128 bit dengan panjang kunci yang beragam,

yaitu 128, 192, dan 256 bit. Sehingga dikenal tiga tipe AES berdasarkan panjang kuncinya,

yaitu AES-128, AES-192, dan AES-256. AES tidak berorientasi bit melainkan berorientasi

byte sehingga implementasi AES ke hardware maupun software menjadi efektif. AES adalah

teknik enkripsi kunci simetris yang menggantikan Data Encryption Standard (DES).

Algoritma Rijndael,dibuat oleh dua kriptologis Belgia, Vincent Rijmen and Joan Daemen,

memenangkan kompetisi yang diadakan oleh NIST sehingga algoritma tersebut ditetapkan

sebagai AES.

AES menyediakan enkripsi yang kuat dan telah dipilih oleh NIST sebagai Federal

Information Processing Standard pada November 2001 (FIPS-197), dan pada Juni 2003

Pemerintah A.S. (NSA) mengumumkan bahwa AES cukup aman untuk melindungi informasi

rahasia sampai pada tingkat TOP SECRET, yang merupakan tingkat kemanan tertinggi dan

didefinisikan sebagai informasi yang akan menyebabkan "kerusakan yang sangat fatal

(exceptionally grave damage)" terhadap keamanan nasional jika informasi tersebut sampai ke

publik/ masyarakat.

Algoritma menggunakan salah satu dari tiga kekuatan kunci cipher: 128-, 192-, atau

256-bit kunci enkripsi (password). Setiap ukuran kunci enkripsi menyebabkan algoritma

berperilaku sedikit berbeda dengan yang lainnya, jadi ukuran kunci yang lebih besar tidak

hanya menawarkan jumlah bit yang lebih banyak dimana dengan hal itu anda dapat

mengacak data, tetapi juga meningkatkan kompleksitas dari algoritma cipher.

2.5. Mekanisme Algoritma AES (Advanced Encryption Standard) 256 bit

Garis besar Algoritma Rijndael yang beroperasi pada blok 128-bit dengan kunci 128-

bit adalah sebagai berikut (di luar proses pembangkitan round key):

1. AddRoundKey: melakukan XOR antara state awal (plainteks) dengan cipher key. Tahap

ini isebut juga initial round.

2. Putaran sebanyak Nr – 1 kali. Proses yang dilakukan pada setiap putaran adalah :

Bytes: substitusi byte dengan menggunakan tabel substitusi (S-box).

ShiftRows: pergeseran baris-baris array state secara wrapping.

MixColumns: mengacak data di masing-masing kolom array state.

AddRoundKey: melakukan XOR antara state sekarang round key.

3. Final round: proses untuk putaran terakhir:

SubBytes

ShiftRows

AddRoundKey

2.5.1. Transformasi Subtitusi Byte

Dalam operasi ini, setiap byte yang akan dienkripsi disubtitusikan dengan nilai byte

lain dengan menggunakan S-box. S-box dibuat dari multiplicative inverse dari angka yang

diberikan dalam Rijndael’s finite field yang kemudian ditransformasikan dengan affine

transformation :

Hasilnya kemudian di-xor dengan 9910 atau 0x6316 atau 11000112. Operasi matriks

dengan xor ini ekuivalen dengan persamaan: b’i = bi b(i+4)mod8 b(i+5)mod8 b(i+6)mod8

b(i+7)mod8 ci dengan b’, b, dan c adalah array 8 bit dan nilai c adalah 01100011.

Proses tersebut menghasilkan masing-masing nilai dari elemen tabel S-box yang

hasilnya sebagai berikut

Seperti yang telah diketahui sebelumnya, AES merupakan algoritma simetri, yang

berarti tabel subtitusi yang dibutuhkan untuk mengenkripsi berbeda dengan untuk

mendekripsi. Untuk acuan tersebut, digunakanlah tabel S-box inversi sebagai berikut

Sebagai contoh, input yang akan dienkripsikan adalah

95 95 08 19

4f 6b 5c 6e

c8 89 80 26

fc 75 4e 6c

Dengan menggunakan S-box, hasil dari operasi ini adalah :

2a 2a 30 d4

84 7f 4a 9f

e8 a7 cd f7

b0 9d 2f 50

Jika hasil tersebut ingin dikembalikan ke nilai semula sebelum operasi, nilai-nilainya

dapat disubtitusikan dengan menggunakan tabel S-box inversi. Operasi transformasi

subtitusi byte pada proses enkripsi dan dekripsi tidak dilakukan pada putaran pertama.

Operasi ini hanya dilakukan pada putaran kedua hingga terakhir.

2.5.2. Transformasi Pergeseran Baris

Pada operasi ini, byte-byte pada setiap baris digeser secara memutar dengan

pergeseran yang berbeda dari tiap-tiap baris. Setiap baris digeser dengan aturan tertentu untuk

jenis panjang blok yang berbeda. Baris pertama blok untuk semua jenis panjang blok (128,

196, dan 256 bit) tidak digeser. Baris kedua untuk semua jenis panjang blok digeser 1 ke kiri.

Pergeseran baris ketiga dan keempat untuk panjang blok 128 dan 196 bit berbeda dengan 256

bit. Pada panjang blok 128 dan 196 bit, baris ketiga digeser ke kiri sebanyak dua kali dan

baris keempat digeser ke kiri sebanyak tiga kali. Pada panjang blok 256 bit, baris ketiga

digeser ke kiri sebanyak tiga kali dan baris keempat digeser ke kiri sebanyak empat kali.

Untuk lebih jelasnya, proses tersebut dapat dilihat sebagai berikut :

Sebagai contoh, hasil operasi ini terhadap input yang nilainya adalah output dari hasil

operasi subtitusi byte sebelumnya adalah sebagai berikut :

2a 2a 30 d4

7f 4a 9f 84

cd f7 e8 a7

50 b0 9d 2f

2.5.3. Transformasi Percampuran Kolom

Transformasi ini mengoperasikan blok pada masing masing kolomnya. Setiap

kolom diperlakukan sebagai four-term polynomial dengan cara Galois Field (GF) (28) dan

dimodulokan dengan x tetap a(x) [3], yaitu a(x) = {03}x3 + {01}x2 + {01}x + {02}

Hal ini dapat dituliskan sebagai perkalian matriks sebagai berikut.:

s'(x) = a(x) s(x)

dengan c adalah letak kolom, sehingga hasilnya :

s’0,c = ({02}•s0,c) ({03}•s1,c)

s’0,c = s0,c ({02}•s1,c) ({03}•

s’0,c = s0,c s1,c ({02}•s2,c) ({03}

s’0,c = ({03}•s0,c) s1,c s2,c

Jika hasil perkalian memiliki lebih dari 8 bit, bit yang lebih tidak begitu saja dibuang.

Hasil tersebut di dengan 1000110112 [5]. Sebagai contoh, perkalian 11001010 dengan 11

dengan GF(2) sebagai berikut :

11001010

11

-------------- *

11001010

11001010

---------------- xor

101011110

100011011

---------------- xor

1000101

Nilai 1000101 merupakan hasil dari perkalian tersebut. Misalnya, jika dalam

transfomasi ini input yang dipakai adalah hasil dari operasi pergeseran baris sebelumnya,

hasil yang diperoleh adalah sebagai berikut :

48 cd af ac

c8 0c ab 1a

24 5e d8 74

6c b8 06 fa

Transformasi ini dapat diilustrasikan sebagai berikut :

Operasi transformasi ini tidak digunakan dalam putaran terakhir, baik untuk enkripsi

maupun dekripsi.

2.5.4. Transformasi Penambahan Kunci

Dalam operasi transformasi ini, digunakanlah upakunci untuk masing-masing putaran

yang berasal dari kunci utama dengan menggunakan jadwal kunci Rijndael (Rijndael’s key

schedule)upakunci tersebut sama dengan ukura diproses. Upakunci tersebut kemudian di blok

input sehingga diperoleh hasilnya Sebagai contoh, jika inputnya adalah :

a3 c5 08 08

78 a4 ff d3

00 ff 36 36

28 5f 01 02

dan diperoleh upa kunci

36 8a c0 f4

ed cf 76 a6

08 a3 b6 78

31 31 27 6e

Maka, hasilnya adalah

a6 34 1a 00

24 dd f1 0e

62 a8 73 cf

48 b9 5d 61

2.5.5. Putaran

Jumlah putaran pengoperasian blok input untuk setiap macam panjang blok berbeda j

umlah putaran untuk proses enkripsi dan dekripsi tetap sama. Proses enkripsi dan dekripsi da

pat digambarkan sebagai berikut :

Algoritma Rijndael mempunyai 3 parameter :

1. plaintext : array yang berukuran 16-byte, yang berisi data masukan.

2. ciphertext : array yang berukuran 16-byte, yang berisi hasil enkripsi.

3. key : array yang berukuran 16-byte, yang berisi kunci ciphering (disebut juga cipher key)

2.6. Keamanan AES (Advanced Encryption Standard) 256 bit

AES adalah FIPS (Federal Information Processing Standard) bersertifikat dan pada

saat ini tidak diketahui serangan langsung non-brute force terhadap AES (kecuali beberapa

saluran sisi waktu serangan pada pengolahan AES yang tidak layak lingkungan melalui

jaringan dan ini tidak berlaku bagi SSL pada umumnya). Pada kenyataannya keamanan AES

cukup kuat untuk mendapatkan sertifikasi untuk digunakan oleh pemerintah AS untuk

informasi rahasia.

Desain dan kekuatan dari semua panjang kunci algoritma AES (yaitu, 128, 192 dan 256) yang

cukup untuk melindungi informasi rahasia ke tingkat RAHASIA. TOP SECRET informasi akan

memerlukan penggunaan baik 192 atau 256 panjang kunci. Pelaksanaan AES dalam produk yang

ditujukan untuk melindungi sistem keamanan nasional dan atau informasi harus ditinjau dan

disertifikasi oleh NSA sebelum akuisisi dan menggunakan mereka. Jika anda memiliki pilihan metode

enkripsi, AES 256 bit adalah metode untuk memilih.

BAB III

PENUTUP

3.1 Kesimpulan

Password management merupakan salah satu cara meningkatkan keamanan sistem. Dengan

penetapan kebijakan yang tepat dan penerapan aspek-aspek fungsional password management

(autentifikasi, password management, provisioning, dan access control) yang baik tidak hanya

keamanan yang diperoleh, namun efisiensi kerja dan produktivitas juga meningkat. Password

management membuat infrastruktur jaringan dalam mengelola identitas user dalam jumlah besar

menjadi lebih fleksibel.

AES terbukti kebal menghadapi serangan konvensional (linear dan diferensial attack)

yang menggunakan statistik untuk memecahkan sandi. Kesederhanaan AES memberikan

keuntungan berupa kepercayaan bahwa AES tidak ditanami trapdoor. Namun, kesederhanaan

struktur AES juga membuka kesempatan untuk mendapatkan persamaan aljabar AES yang

selanjutnya akan diteliti apakah persamaan tersebut dapat dipecahkan. Bila persamaan AES

dapat dipecahkan dengan sedikit pasangan plaintext / ciphertext, maka riwayat AES akan

berakhir. AES didesain dengan sangat hati-hati dan baik sehingga setiap komponennya

memiliki tugas yang jelas.

AES memiliki sifat cipher yang diharapkan yaitu : tahan menghadapi analisis sandi

yang diketahui, fleksibel digunakan dalam berbagai perangkat keras dan lunak, baik

digunakan untuk fungsi hash karena tidak memiliki weak(semi weak) key, cocok untuk

perangkat yang membutuhkan key agility yang cepat, dan cocok untuk stream cipher.

Algoritma AES atau Rijndael merupakan algoritma simetri yang sangat cocok dipakai

untuk berbagai keperluan yang berkaitan dengan kriptografi saat ini. Algoritma ini banyak

dipakai untuk keperluan penyandian.

DAFTAR PUSTAKA

Madaharsa ,Bernardino.2008. Algoritma AES (Advanced Encryption Standard) dan

Penggunaannya dalam Penyandian Pengompresian Data.

http://74.125.155.132/search?q=cache:c1FCLZS1rF0J:webmail.informatika.org/~rinal

di/Matdis/2008-009/Makalah2008/Makalah0809-

090.pdf+algoritma+AES+256&cd=1&hl=id&ct=clnk&gl=id&client=opera. Diakses

pada tanggal 8 Maret 2009.

M. Bishop.1991. Password Management COMPCON 1991 Proceedings.

http://nob.cs.ucdavis.edu/~bishop/papers/. Diakses pada tanggal 8 Maret 2009.

Nina. 2009. AES 256 bit. http://www.scribd.com/doc/26771733/Aes-256-Tgs-Keamanan-

Jaringan-UAS?secret_password=&autodown=doc. Diakses pada tanggal 8 Maret

2009.

Rachman, Patria.2004. Algoritma Dan Implementasi Advanced Encryption Standard (AES).

http://miqbalc.web.ugm.ac.id/gudlux/algoritma-dan-implementasi-advanced-

encryption-standard-aes.php. Diakses pada tanggal 8 Maret 2009.

Restia.2009.Simulasi Enkripsi-Dekripsi AES Menggunakan Library Bouncy Castle « Restia's

Blog. http://reeshtea.wordpress.com/2009/12/10/simulasi-enkripsi-dekripsi-

menggunakan-library-bouncy-castle/ . Diakses pada tanggal 8 Maret 2009.

Robby. 2006. Algoritma Kriptografi.

http://74.125.155.132/search?q=cache:5mlNlanIwN4J:robby.c.staff.gunadarma.ac.id/

Downloads/files/10306/Algoritma%2BKriptografi.ppt+algoritma+AES+256&cd=8&

hl=id&ct=clnk&gl=id&client=opera. Diakses pada tanggal 8 Maret 2009.