Implementasi Algoritma Mmb (Modular Multiplication Based Block Cipher) Pada Pembuatan Aplikasi Manajemen Kata Sandi (Password Management)

(1)

BAB 2

TINJAUAN PUSTAKA

2.1 Kriptografi

Kriptografi (cryptography) berasal dari kata kryptos yang artinya tersembunyi dan grafia yang artinya sesuatu yang tertulis (bahasa Yunani) sehingga kriptografi dapat juga disebut sebagai sesuatu yang tertulis secara rahasia (tersembunyi).

Kriptografi adalah ilmu yang mempelajari teknik – teknik matematika yang berhubungan dengan aspek-aspek pada keamanan informasi misalnya kerahasiaan, integritas data, otentikasi pengirim / penerima data, dan otentikasi data (Menezes. et al,1996). Sedangkan lawan dari kriptografi adalah kriptanalisis (cryptanalysis), merupakan ilmu yang memecahkan ciphertext menjadi plaintext kembali tanpa mengatahui kunci, dan pelakunya ialah kriptanalis (criptanalys) [4].

Menurut Stalling [9], ada beberapa tuntutan yang terkait dengan isu keamanan data yaitu :

1. Confidentiality yaitu menjamin bahwa data-data tersebut hanya bisa diakses oleh pihak-pihak tertentu saja.

2. Authentication, baik pada saat mengirim atau menerima informasi, kedua belah pihak perlu mengetahui bahwa pengirim dari pesan tersebut adalah orang yang sebenarnya seperti yang diklaim.

3. Integrity, tuntutan ini berhubungan dengan jaminan setiap pesan yang dikirim pasti sampai pada penerimanya tanpa ada bagian dari pesan tersebut yang diganti, diduplikasi, dirusak, diubah urutannya, dan ditambahkan.

4. Nonrepudiation mencegah pengirim maupun penerima mengingkari bahwa mereka telah mengirimkan atau menerima suatu pesan/informasi. Jika sebuah pesan dikirim, penerima dapat membuktikan bahwa pesan tersebut memang


(2)

dikirim oleh pengirim yang tertera. Sebaliknya, jika sebuah pesan diterima, pengirim dapat membuktikan bahwa pesannya telah diterima oleh pihak yang ditujunya.

5. Access Control membatasi sumber-sumber data hanya kepada orang-orang tertentu.

6. Availability, jika diperlukan setiap saat semua informasi pada sistem komputer harus tersedia bagi semua pihak yang berhak atas informasi tersebut.

Dari keenam aspek keamanan data tersebut, empat diantaranya dapat diatasi dengan menggunakan kriptografi yaitu confidentiality, integrity, authentication, dan nonrepudiation.

2.1.1 Sejarah Kriptografi

Sejarah kriptografi dimulai pertama sekali dengan menggunakan metode pertukaran posisi untuk mengenkripsi suatu pesan. Dalam sejarah perkembangannya, Julius Caesar dalam mengirimkan pesan yang dibawa oleh hulubalangnya, sengaja mengacak pesan tersebut sebelum diberikan kepada kurir. Hal ini dilakukan untuk menjaga kerahasiaan pesan baik bagi kurir maupun bagi musuh jika kurir tertangkap di tengah jalan oleh musuh. Ada orang yang mengatakan bahwa apa yang dilakukan oleh Julius Caesar dianggap sebagai awal dari kriptografi.

Dalam sebuah buku yang berjudul The Codebreaker yang dikarang oleh David Kahn pada tahun 1963, disebutkan bahwa kriptografi digunakan pertama sekali oleh bangsa Mesir 4000 tahun yang lalu sampai saat sekarang ini. Sejak munculnya buku tersebut maka kriptografi pun mulai diperbincangkan secara luas. Peminat dari buku tersebut ialah peminat yang berhubungan dengan kemiliteran, layanan diplomatik dan pemerintahan. Kriptografi digunakan sebagai suatu alat untuk melindungi rahasia dan strategi – strategi negara.

Perkembangan komputer dan sistem komunikasi pada tahun 1960-an mengakibatkan munculnya kebutuhan pihak swasta akan alat untuk melindungi informasi dalam bentuk digital dan untuk menyediakan layanan keamanan informasi. Kriptografi digital dimulai pada tahun 1970 atas usaha Feistel dari IBM dan


