ANALISA DAN PERANCANGAN SOFTWARE LICENSE MANAGEMENT DENGAN LICENSE KEY YANG TERENKRIPSI MENGGUNAKAN ALGORITMA RIJNDAEL - Binus e-Thesis

  _________________________________________________________________ Jurusan Teknik Informatika

  Program Studi Strata Satu (S1) Skripsi Sarjana Komputer

  Semester [Ganjil] tahun 2002/2006

  ANALISA DAN PERANCANGAN SOFTWARE LICENSE MANAGEMENT DENGAN LICENSE KEY YANG TERENKRIPSI MENGGUNAKAN ALGORITMA RIJNDAEL (STUDI KASUS PADA PT.ANDAL SOFTWARE SEJAHTERA) Stefanus Tehjah 0600633144 Andhika Kurnia Pandia 0600636650 Christina Ayuningtyas 0600662882

  Abstrak

   Dengan meningkatnya pembajakan dan penyalinan software yang ada, para penyedia software mulai memerlukan lisensi, untuk dapat melindungi software ciptaannya.

  Oleh karena itu, adanya sebuah Software License Management sangat membantu pengawasan dalam pemakaian software atau aplikasi. Setelah mengadakan beberapa tahap penelitian, melalui survei dan wawancara, maka dapat dibangun suatu sistem yang akan melindungi dan mengontrol lisensi dari software secara aman. Tingkat keamanan yang ditunjang dengan pengiriman dan penerimaan license key melalui tahap enkripsi dan dekripsi menggunakan algoritma Rijndael, yang telah terpilih sebagai algoritma terbaik dibandingkan algoritma lainnya menurut NIST ( National Institute of Standart and

  Technology ). Adapun Software License Management ini akan digunakan pada aplikasi

  yang berbasis pada Web-Application, maupun aplikasi lain yang berjalan didalam jaringan bertipe client/ server. Dari semuanya itu, dapat disimpulkan bahwa dengan adanya Software License Management yang memiliki reliabilitas dan sekuritas, maka para penyedia software akan lebih merasa aman dari perlakuan - perlakuan ilegal terhadap software yang telah dibuatnya. Kata Kunci : License, Software, Kriptologi, Enkripsi, Dekripsi

  

PRAKATA

Puji syukur dan terima kasih penulis panjatkan kepada Tuhan Yang Maha Kuasa atas segala

rahmat-Nya, sehingga penulisan sebuah tugas akhir yang berjudul “Analisa dan Perancangan

  

Software License Management dengan License Key yang Terenkripsi menggunakan Algoritma

Rijndael” dapat diselesaikan dengan tepat waktu.

  Adapun skripsi ini merupakan salah satu syarat untuk menyelesaikan pendidikan Program Studi Strata Satu di Universitas Bina Nusantara, Jakarta.

  Dalam kesempatan ini juga, penulis ingin mengucapkan terima kasih kepada seluruh pihak yang telah memberikan dukungan dan bantuannya baik dari segi moral maupun material, di antaranya :

  1. Prof. Dr. Gerardus Polla, M.App.Sc Selaku Rektor Universitas Bina Nusantara, Jakarta yang telah memberikan kesempatan dan menyediakan berbagai fasilitas yang diperlukan dalam menyusun tugas akhir ini.

  2. Ir. Sablin Yusuf, M.Sc, M. Com.Sc Selaku Dekan Fakultas Ilmu Komputer yang telah memberikan kesempatan dalam menyusun tugas akhir ini.

  3. Mohammad Subekti, BE., M.Sc Selaku Ketua Jurusan Teknik Informatika yang telah memberikan kesempatan dalam menyusun tugas akhir ini.

  4. Fredy Purnomo, S.Kom, M.Kom Selaku Sekretaris Jurusan Teknik Informatika yang telah memberikan kesempatan dalam menyusun tugas akhir ini.

  5. Ir. Syaeful Karim, M.Sc. Selaku Dosen Pembimbing yang telah memberikan segala bantuan,

dukungan, pengarahan dan bimbingannya kepada penulis dalam menyusun tugas akhir ini.

  6. Pak Indra Sosrodjojo Selaku Direktur dari PT. Andal Software yang telah bersedia menerima penulis untuk melakukan penelitian untuk menyelesaikan skripsi ini.

  7. Keluarga penulis yang senantiasa tak henti-hentinya mendukung dan memberikan dorongan serta doa, sehingga penulis dapat menyelesaikan tugas akhir ini.

  8. Teman-teman sekelompok, Cokorda, dan teman-teman lain yang tidak dapat kami sebutkan namanya satu per satu yang telah memberikan bantuan, motivasi dan doanya kepada penulis.

  Akhir kata, penulis mohon maaf yang sebesar-besarnya apabila terdapat kata-kata atau