(3)

memuncak pada tahun 1977 dengan diadopsinya sistem kriptografi DES (Data Encryption Standard) oleh U.S. Federal Information Processing Standard untuk mengenkripsi informasi rahasia. DES merupakan mekanisme kriptografi yang paling terkenal dalam sejarah dan tetap menjadi standar pengamanan data elektronik komersial pada kebanyakan institusi keuangan di seluruh dunia.

Pada tahun 1978, Rivest, Shamir, dan Adleman menemukan enkripsi kunci publik yang pertama dan sekarang ini dikenal dengan nama RSA (Rivest, Shamir, and Adleman). Skema RSA didasarkan pada permasalahan matematika sulit yang terdiri dari pemfaktoran terhadap bilangan yang besar nilainya. Karena adanya permasalahan matematika tersebut maka muncul usaha – usaha untuk mencari cara yang paling efisien dalam pemfaktoran bilangan. Skema kunci publik lainnya yang kuat dan praktis ditemukan oleh ElGamal. Skema ini juga berdasarkan masalah logaritma diskrit.

2.1.2 Proses Kriptografi

Algoritma kriptografi adalah urutan langkah-langkah logis bagaimana menyembunyikan pesan dari orang-orang yang tidak berhak atas pesan tersebut.

Algoritma kriptografi terdiri dari tiga fungsi dasar, yaitu [1] :

1. Enkripsi: merupakan hal yang sangat penting dalam kriptografi, merupakan pengamanan data yang dikirimkan agar terjagakerahasiaanya. Pesan asli disebut plaintext, yang diubah menjadi kode-kode yag tidak dimengerti. Enkripsi dapat diartikan dengan cipher atau kode. Sama halnya dengan kita tidak mengerti akan sebuah kata maka kita akan melihatnya didalam kamus atau daftar istilah. Beda halnya dengan enkripsi, untuk mengubah text asli kebentuk text kode kita menggunakan algoritma yang dapat mengkodekan data yang kita inginkan.

2. Dekripsi: merupakan kebalikan dari enkripsi. Pesan yang telah dienkripsi dikembalikan kebentuk asalnya (text asli), disebut dengan dekripsi pesan. Algoritma yang digunakan untuk dekripsi tentu berbeda dengan algoritma yang digunakan untuk enkripsi.


(4)

3. Kunci: yang dimaksud disini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi. Kunci terbagi menjadi dua bagian, kunci rahasia (private key) dan kunci umum (public key).

Urutan proses kriptografi secara umum dapat dilihat pada gambar 2.1 sebagai berikut.

Plaintext Ciphertext Plaintext

Gambar 2.1 Mekanisme Kriptografi

Sebuah plaintext (p) akan dilewatkan pada proses enkripsi (E) sehingga menghasilkan suatu ciphertext (c). kemudian untuk memperoleh kembali plaintext, maka ciphertext (c) melalui proses dekripsi (D) akan menghasilkan kembali plaintext (m), secara matematis pernyataan tersebut dapat dinyatakan sebagai berikut,

E(m) = c D(c) = m D(E(m)) = m

Kriptografi sederhana seperti ini menghasilkan output yang disebut ciphertext. Keamanannya bergantung pada kerahasiaan algoritma penyandian tersebut, oleh karenanya algoritma yang digunakan harus dirahasiakan. Pada kelompok dengan jumlah besar dan anggota yang senantiasa berubah, penggunaannya akan menimbulkan masalah. Setiap ada anggota yang meninggalkan kelompok, algoritma ini harus diganti karena anggota yang keluar mempunyai kesempatan untuk membocorkan rahasia.

Dalam kriptografi modern, selain memanfaatkan algoritma juga menggunakan kunci (key) untuk memecahkan masalah tersebut. Proses enkripsi dan dekripsi dilakukan dengan menggunakan kunci.

Kunci adalah nilai yang terlepas dari pesan asli (plaintext) dan mengontrol algoritma yang dipakai. Penerapan algoritma akan menghasilkan output yang berbeda sesuai dengan kunci yang digunakan. Merubah kunci bearti juga merubah output yang dari algoritma yang dipakai. Setelah ciphertext dihasilkan, ciphertext tersebut dapat


(5)

diubah kembali menjadi pesan asli dengan algoritma dekripsi dan dengan kunci yang sama seperti yang digunakan.

Pada saat enkripsi setiap anggota memiliki kuncinya masing-masing yang digunakan untuk proses enkripsi dan dekripsi yang akan dilakukannya. Dengan demikian ada sedikit perubahan yang dilakukan pada mekanisme yang digambarkan pada gambar 2.1 akan menjadi seperti gambar 2.2 berikut ini

kunci kunci

plaintext ciphertext plaintext

Gambar 2.2 Kriptografi Berbasis Kunci

Mekanisme kriptografi seperti ini dinamakan kriptografi berbasis kunci. dengan demikian cryptosystem nya akan terdiri atas kunci dan algoritma, serta plaintext dan ciphertext.

Persamaan matematisnya menjadi seperti berikut, Ee(m) = c

Dd(c) = m Dd(Ee(m)) = m

2.1.3 Jenis Sistem Kriptografi

Berdasarkan pemakaian kunci maka sistem kriptografi (cryptosystems) dapat digolongkan atas 2 jenis sistem [5] yakni:

a. Sistem kriptografi kunci publik (public key cryptography). Dalam sistem kriptografi kunci publik atau dikenal dengan assymmetric cryptosystem, pihak pengirim maupun pihak penerima mendapatkan sepasang kunci yakni kunci publik (public key) dan kunci rahasia (private key) dimana kunci publik dipublikasikan dan kunci rahasia tetap dirahasiakan


(6)

b. Sistem kriptografi kunci rahasia (secret key cryptography), dalam sistem kriptografi kunci rahasia yang dikenal juga dengan symmetric cryptosystems, pihak pengirim dan penerima bersama-sama menyepakati sebuah kunci rahasia yang akan digunakan dalam proses enkripsi dan dekripsi tanpa diketahui oleh pihak lain

2.1.3.1 Kriptografi Kunci Rahasia (Secret Key Cryptography)

Kriptografi kunci rahasia merupakan bentuk kriptografi yang lebih tradisional, dimana kunci tunggal dapat digunakan untuk enkripsi dan dekripsi suatu pesan. Kriptografi kunci rahasia tidak hanya digunakan untuk enkripsi, tetapi juga untuk otentikasi. Salah satu teknik untuk pekerjaan ini disebut message authentication codes (MAC).

Masalah utama dengan kriptografi kunci rahasia membuat pengirim dan penerima pesan setuju atas kunci rahasia yang digunakan tanpa orang lain mampu mendapatkan dan mengetahuinya. Atau dengan kata lain bagaimana memilih kunci rahasia yang benar-benar aman. Hal ini membutuhkan suatu metode dimana kedua pihak dapat berkomunikasi tanpa kekhawatiran akan tercecernya kunci tersebut. Akan tetapi, keuntungan dari kriptografi kunci rahasia adalah biasanya lebih cepat dibandingkan dengan kriptografi kunci publik. Metode yang paling umum untuk kriptografi kunci rahasia adalah block ciphers, stream ciphers, dan message authentication codes (MAC).

Kunci

enkripsi dekripsi

Gambar 2.3. Model sederhana dari Secret Key Cryptosystem 2.1.3.2 Kriptografi Kunci Publik (Public Key Cryptography)

Kriptografi kunci publik diperkenalkan oleh Whitfield Diffie dan Martin Hellman pada tahun 1976. Kriptografi kunci publik memiliki dua penggunaan utama, yakni enkripsi dan tanda tangan digital (encryption and digital signatures). Dalam sistem


(7)

kriptografi kunci publik, masing-masing pihak mendapat sepasang kunci, satu disebut kunci publik (public key) dan satu lagi disebut kunci rahasia (private key). Kunci publik dipublikasikan, sementara kunci rahasia tetap dirahasiakan. Keharusan penggunaan kunci secara bersama antara pengirim dan penerima pesan rahasia dihilangkan, semua komunikasi hanya melibatkan kunci publik, dan tidak ada kunci rahasia yang ditransmisikan atau digunakan bersama. Dalam sistem ini, tidak ada lagi kecurigaan terhadap keamanan dari sistem komunikasi. Satu-satunya kebutuhan bahwa kunci publik dikaitkan dengan penggunanya dalam lingkup yang saling mempercayai (contoh dalam suatu trusted directory). Seseorang dapat mengirimkan pesan rahasia dengan hanya menggunakan informasi yang umum (kunci publik), tetapi pesan tersebut hanya mungkin didekrip dengan menggunakan kunci rahasia, dimana satu-satunya yang memiliki kunci rahasia tersebut hanyalah orang yang diharapkan menerima pesan tersebut. Kriptografi kunci publik tidak hanya digunakan untuk merahasiakan pesan, tetapi juga untuk otentikasi (tanda tangan digital) dan teknik lainnya.