kesalahan yang penulis lakukan. Semoga dengan adanya tugas akhir ini, dapat memberikan manfaat

bagi pembaca sekalian.

  Jakarta, 21 Januari 2006 Penulis

  DAFTAR ISI

  Halaman Judul Luar.....................................................................................................i Halaman Judul Dalam.................................................................................................ii

  Halaman Persetujuan Hardcover ...............................................................................iii Abstrak.......................................................................................................................iv Prakata........................................................................................................................v Daftar Isi...................................................................................................................vii Daftar Tabel...............................................................................................................xi Daftar Gambar..........................................................................................................xii BAB

  1 PENDAHULUAN..............................................................................1

  1.1 Latar Belakang....................................................................................1

  1.2 Ruang Lingkup....................................................................................2

  1.3 Tujuan dan Manfaat............................................................................3

  1.4 Metodologi..........................................................................................3

  1.5 Sistematika Penulisan.........................................................................4

   BAB

  2 LANDASAN TEORI........................................................................6

  2.1 Kriptografi...........................................................................................6

  2.1.1 Pengertian Kriptografi.............................................................6

  2.1.2 Cryptanalysis (Kripanalisis) ...................................................7

  2.1.3 Serangan Keamanan Kriptografi.............................................8

  2.1.3.1 Serangan aktif............................................................12

  2.1.3.2 Serangan pasif...........................................................12

  2.2 Algoritma Kriptografi Klasik dan Modern.......................................13

  2.2.1 Algoritma Kriptografi Klasik................................................13

  2.4.1.3 Activity diagram........................................................27

  3.2.1 Rancangan Layar......................................................................47

  3.2 Perancangan......................................................................................46

  3.1.2 Usulan Pemenuhan Kebututuhan.............................................45

  3.1.1 Analisa Kebutuhan...................................................................42

  3.1 Analisa...............................................................................................42

  

BAB 3 ANALISA DAN PERANCANGAN...............................................42

  2.4.3 System Development Lifecycle (SDLC) ................................37

  2.4.2 Pemrograman Java................................................................34

  2.4.1.4 Class diagram...........................................................28

  2.4.1.2 State diagram............................................................26

  2.2.2 Algoritma Kriptografi Modern..............................................14

  2.4.1.1.2 Collaboration diagram...............................25

  2.4.1.1.1 Sequence diagram .....................................24

  2.4.1.1 Interaction diagram..................................................23

  2.4.1 Unified Modelling Language (UML) ...................................21

  2.4 Metode Berorientasi Objek...............................................................20

  2.3.2 Dekripsi.................................................................................20

  2.3.1 Enkripsi.................................................................................19

  2.3 Algoritma Rijndael sebagai AES......................................................17

  2.2.2.2 Algoritma Asimetri...................................................17

  2.2.2.1 Algoritma Simetri......................................................15

  3.2.1.1 Rancangan Layar Utama program pada server.........47

  3.2.1.2 Rancangan Layar Dokumentasi................................49

  3.2.1.3 Rancangan Layar Confirmation Distribution License Key..............................................................49

  3.2.1.4 Rancangan Layar Log...............................................50

  3.2.1.5 Rancangan Layar Confirmation Delete.....................51

  3.2.1.6 Rancangan Layar Menu About.................................51

  3.2.2 Rancangan Diagram ................................................................53

  3.2.2.1 Class Diagram...........................................................53

  3.2.2.2 StateDiagram.............................................................56

  3.2.2.3 Use Case Diagram.....................................................59

  3.2.2.4 Sequence Diagram....................................................60

  3.2.2.5 Collaboration Diagram..............................................63

  3.3 Pseudocode (Kode Semu).................................................................65

  BAB 4 IMPLEMENTASI DAN EVALUASI............................................73

  4.1 Perangkat yang Digunakan...............................................................73

  4.1.1 Perangkat Keras.......................................................................73

  4.1.2 Perangkat Lunak......................................................................74

  4.2 Rencana Implementasi......................................................................74

  4.2.1 Petunjuk Pengoperasian Program............................................74

  4.3 Evaluasi (Testing Program )......................................................... ...90

  4.4 Hasil Evaluasi...................................................................................91

  4.4.1 Skenario dan Hasil Evaluasi Aplikasi…………………….....97

   BAB

  5 KESIMPULAN DAN SARAN......................................................96

  5.1 Kesimpulan......................................................................................96

  5.2 Saran.................................................................................................97 DAFTAR PUSTAKA...............................................................................................98 RIWAYAT HIDUP..................................................................................................99 LAMPIRAN-LAMPIRAN

  DAFTAR ISI

  Halaman Judul Luar.....................................................................................................i Halaman Judul Dalam.................................................................................................ii

  Halaman Persetujuan Hardcover ...............................................................................iii Abstrak.......................................................................................................................iv Prakata........................................................................................................................v Daftar Isi...................................................................................................................vii Daftar Tabel...............................................................................................................xi Daftar Gambar..........................................................................................................xii BAB

  1 PENDAHULUAN..............................................................................1

  1.1 Latar Belakang....................................................................................1

  1.2 Ruang Lingkup....................................................................................2

  1.3 Tujuan dan Manfaat............................................................................3

  1.4 Metodologi..........................................................................................3

  1.5 Sistematika Penulisan.........................................................................4

   BAB

  2 LANDASAN TEORI........................................................................6

  2.1 Kriptografi...........................................................................................6

  2.1.1 Pengertian Kriptografi.............................................................6

  2.1.2 Cryptanalysis (Kripanalisis) ...................................................7

  2.1.3 Serangan Keamanan Kriptografi.............................................8

  2.1.3.1 Serangan aktif............................................................12

  2.1.3.2 Serangan pasif...........................................................12

  2.2 Algoritma Kriptografi Klasik dan Modern.......................................13

  vii

  2.2.1 Algoritma Kriptografi Klasik................................................13

  2.2.2 Algoritma Kriptografi Modern..............................................14

  2.2.2.1 Algoritma Simetri......................................................15

  2.2.2.2 Algoritma Asimetri...................................................17

  2.3 Algoritma Rijndael sebagai AES......................................................17

  2.3.1 Enkripsi.................................................................................19

  2.3.2 Dekripsi.................................................................................20

  2.4 Metode Berorientasi Objek...............................................................20

  2.4.1 Unified Modelling Language (UML) ...................................21

  2.4.1.1 Interaction diagram..................................................23

  2.4.1.1.1 Sequence diagram .....................................24

  2.4.1.1.2 Collaboration diagram...............................25

  2.4.1.2 State diagram............................................................26

  2.4.1.3 Activity diagram........................................................27

  2.4.1.4 Class diagram...........................................................28

  2.4.2 Pemrograman Java................................................................34

  2.4.3 System Development Lifecycle (SDLC) ................................37

  