Dalam kriptografi kunci publik, kunci rahasia selalu berhubungan secara matematis terhadap kunci publik. Oleh karena itu, selalu dimungkinkan untuk menembus (menyerang) sistem kunci publik dengan menurunkan kunci rahasia dari kunci publik. Biasanya, cara untuk menangkal kemungkinan tersebut adalah membuat sesulit mungkin untuk menghasilkan kunci privat dari kunci publik. Sebagai contoh, beberapa kripto sistem kunci publik dibuat sedemikian hingga penurunan kunci rahasia (privat) dari kunci publik mengharuskan penyerang melakukan faktorisasi terhadap bilangan yang sangat besar, dalam hal ini sangat sulit untuk melakukan penurunan. Inilah ide di belakang RSA public-key cryptosystem.

kunci publik kunci pribadi penerima penerima

enkripsi dekripsi Gambar 2.4 Model Sederhana dari Public Key Cryptography


(8)

2.1.4 Kategori Cipher Kunci Simetri

Algoritma kunci-simetri mengacu pada metode enkripsi yang dalam hal ini baik pengirim maupun penerima memiliki kunci yang sama. Algoritma kunci-simetri modern beroperasi dalam mode bit dan dapat dikelompokkan menjadi dua kategori:

1. Cipher Aliran (Stream Cipher)

Algoritma kriptografi beroperasi pada plaintext dan ciphertext dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsi/didekripsikan bit per bit. Cipher aliran mengenkripsi satu bit pada setiap kali proses enkripsi.

2. Cipher Blok (Block Cipher)

Algoritma kriptografi beroperasi pada plaintext dan ciphertext dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Misalnya panjang blok adalah 64- bit, maka itu berarti algoritma enkripsi memerlukan 8 karakter setiap kali enkripsi (1 karakter = 8 bit dalam pengkodean ASCII). Cipher blok mengenkripsi satu blok bit pada setiap kali proses enkripsi.

2.2 Algoritma MMB

2.2.1 Sejarah Singkat MMB

Algoritma MMB (Modular Multiplication-based Block Cipher) pertama kali diperkenalkan pada tahun 1993 oleh Joan Daemen, Rene Govaerts dan Joos Vandewalle [10]. Algoritma ini merupakan revisi dari algoritma sebelumnya yakni algoritma IDEA yang diperkenalkan pada tahun 1991.

Algoritma MMB termasuk ke dalam kriptografi simetri (symmetric cryptography) yang dikenal juga dengan kriptografi kunci rahasia (secret key cryptography). Beroperasi dalam mode blok (block cipher), yaitu setiap kali enkripsi dan dekripsi dilakukan terhadap satu blok data (yang berukuran tertentu).


(9)

2.2.2 Spesifikasi Algoritma MMB

Kriptografi algoritma MMB menggunakan plaintext 128 bit dan algoritma iteratif yang terdiri dari langkah-langkah linier (seperti XOR dan aplikasi kunci) serta aplikasi paralel dari empat substitusi non linier besar yang dapat dibalik. Substitusi ini ditentukan oleh sebuah operasi perkalian modulo 232 – 1 dengan faktor konstan. MMB menggunakan 32 bit subblock text (x0, x1, x2, x3) dan 32 bit subblock kunci (k0, k1, k2, k3). Hal ini membuat algoritma MMB sangat cocok diimplementasikan pada prosesor 32 bit. Sebuah fungsi non linier, f, diterapkan enam kali bersama dengan fungsi XOR.

Algoritma utama dari sistem kr iptografi MMB adalah sebagai berikut : 1. Proses enkripsi : ek(M) = C

2. Proses dekripsi : dk(C) = M

keterangan :

e = adalah fungsi enkripsi d = adalah fungsi dekripsi

M = adalah pesan terbuka (plaintext) C = adalah pesan rahasia (ciphertext) k = adalah kunci enkripsi atau dekripsi