BAB 3 ANALISA DAN PERANCANGAN...............................................42

  3.1 Analisa...............................................................................................42

  3.1.1 Analisa Kebutuhan...................................................................42

  3.1.2 Usulan Pemenuhan Kebututuhan.............................................45

  3.2 Perancangan......................................................................................46

  3.2.1 Rancangan Layar......................................................................47

  3.2.1.1 Rancangan Layar Utama program pada server.........47

  3.2.1.2 Rancangan Layar Dokumentasi................................49

  3.2.1.3 Rancangan Layar Confirmation Distribution License Key..............................................................49

  3.2.1.4 Rancangan Layar Log...............................................50

  3.2.1.5 Rancangan Layar Confirmation Delete.....................51

  3.2.1.6 Rancangan Layar Menu About.................................51

  3.2.2 Rancangan Diagram ................................................................53

  3.2.2.1 Class Diagram...........................................................53

  3.2.2.2 StateDiagram.............................................................56

  3.2.2.3 Use Case Diagram.....................................................59

  3.2.2.4 Sequence Diagram....................................................60

  3.2.2.5 Collaboration Diagram..............................................63 3.3 (Kode Semu).................................................................65

  Pseudocode

  BAB 4 IMPLEMENTASI DAN EVALUASI............................................73

  4.1 Perangkat yang Digunakan...............................................................73

  4.1.1 Perangkat Keras.......................................................................73

  4.1.2 Perangkat Lunak......................................................................74

  4.2 Rencana Implementasi......................................................................74

  4.2.1 Petunjuk Pengoperasian Program............................................74

  4.3 Evaluasi (Testing Program )......................................................... ...90

  4.4 Hasil Evaluasi...................................................................................91

  4.4.1 Skenario dan Hasil Evaluasi Aplikasi…………………….....97

   BAB

  5 KESIMPULAN DAN SARAN......................................................96

  5.1 Kesimpulan......................................................................................96

  5.2 Saran.................................................................................................97 DAFTAR PUSTAKA...............................................................................................98 RIWAYAT HIDUP..................................................................................................99 LAMPIRAN-LAMPIRAN

  DAFTAR TABEL

Tabel 2.1 Kombinasi panjang kunci, ukuran block dan jumalah putaran..........................19Tabel 2.2 Plat Form yang mendukung Java.......................................................................35Tabel 3.1 Rincian Menu.....................................................................................................47

  DAFTAR GAMBAR