2.2.3 Proses Pembentukan Kunci

Metode MMB menggunakan kunci sepanjang 128 bit. Proses pembentukan kunci pada metode MMB ini sangat sederhana. Kunci yang di-input hanya dibagi menjadi 4 buah subblock kunci dengan panjang masing-masing 32 bit.

k0 k1 k2 … k127

k0 k1 … k31 k32 k33 … k63 k64 k65 … k95 k96 k97 … k127


(10)

2.2.4 Proses Enkripsi Algoritma MMB

Enkripsi dilakukan dengan menerapkan transformasi iteratif pada blok-blok plaintext dengan blok-blok kunci sebagai parameter. Fungsi putaran non-linear f(x) diterapkan enam kali diantara pekalian modulo. Plaintext dibagi menjadi 4 subblock yang sama besar (x0, x1, x2, x3).

Lalu, lakukan langkah berikut ini. 1. xi = xi XOR ki

2. f(x0, x1, x2, x3) 3. xi = xi XOR ki+1 4. f(x0, x1, x2, x3) 5. xi = xi XOR ki+2 6. f(x0, x1, x2, x3) 7. xi = xi XOR ki+3 8. f(x0, x1, x2, x3) 9. xi = xi XOR ki 10. f(x0, x1, x2, x3) 11. xi = xi XOR ki+1 12. f(x0, x1, x2, x3) 13. xi = xi XOR ki+2

Dan fungsi f(x1, x2, x3, x4) sebagai berikut: a. xi = γi * xi

b. Jika LSB (x0) = 1, maka x0 = x0 XOR δ Jika LSB (x3) = 0, maka x3 = x3 XOR δ c. xi = xi-1 XOR xi XOR xi+1

keterangan :

xi : sub blok Plainteks ki : sub blok Kunci (key)

δ : Konstanta tetapan yang digunakan pada proses enkrip dekrip dengan nilai, 2AAAAAAA

γ : Konstanta tetapan yang digunakan pada proses enkripsi dengan nilai, 025F1CDB


(11)

Operasi perkalian yang digunakan merupakan operasi perkalian modulo 232 – 1. Dengan indeks terkecil adalah modulo 4. Nilai γ1, γ2, γ3 diperoleh dengan cara sebagai berikut :

γ1 = 2 * γ γ2 = 23* γ γ3 = 27* γ

2.2.5 Proses Dekripsi Algoritma MMB

Proses dekripsi tidak jauh berbeda dengan proses enkripsi. Proses dekripsi dilakukan dengan membalik urutan proses enkripsi dan melakukan penyesuaian di beberapa proses. Ciphertext dibagi menjadi 4 subblock yang sama besar (x0, x1, x2, x3).

Lalu, diterapkan langkah-langkah berikut ini. 1. xi = xi XOR ki+2

2. f(x0, x1, x2, x3) 3. xi = xi XOR ki+1 4. f(x0, x1, x2, x3) 5. xi = xi XOR ki 6. f(x0, x1, x2, x3) 7. xi = xi XOR ki+3 8. f(x0, x1, x2, x3) 9. xi = xi XOR ki+2 10. f(x0, x1, x2, x3) 11. xi = xi XOR ki+1 12. f(x0, x1, x2, x3) 13. xi = xi XOR ki

Fungsi f(x1, x2, x3, x4) sebagai berikut: a. xi = xi-1 XOR xi XOR xi+1

b. Jika LSB (x0) = 1, maka x0 = x0 XOR δ Jika LSB (x3) = 0, maka x3 = x3 XOR δ c. xi = γi-1 * xi


(12)

keterangan :

xi : sub blok Plainteks ki : sub blok Kunci (key)

δ : Konstanta tetapan yang digunakan pada proses enkrip dekrip dengan nilai, 2AAAAAAA

γ-1

: Konstanta tetapan yang digunakan pada proses enkrip dekrip dengan nilai , 0DAD4694

2.3 Password Management

Password atau yang biasa sering disebut sebagai kata sandi merupakan salah satu otentikasi yang diketahui pemakai, dimana pemakai memilih suatu kata kode, mengingatnya, dan mengetikkannya saat akan mengakses sistem.