Gambar 2.1 Aliran Normal.................................................................................................8Gambar 2.2 Interupsi..........................................................................................................9Gambar 2.3 Intersepsi.........................................................................................................9Gambar 2.4 Modifikasi.....................................................................................................10Gambar 2.5 Pemalsuan.....................................................................................................10Gambar 2.6 Proses Enkripsi dan Dekripsi........................................................................15Gambar 2.7 Petunjuk Kotak Aktivasi...............................................................................24Gambar 2.8 Sequance Diagram 1 (Pendaftaran Khusus)................................................25Gambar 2.9 Collaboration Diagram (Rancangan Proxy)….............................................25Gambar 2.10 Simbol Titik Awal dan titik akhir dari Transisi..........................................26Gambar 2.11 State Diagram (Pendaftaran Kursus)..........................................................26Gambar 2.12 Simbol Fork, Join, Rendezvous…………………………………………..27Gambar 2.13 Activity Diagram (Pendaftaran Kursus).....................................................28Gambar 2.14 Contoh-contoh dari multiplicity.................................................................30Gambar 2.15 Sebuah hubungan many-to-many dari sebuah kelas asosiasi, dan sebuah diagram ekuivalen dengan menggunakan 2 hubungan One to Many.........31Gambar 2.16 Contoh dari reflexive associations..............................................................32Gambar 2.17 Diagram asosiasi directional.......................................................................33Gambar 2.18 Kelas hirarki yang tidak ada perbedaannya didalam operasi.....................34Gambar 2.19 Skema pengkompilasian kode sumber untuk menerjemahkan kode biner....................................................................................................36Gambar 2.20 Systems Development Life Cycle (SDLC) Life-Cycle Phases.................38Gambar 3.1 Rancangan Layar Utama program pada server............................................47Gambar 3.2 Rancangan Layar Dokumentasi...................................................................49Gambar 3.3 Rancangan Layar Confirmation Distribution License Key.........................49Gambar 3.4 Rancangan Layar Log..................................................................................50Gambar 3.5 Rancangan Layar Message Box Confirmation Delete …............................51Gambar 3.6 Rancangan Layar About….......................................................................…51Gambar 3.7 Rancangan Class Diagram …............................................................……...53Gambar 3.8 Rancangan State Diagram Komputer Client................................................56Gambar 3.9 Rancangan State Diagram Komputer Server................................................56Gambar 3.10 Rancangan State Diagram Perusahaan…...............................................…57Gambar 3.11 Rancangan State Diagram User..................................................................58Gambar 3.12 Rancangan State Diagram Karyawan.........................................................58Gambar 3.13 Rancangan State Diagram Administrator...................................................59Gambar 3.14 Rancangan UseCase Diagram....................................................................59Gambar 3.15 Rancangan Sequence Diagram (Penginstalan server)................................60Gambar 3.16 Rancangan Sequence Diagram (Penginstalan Client)................................61Gambar 3.17 Rancangan Sequence Diagram (Aplikasi Client).......................................62Gambar 3.18 Rancangan Collaboration Diagram (pada server)......................................63Gambar 3.19 Rancangan Collaboration Diagram (pada Client)……..................………64Gambar 3.20 Rancangan Collaboration Diagram (aplikasi pada Client).........................65Gambar 4.1 Layar Menu Utama Network License Server v1.0.......................................75Gambar 4.2 Client sudah terdaftar dalam table Active Client List…..............................76Gambar 4.3 Client yang dipilih administrator untuk di-mapping ...................................77Gambar 4.4 Client yang sudah di-mapping dengan license key masing-masing….........79Gambar 4.5 Client yang sudah dipilih oleh administrator untuk didistribusikan license keynya…........................................................................................................80Gambar 4.6 Layar Menu File...........................................................................................82Gambar 4.7 Layar Menu Actions.....................................................................................83Gambar 4.8 Layar Menu Help..........................................................................................84Gambar 4.9 Layar Dokumentasi.......................................................................................85Gambar 4.10 Layar About................................................................................................86Gambar 4.11 Layar Confirm to Delete ............................................................................86Gambar 4.12 Layar Confirm Distribution License Key...................................................87Gambar 4.13 Layar Log...................................................................................................87Gambar 4.14 Meminta input dari client berupa IP address computer server, untuk memastikan bahwa client sudah berada dalam satu jaringan

  yang sama..................................................................................................88

Gambar 4.15 Tampilan ketika IP address sudah dimasukkan..........................................88Gambar 4.16 Tampilan ketika client sudah dimasukkan kedalam mapping list oleh administrator, sampai client menekan tombol

  “Request Key”………………………………………………...………..88