Dalam sebuah perusahaan atau bisnis yang bersifat komersial, masalah pengelolaan password bagi karyawan menjadi cukup signifikan. Perusahaan harus mengeluarkan biaya tambahan dengan membuat semacam help desk atau support center untuk menangani kasus pengguna yang lupa passwordnya

Dengan password management pengguna dapat mengatur dan mengatasi sendiri masalah tersebut. Aplikasi ini membantu seseorang mengelola data username dan password. Dengan master password yang dapat ditentukan, seseorang cukup mengingat master password ini. Selanjutnya, semua datanya bisa disimpan ke dalam database file password manager.

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. Salah satu penerapan yang tepat terhadap sistem password management adalah dengan menerapkan algoritma kriptografi. Penggunaan kriptografi simetris, dalam hal ini algoritma Modular Multiplication-based Block Cipher diharapkan mampu meningkatkan kemanan data password yang disimpan.


(13)

2.3.1 Konsep Password Management.

Pengelolaan password pada dasarnya mengkombinasikan proses dan teknologi untuk mengelola dan mengamankan akses menuju informasi/resource sekaligus melindungi profil identitas pengguna. Setiap pengguna diidentifikasi lalu akses masing-masing pengguna dikontrol sesuai dengan hak dan batasan yang diberikan. Password management memiliki kemampuan untuk mengelola hal tersebut tersebut secara efektif baik untuk pengguna 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:

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

2. Menyimpan informasi-informasi yang berkaitan dengan entitas tersebut, seperti nama/pengenal, dalam sebuah tempat penyimpanan (biasanya direktori aktif) yang aman, fleksibel, dan dapat disesuaikan.

3. Menjadikan informasi-informasi tersebut dapat diakses melalui beberapa ketentuan.

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

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

Untuk mengetahui sejauh mana pentingnya hal ini, seseorang perlu memahami struktur dari suatu sistem keamanan yang terintegrasi serta teknologi-teknologi yang terlibat di dalamnya. Ada tiga komponen penting dalam sebuah sistem keamanan terintegrasi yang komperehensif, yaitu: privasi, proteksi, serta kontrol/pengawasan.


(14)

2.3.2 Penerapan Proses Enkripsi Pada Password

Password dapat disimpan pada workstation yang digunakan pengguna atau server. Password perlu ditransmisi dalam bentuk tertentu dari workstation yang digunakan pengguna ke server ketika pengguna pertama kali login dan mungkin akan ditransfer lagi berikutnya. Tidak banyak yang dapat dilakukan untuk memaksa enkripsi password atau hashing pada produk server yang ada. Namun, jika kita bertanggung jawab untuk mengembangkan server atau aplikasi baru yang mengatur passwordnya sendiri, maka sangat baik bila menyimpan password tersebut menggunakan algoritma hashing yang dipercaya, seperti MD5 atau SHA. Password ditransmisi dari workstation ke server mirip halnya dengan subyek ke protokol yang dikembangkan oleh vendor server. Pada umunya, mainframe, mini-komputer, dan server UNIX cenderung tidak menggunakan enkripsi secara default, meskipun enkripsi tersedia dari banyak vendor.

Jika sekuritas password penting dalam suatu perusahaan dan sekuritas fisik media komunikasi antara pengguna dan sistem tidak dapat dipercaya, maka perlu untuk mempertimbangkan mekanisme tambahan untuk melindungi sesi login. Beberapa workstation dapat menyimpan password dan secara otomatis menyediakan password tersebut ke server ketika pengguna memerlukan akses. Password cache ini juga memerlukan proteksi kriptografi. Pada beberap kasus, protokol yang disediakan oleh suatu vendor dapat mengenkripsikan passsword ketika password digunakan untuk login ke sistem, tetapi tidak ketika perubahan password ditransmisi. Pada kasus ini, jika manajemen password diterapkan, akan sangat berguna membuat perangkat lunak untuk mengimplementasikan enkripsinya sendiri daripada menggunakan enkripsi yang disediakan sistem vendor.

2.4 Flowchart

Flowchart adalah diagram yang menunjukan alur data melalui program atau sistem penanganan informasi dan operasi-operasi yang dikenakan pada data pada titik-titik yang penting di sepanjang jalur. Flowchart menggunakan anotasi dan lambang,


(15)

misalnya segi empat, belah ketupat dan oval untuk menyatakan berbagai operasi. Garis dan ujung panah menghubungkan lambang-lambang tersebut untuk menunjukkan arah arus data dari satu titik ke titik lain. Sebagai diagram grafis yang menunjukkan program atau sistem lainnya, flowchart berguna sebagai sarana pembantu untuk menunjukkan bagaimana bekerjanya program yang diusulkan dan sebagai sarana untuk memahami operasi-operasi sebuah program.

Tabel 3.1 Simbol-simbol Flowchart

Simbol Nama Fungsi

TERMINATOR Permulaan/akhir program

GARIS ALIR (FLOW LINE)

Arah aliran program

PREPARATION

Proses inisialisasi/pemberian Hargaawal

PROCESS Proses perhitungan/proses pengolahan data

INPUT/OUTPU T DATA

Proses input/output data, parameter, informasi

PREDEFINED PROCESS

(SUB PROGRAM)

Permulaan sub program/proses menjalankan sub program

DECISION

Perbandingan pernyataan, penyeleksian data yang memberikan


(16)

ON PAGE CONNECTOR

Penghubung bagian-bagian Flowchart yang berada pada satu halaman

OFF PAGE CONNECTOR

Penghubung bagian-bagian Flowchart yang berada pada halaman berbeda


(1)

Operasi perkalian yang digunakan merupakan operasi perkalian modulo 232 – 1. Dengan indeks terkecil adalah modulo 4. Nilai γ1, γ2, γ3 diperoleh dengan cara sebagai berikut :

γ1 = 2 * γ γ2 = 23* γ γ3 = 27* γ

2.2.5 Proses Dekripsi Algoritma MMB

Proses dekripsi tidak jauh berbeda dengan proses enkripsi. Proses dekripsi dilakukan dengan membalik urutan proses enkripsi dan melakukan penyesuaian di beberapa proses. Ciphertext dibagi menjadi 4 subblock yang sama besar (x0, x1, x2, x3).

Lalu, diterapkan langkah-langkah berikut ini. 1. xi = xi XOR ki+2

2. f(x0, x1, x2, x3) 3. xi = xi XOR ki+1 4. f(x0, x1, x2, x3) 5. xi = xi XOR ki 6. f(x0, x1, x2, x3) 7. xi = xi XOR ki+3 8. f(x0, x1, x2, x3) 9. xi = xi XOR ki+2 10. f(x0, x1, x2, x3) 11. xi = xi XOR ki+1 12. f(x0, x1, x2, x3) 13. xi = xi XOR ki

Fungsi f(x1, x2, x3, x4) sebagai berikut: a. xi = xi-1 XOR xi XOR xi+1

b. Jika LSB (x0) = 1, maka x0 = x0 XOR δ Jika LSB (x3) = 0, maka x3 = x3 XOR δ c. xi = γi-1 * xi


(2)

keterangan :

xi : sub blok Plainteks ki : sub blok Kunci (key)

δ : Konstanta tetapan yang digunakan pada proses enkrip dekrip dengan nilai, 2AAAAAAA

γ-1

: Konstanta tetapan yang digunakan pada proses enkrip dekrip dengan nilai , 0DAD4694

2.3 Password Management

Password atau yang biasa sering disebut sebagai kata sandi merupakan salah satu

otentikasi yang diketahui pemakai, dimana pemakai memilih suatu kata kode, mengingatnya, dan mengetikkannya saat akan mengakses sistem.

Dalam sebuah perusahaan atau bisnis yang bersifat komersial, masalah pengelolaan password bagi karyawan menjadi cukup signifikan. Perusahaan harus mengeluarkan biaya tambahan dengan membuat semacam help desk atau support

center untuk menangani kasus pengguna yang lupa passwordnya

Dengan password management pengguna dapat mengatur dan mengatasi sendiri masalah tersebut. Aplikasi ini membantu seseorang mengelola data username dan password. Dengan master password yang dapat ditentukan, seseorang cukup mengingat master password ini. Selanjutnya, semua datanya bisa disimpan ke dalam database file password manager.

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. Salah satu penerapan yang tepat terhadap sistem password

management adalah dengan menerapkan algoritma kriptografi. Penggunaan


(3)

2.3.1 Konsep Password Management.

Pengelolaan password pada dasarnya mengkombinasikan proses dan teknologi untuk mengelola dan mengamankan akses menuju informasi/resource sekaligus melindungi profil identitas pengguna. Setiap pengguna diidentifikasi lalu akses masing-masing pengguna dikontrol sesuai dengan hak dan batasan yang diberikan. Password

management memiliki kemampuan untuk mengelola hal tersebut tersebut secara

efektif baik untuk pengguna 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:

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

2. Menyimpan informasi-informasi yang berkaitan dengan entitas tersebut, seperti nama/pengenal, dalam sebuah tempat penyimpanan (biasanya direktori aktif) yang aman, fleksibel, dan dapat disesuaikan.

3. Menjadikan informasi-informasi tersebut dapat diakses melalui beberapa ketentuan.

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

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

Untuk mengetahui sejauh mana pentingnya hal ini, seseorang perlu memahami struktur dari suatu sistem keamanan yang terintegrasi serta teknologi-teknologi yang terlibat di dalamnya. Ada tiga komponen penting dalam sebuah sistem keamanan terintegrasi yang komperehensif, yaitu: privasi, proteksi, serta kontrol/pengawasan.


(4)

2.3.2 Penerapan Proses Enkripsi Pada Password

Password dapat disimpan pada workstation yang digunakan pengguna atau server. Password perlu ditransmisi dalam bentuk tertentu dari workstation yang digunakan

pengguna ke server ketika pengguna pertama kali login dan mungkin akan ditransfer lagi berikutnya. Tidak banyak yang dapat dilakukan untuk memaksa enkripsi

password atau hashing pada produk server yang ada. Namun, jika kita bertanggung

jawab untuk mengembangkan server atau aplikasi baru yang mengatur passwordnya sendiri, maka sangat baik bila menyimpan password tersebut menggunakan algoritma hashing yang dipercaya, seperti MD5 atau SHA. Password ditransmisi dari workstation ke server mirip halnya dengan subyek ke protokol yang dikembangkan oleh vendor server. Pada umunya, mainframe, mini-komputer, dan server UNIX cenderung tidak menggunakan enkripsi secara default, meskipun enkripsi tersedia dari banyak vendor.

Jika sekuritas password penting dalam suatu perusahaan dan sekuritas fisik media komunikasi antara pengguna dan sistem tidak dapat dipercaya, maka perlu untuk mempertimbangkan mekanisme tambahan untuk melindungi sesi login. Beberapa workstation dapat menyimpan password dan secara otomatis menyediakan

password tersebut ke server ketika pengguna memerlukan akses. Password cache ini

juga memerlukan proteksi kriptografi. Pada beberap kasus, protokol yang disediakan oleh suatu vendor dapat mengenkripsikan passsword ketika password digunakan untuk login ke sistem, tetapi tidak ketika perubahan password ditransmisi. Pada kasus ini, jika manajemen password diterapkan, akan sangat berguna membuat perangkat lunak untuk mengimplementasikan enkripsinya sendiri daripada menggunakan enkripsi yang disediakan sistem vendor.

2.4 Flowchart

Flowchart adalah diagram yang menunjukan alur data melalui program atau sistem


(5)

misalnya segi empat, belah ketupat dan oval untuk menyatakan berbagai operasi. Garis dan ujung panah menghubungkan lambang-lambang tersebut untuk menunjukkan arah arus data dari satu titik ke titik lain. Sebagai diagram grafis yang menunjukkan program atau sistem lainnya, flowchart berguna sebagai sarana pembantu untuk menunjukkan bagaimana bekerjanya program yang diusulkan dan sebagai sarana untuk memahami operasi-operasi sebuah program.

Tabel 3.1 Simbol-simbol Flowchart

Simbol Nama Fungsi

TERMINATOR Permulaan/akhir program

GARIS ALIR

(FLOW LINE)

Arah aliran program

PREPARATION

Proses inisialisasi/pemberian Hargaawal

PROCESS Proses perhitungan/proses pengolahan

data INPUT/OUTPU

T DATA

Proses input/output data, parameter, informasi

PREDEFINED PROCESS

(SUB PROGRAM)

Permulaan sub program/proses menjalankan sub program

DECISION

Perbandingan pernyataan, penyeleksian data yang memberikan


(6)

ON PAGE CONNECTOR

Penghubung bagian-bagian Flowchart yang berada pada satu halaman

OFF PAGE CONNECTOR

Penghubung bagian-bagian Flowchart yang berada pada halaman berbeda