APLIKASI PENANDATANGANAN DOKUMEN SECARA DIGITAL MENGGUNAKAN METODE ADVANCED ENCRYPTION STANDARD
(AES) (STUDI KASUS: FMIPA UNIVERSITAS RIAU) Muhammad Farabi Andrika, Aidil Fitriansyah
Mahasiswa Program Studi S1 Sistem Informasi Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam Kampus Bina Widya Pekanbaru, 28293, Indonesia
[email protected], [email protected] ABSTRAK
Menandatangani dokumen secara digital merupakan kegiatan menandatangani dokumen yang berbentuk soft file. Namun, dokumen yang dihasilkan belum tentu dapat ditelusuri keabsahannya. Penelitian ini bertujuan untuk mengembangkan sistem informasi tandatangan digital (esign) yang berfungsi untuk menghasilkan sebuah dokumen dengan tandatangan yang valid dan QRCode agar dapat diseluri keabsahannya. Untuk dapat menandatangani sebuah dokumen digital dibutuhkan file digital signature berformat PKCS#12. Sistem dikembangkan menggunakan framework PHP CodeIgniter 4. Sistem yang dibuat harus memiliki keamanan yang baik, sehingga data pengguna tidak mudah dicuri. Salah satu cara untuk mengamankan data adalah dengan mengenkripsi data tersebut agar tidak dapat dibaca oleh manusia. Pada penelitian ini digunakan metode enkripsi Advanced Encryption Standard (AES-128) dengan menggunakan Mode Counter (CTR). Enkripsi dilakukan pada file digital signature. Hasil dari enkripsi merupakan ciphertext yang disimpan kedalam sebuah file.
Kata Kunci : Sistem Informasi, Esign, Digital Signature, QRCode, Advanced Encryption Standard, PKCS#12, CodeIgniter 4.
ABSTRACT
The legitimacy of signing soft files digitally may not be guaranteed. The goal of this research was to create a Digital Signature Information System (esign) that can produce a document with a valid signature and QRCode to authenticate the document. A Digital Signature file in PKCS#12 format is required to sign a digital document. The system was developed using PHP programming language and CodeIgniter 4 framework. The designed system must be secure to protect user data. Encrypting data is a technique to keep the data safe. This research used Advanced Encryption Standard (AES-128) Counter Mode to encrypt user data. The encryption operation was performed on digital signature file. The ciphertext from digital signature file was saved in a file.
Keywords : Information System, Esign, Digital Signature, QRCode, Advanced Encryption Standard, PKCS#12, CodeIgniter 4.
.PENDAHULUAN
Kemajuan teknologi tentunya harus dapat memberikan kemudahan-kemudahan di kehidupan sehari-hari. Salah satu teknologi yang dimaksud adalah teknologi digital dibidang pendokumentasian. Mendokumentasi dokumen sebenarnya tidak hanya sekedar bagaimana dokumen yang dihasilkan dijadikan kebentuk digital tapi bagaimana dokumen tersebut dapat diseluri dengan mudah dan memiliki autentifikasi pemilik sehingga dokumen tersebut memiliki kepercayaan yang tinggi.
Dokumen dalam bentuk fisik (cetak) yang disertakan tanda tangan basah dapat menunjukkan keabsahannya. Namun untuk dokumen digital tentunya menjadi pertanyaan apakah sah atau tidaknya suatu dokumen karena tanda tangan yang diberikan merupakan hasil pindai atau tanda tangan digital yang tidak terverifikasi (tanda tangan simple).
Menurut undang-undang No 11 Tahun 2008 tentang informasi dan transaksi elektronik bahwa kekuatan pembuktian dari dokumen elektronik yang dibubuhkan tanda tangan elektronik adalah sama dengan kekuatan pembuktian akta notarial.
Berdasarkan permasalahan yang telah disampaikan pada bagian sebelumnya maka penulis tertarik untuk melakukan penelitian mengenai aplikasi pendokumentasian surat secara digital yang dapat menghasilkan surat yang valid dan dapat diseluri keabsahannya.
Aplikasi mampu menangani mulai dari mengunggah dokumen, pengamanan dokumen, membagikan dokumen dan mengunduh dokumen.
TINJAUAN PUSTAKA a. Keamanan Sistem Informasi
Keamanan sistem informasi dapat didefinisikan sebagai mekanisme dalam pengoperasian sebuah sistem yang memiliki tujuan agar sistem tersebut terhindar dari berbagai threat's yang memberi efek buruk terhadap keamanan informasi dan data yang terdapat pada sistem tersebut (Dianta and Zusrony 2019)
b. Kriptografi
Kriptografi adalah ilmu dan seni yang bertujuan untuk menjaga kerahasiaan pesan atau data dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti maknanya oleh manusia. Ilmu kriptografi terdapat dua proses yaitu melakukan enkripsi dan dekripsi. Pesan atau data yang akan dienkripsi disebut sebagai plaintext (teks biasa).
Disebut text biasa karena informasi ini dengan mudah dapat dibaca dan dipahami oleh manusia. Algoritma yang digunakan untuk mengenkripsi dan mendekripsi sebuah plaintext harus melibatkan penggunaan suatu bentuk kunci (key). Plaintext yang telah dienkripsi (atau dikodekan) dikenal sebagai ciphertext (teks sandi) (Pabokory, Astuti, and Kridalaksana 2015)
c. Advanced Encryption Standard (AES)
Algoritma AES merupakan sebuah algoritma chiper atau kriptografi yang relatif aman untuk melindungi data atau informasi yang bersifat rahasia. Pada tahun 2001 AES dipublikasikan oleh National Institute of Standard and Technology (NIST) yang bertujuan untuk menggantikan algoritma DES yang sudah dianggap kuno dan mudah dibobol. Algoritma AES memiliki input dan output yang terdiri dari urutan data sebesar 128 bit. Urutan data dalam satu kelompok yang terdiri dari 128 bit tersebut disebut juga sebagai blok data atau plaintext yang nantinya akan dienkripsi menjadi chipertext.
Panjang kunci dari algoritma AES terdiri dari 128 bit – 10 round, 192 bit – 10 round, dan 256 bit – 12 round. Perbedaan panjang kunci ini yang nantinya mempengaruhi jumlah putaran (round) pada algoritma AES. (Bhaudhayana and Widiartha 2015).
1. Enkripsi
Proses enkripsi pada algoritma AES terdiri dari 4 jenis transformasi bytes, yaitu SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey. Pada awal proses enkripsi, input yang telah di-copykan ke dalam state akan mengalami transformasi byte AddRoundKey. Setelah itu, state akan mengalami transformasi SubBytes, ShiftRows, Mixcolumns, dan AddRoundKey secara berulang-ulang sebanyak Nr. Proses ini dalam algoritma AES disebut sebagai round function. Round yang terakhir agak berbeda dengan round-round sebelumnya dimana pada round terakhir, state tidak mengalami transformasi MixColumns.
Gambar 1. Proses Enkripsi AES
2. Dekripsi
Transformasi cipher dapat dibalikkan dan diimplementasikan dalam arah yang berlawanan untuk menghasilkan inverse cipher yang mudah dipahami untuk algoritma AES. Transformasi byte yang digunakan pada inverse cipher adalah InvShiftRows, InvSubBytes, InvMixColumns, dan AddRoundKey.
d. Counter Mode (CTR)
AES Counter Mode (CTR) distandarisasi pada 2001 oleh NIST pada SP 800-38A.
CTR menggunakan counter daripada Initialize Vector (IV) pada mode AES yang lain.
CTR memiliki atribut tambahan berupa nonce dan counter block. Mode CTR tidak memerlukan padding untuk plaintext ke ukuran block cipher. Plaintext akan dibagi menjadi block dan proses enkripsi sebagai berikut (Ciptaningtyas et al. 2017)
𝑂𝑂𝑗𝑗 = 𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑘𝑘�𝑇𝑇𝑗𝑗�𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = 1,2, … , 𝑛𝑛; ... (2.1) 𝐶𝐶𝑗𝑗= 𝐶𝐶𝑗𝑗⨁𝑂𝑂𝐽𝐽𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 = 1,2, … , 𝑛𝑛 − 1; ... (2.2) 𝐶𝐶𝑛𝑛 = 𝐶𝐶𝑛𝑛⨁𝑀𝑀𝑀𝑀𝑀𝑀𝑢𝑢(𝑂𝑂𝑛𝑛) ... (2.3) e. Digital Signature
Digital Signature atau tanda tangan elektronik merupakan sebuah file yang memiliki kombinasi dari fungsi hash dan enkripsi dengan metode asimetrik. Untuk membuat sebuah digital signature, dokumen elektronik akan dijadikan sebagai input pada fungsi hash dan akan menghasilkan nilai hash yang unik. Hash merupakan sebuah fungsi satu arah yang akan menghasilkan value yang unique untuk setiap data yang dimasukkan.
Oleh karena itu, jika terdapat perubahan bit pada konten dokumen maka nilai hash yang dihasilkan akan berbeda. Setelah melakukan hashing kemudian di enkripsi menggunakan private key untuk selanjutnya nilai dari hasil enkripsi tersebut adalah nilai signature dari suatu dokumen. Signature kemudian ditambahkan ke dokumen. Proses ketike verifikasi dokumen, dilakukan dengan cara dekripsi signature dokumen. Hasil dekripsi tersebut akan menghasilkan nilai hash lalu nilai hash tersebut dibandingkan dengan nilai hash dari dokumen yang dibuat oleh penerima dokumen. Jika nilai hash sama, maka dokumen yang diterima adalah asli. Sebaliknya jika nilai hash yang tidak sama, maka dapat dipastikan bahwa dokumen mengalami perubahan oleh pihak yang tidak berwenang (Listyana, Wati, and Lisnawati 2014).
f. Public Key Cryptography Standards #12 (PKCS#12)
Public Key Cryptography Standards #12 (PKCS#12) merupkan Personal Information Exchange Syntax yang disediakan oleh RSA yang merupakan sebuah perusahaan keamanan, sebagai spesifik sertifikat informasi yang lengkap dari pengguna untuk menerapkan sertifikat keamanan yang dapat di ekspor. PKCS#12 adalah sebuah file yang berisi kunci pribadi dan kunci publik yang mengandung identitas pribadi yang berhubung dengan pengguna. PKCS#12 memiliki format p12 dan pfx, yang dapat ditempelkan pada file PDF document sehingga PDF tersegel. Menurut hukum UU ITE segel pada dokumen tersebut setara dengan tandatangan dan stempel basah tradisional (Abraham, Santosa, and Winarno 2018).
g. Hypertext Preprocessor (PHP)
PHP adalah bahasa pemrograman yang berjalan pada sisi server (server side) yang digunakan untuk mengembangkan web dan dapat disatukan dengan Hyper Text Markup Language (HTML). PHP meliputi proses perhitungan ataupun pemanggilan data. PHP bersifat dinamis, artinya dengan file yang sama dapat menghasilkan output yang berbeda- beda (Silviana and Thalib 2018)
h. CodeIgniter
CodeIgniter merupakan framework PHP yang dibuat berdasarkan Model View Controller (MVC). CI memilki library yang cukup lengkap untuk mengerjakan operasi- operasi yang umum dibutuhkan oleh aplikasi berbasis web misalnya mengakses database, memvalidasi form sehingga mudah dalam pengembangan sistem.
i. JsignPdf
JsignPdf merupakan aplikasi open source yang berfungsi untuk menambahkan tanda tangan digital ke dokumen PDF. JsignPdf dibuat menggunakan bahasa pemrograman Java yang bisa dijalankan di multiplatform seperti linux, windows, macosx, dll. JsignPdf dapat digunakan dengan GUI atau Command Line (Cacek 2008).
j. TCPDF
TCPDF merupakan sebuah library PHP open source yang berfungsi untuk meng- generate PDF dokumen. TCPDF juga dapat melakukan penambahan gambar, digital sertifikat, dan pengeditan PDF lainnya. Tetapi dengan bantuan library lainnya seperti FPDI, TCPDI, dll (Asuni 2004).
k. Database
Database merupakan sekumpulan data yang saling berkaitan, berinteraksi dan memiliki relasi. Relasi tersebut bila ditunjukan dengan primary key dari tiap-tiap data yang ada. Satu database merepresentasikan suatu kumpulan data yang dipakai dalam suatu lingkup perusahaan, instansi. Pengolahan database merupakan suatu cara yang dilakukan terhadap data-data yang berada di suatu instansi yang mana data tersebut dapat disusun, diurut, dan diambil sewaktu-waktu serta dapat ditampilkan dalam bentuk suatu laporan sehingga dapat mengolah file-file yang berisikan informasi tersebut secara rapi (Sovia and Febio 2011).
l. Unified Modeling Language (UML)
Unified Modeling Language (UML) adalah sebuah bahasa yang telah menjadi standar dalam industri untuk melakukan visualisasi, konstruksi, dan mendokumentasikan artifact (bagian dari informasi yang dihasilkan atau digunakan dalam suatu proses pembuatan software). Artifact dapat berupa model atau deskripsi dari sistem perangkat lunak, seperti pada pemodelan bisnis dan sistem non perangkat lunak lainnya (Pranata, Hamdani, and Khairina 2015).
METODE PENELITIAN a. Tahapan Penelitian
Langkah-langkah yang dilakukan dalam penelitian ini tergambar dalam Gambar 2. Gambar 2. Tahapan Penelitian
b. Studi Literatur
Studi Literatur adalah metode untuk mendapatkan teori pendukung penelitian dan menjadi dasar dalam penelitian ini, literatur tersebut dapat diperoleh dari buku, jurnal, e- book, dan dokumentasi project. Bagian studi literatur ini mencakup teori diantaranya adalah sebagai berikut:
1. Sertifikat Digital 2. Keamanan Sistem 3. Kriptografi
4. Pengembangan Aplikasi Berbasis Web.
5. Metode Advanced Encryption Standard (AES).
c. Identifikasi Masalah
Pada tahap ini dilakukan pengidentifikasian masalah yang ada sehingga dapat menemukan solusi yang baik untuk pemecahan masalah tersebut. Pada penelitian ini terdapat masalah bagiamana cara menelusuri dokumen yang telah ditandatangani secara digital
d. Pengumpulan Data
Pengambilan data dilakukan untuk diaplikasikan kepada sistem yang dibuat sehingga sistem dapat berjalan semestinya. Pada penelitian ini dilakukan observasi untuk mengetahui bagaimana seharusnya dokumen elektronik dapat diseluri keabsahannya.
e. Pengembangan Sistem
Metode yang digunakan dalam pembangunan sistem ini adalah metode waterfall.
Metode waterfall merupakan model pengembangan sistem informasi yag sistematik dan sekuensial. Metode Waterfall memiliki tahapan-tahapan sebagai berikut (Sasmito 2017)
Identifikasi
Masalah Pengumpulan
Data Studi
Literatur
Pengembangan Sistem Pengujian
Sistem Laporan
Penelitian
Gambar 3. Metode Waterfall
HASIL DAN PEMBAHASAN a. Identifikasi Masalah
Pada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Riau transaksi dokumen banyak menggunakan media elektronik. Dokumen yang dikirimkan melalui media elektronik tidak memiliki identitas yang dapat dipastikan keabsahannya.
Dokumen elektronik biasanya hanya ditandatangani dengan cara menempelkan gambar visual tandatangan, hal ini dilakukan sebagai patokan bahwa dokumen tersebut telah sah.
Namun hal ini sangat tidak dapat dipastikan, karena gambar visualisasi dari tandatangan tersebut dapat ditiru/diduplikat oleh orang yang tidak bertanggungjawab menggunakan tools citra digital.
b. Pengumpulan Data
Setelah melakukan observasi pada Fakultas Matematika dan Ilmu Pengetahuan Alam terdapat bahwa :
1. Permintaan tandatangan suatu dokumen hanya dilakukan dengan permintaan email.
Lalu ditandatangani oleh penandatangan dengan menempelkan visual tandatangan.
2. Tidak ada sistem yang dapat memastikan bahwa dokumen tersebut valid.
3. Tidak ada sistem yang dapat digunakan untuk berbagi dokumen.
4. Tidak ada sistem yang mempermudah proses permintaan ataupun pemberian tandatangan.
c. Pengembangan Sistem
Pada pengembangan sistem menggunakan metode waterfall. Pada metode waterfall terdapat beberapa tahap
1. Requirements Analysis
Sistem yang dibuat merupakan sistem yang memiliki fungsi untuk
menandatangani dokumen, sistem juga bisa mengelola dokumen seperti media penyimpanan dan dapat berbagi dokumen kepada sesame user. Sistem juga memperhatikan keamanan tandatangan digital pengguna dengan mengenkripsi file pada server. Dokumen yang telah ditandatangani pada sistem tidak dapat diedit.
2. Design
Untuk menjalankan sistem, dibutuhkan hardware maupun software dengan spesifikasi server sebagai berikut :
a. System Requirement
1) Random Access Memory (RAM) berkapasitas minimal 2 GB.
2) Harddisk berkapasitas minimal 100 GB.
3) Sistem Operasi : Windows/Linux
4) Memiliki software Java SE Runtime Environment (JRE) 5) Memiliki software LAMP (Linux) atau XAMPP (Windows).
b. Software Design 1) Use Case Diagram
Use Case Diagram merupakan diagram yang digunakan untuk menjelaskan siapa saja aktor (entitas) yang terlibat hingga apa saja yang dapat dilakukan oleh masing-masing entitas tersebut
Gambar 4. Use Case Diagram
2) Class Diagram
Class Diagram merupakan diagram yang merepresentasikan class-class yang ada pada sistem dan hubungannya secara logic
Gambar 5. Class Diagram
3. Implementation and Unit Testing
Pada tahap implementasi, beberapa unit-unit kecil dari sistem telah dapat berjalan. Berikut beberapa hasil dari sistem.
Gambar 6. Tampilan Halaman Login
Gambar 7. Tampilan Halaman Dokumen
4. Integration and System Testing 1) Enkripsi File
a) Membaca isi file pfx atau p12 dan menyimpan isi file pfx atau p12 kedalam variable filesourcedata.
b) Lalu menjalankan fungsi encrypt AES CTR dan menyimpan hasil enkripsi kedalam variable encrypt.
c) Hasil dari enkripsi file telah disimpan didalam variable enkripdata. Lalu agar file dapat tersimpan pada server dilakukan pembuatan file baru.
d) Lalu file telah tersimpan pada server. Tahapan enkripsi pada file pfx atau p12 dapat dilihat pada tabel 1.
Tabel 1. Tahapan Enkripsi File pfx atau p12
Plaintext 30820a38020103308209fe06092a864886f70d010701a08209ef048209eb308209e73082048706092a864886f70d010706a08204 78308204740201003082046d06092a864886f70d010701301c060a2a864886f70d010c0106300e0408c0e0a87277f52f18020208 008082044060e36e4e390200d39aaf45ffc5d937876d09b03d17c5c71bec09b7a7e051566571b526260cbb5b4547c57cf2b525183 ca8e3d393683bc9b92e6d67a51a32e82fad5fbda9c5071681b8b55c402489aba431d3e2af7737c91c2af4dccf1b6d46096cc1e57da dddd7526cde4b55f3ecf48ccdf400c423454d179d40a56739e30cb676ee8e7849ca970e6ca1f913109e0c02b9b933082a470a6db2 2e776e946fb19bb4dc722dec5d0efde2a84207e466c55e47a6006f9915bf3515d4b8ea79c99c5dc0e3f7da1bd7a564723c21fc4f83 15b2b78f70f837cb1fe74b791f9c574844e55915d19644612d2bda7e00d93ca1f0731a2d358409a18b9d14251126f4d3b5b1baa8a 284e8ecd6035bd4dd44417010d16fd6da65529dc6f9c9b29299fcdf4b066de06c5aeca56df61ffa8c5e8cc2cc28d57c214ed4fa9a65 236aaa8e73fe72f4e8bcf7713639dcf0916567074ee3d7554f86b147cef30e4d49b870947ee590b1876cfd45433d5682295e7f985b 89cf0358788436c28c0ddbccb9dfc9d66ad9a0d9e019db2b39527483994ff753daf5412f95ae7f0b7af955c2841e77bd9156c444e8 16670f65f0bee83af6a81d60bdd1d71eb12bb83412a4cb59f1012e5bcbbb412fffcfd8aab0005611e1b103442520e253cdb23be271 1154c5b76bdeca749502c2ea60a51f7febce25030d7794b78691cfd9a15a7b3dc4ece07effe141911020e09ca078c174413f75fc8ed 87c54055756e009540e4e166246369f77735927e03cc5352e391c149194e2e5f5229bc126b2f571a04f7f2c0cd601270266c5aee2 dc303f6e07c62341392572f9f1d7fb867e005ddf693058c473c83fb1e3de0426d46030695494e1f2f44c4bb7a7a02207a4d672e8e6 ec43fed9af00fc6df4c437cf24e9436ef579bff02c713c1d523d84d92c10b57b42739e45f81b5150db9e4bbb8a40a47a962c863b77e fd20e999406311e49eb00a9c144082ae6729d2d3a192fb11f20d63e25a82f275faa132e8cfb8605b045faaf4dea9f916788e07bd971 5c5926e16595f534933c0b8c2365d0e792f63c4d11a5b73a49810320b9686263fc06ebfce950099ce9fe55251b7832ace400fc90da 96cfc7f6e03dbee0f53bc7905d569e79f12f0666e90b180d18d890061990015d66b9e3f5a2a6df568aea39807e933f5cd2073080ce da26b49b1617bb1d9e6bf2757812b0a756c89237d3ce1065a2c5261ae2dc1d5b5cf30d6239a2159ef8b9d72824d882aebc84a5b1b d2bac65360fb59226eaa23417d02eeaddfc38ed439bdced1e2cf11189a2e76ac1450b047d51f1f953b270f25cba193df56b7212488 4feae7fa2dba967c71c4b2a8c7e46e12b07c0359aa49194bdf8cee59a41d6806b7ba278252d924a344e26ea4098170bc8c36fd7d01 74727c3edcc872c5882894bf72600fa6f1193fb89e9e7d14249ca5ceade4fcdc81b2b1dc0373d9956f0237cf16552f593ca9a617c9e f7238ba81b3aa79209504a96fbd24779f081809177645857e370edc1bb9d6be20a3082055806092a864886f70d010701a0820549 04820545308205413082053d060b2a864886f70d010c0a0102a08204ee308204ea301c060a2a864886f70d010c0103300e0408b5 8a31766036e7e102020800048204c8b0af381cbf47adabb59dea040b849ad4cddbfd14b0242a156d64119f37f07908badf931df3a8 1cf02b6278e6fd714c3c570cea0cb9fb05d51d67a5c3c408f84750bd8ea52bf87673e5e821bc39991b78e4113c0ab7a833440bf4e1 5e845e5dad23398a393e7fe5351f6eb97b7a35b5c9656ea2121a78a2db9b7c4b462edcbda2f50ae2b6f27720e09c07529a4a733e38 b3a9e38a41f154b6cd4e47609afbf25f9e45cd68772ed90f7382980ed804ad8a8e3d2eb75d4163970816779ce9e81fa84967996310 7a9dccc06534bbc75e8714f87c0c25d08e90b0b989a45d2ce390372bccb419ed224f2f6ce033fd1a056fad6df6b8dc665771a4d91c
527b62468eca7b0f776c86326
Password password
BlockSize 16
nBits 128
nBytes 16
pwBytes [102,109,105,112,97,101,115,105,103,110,0,0,0,0,0,0]
keyExpansio
n (pwBytes) 0 1 2 3
0 102 109 105 112
1 97 101 115 105
2 103 110 0 0
… … … … …
43 145 113 207 236
key (hasil enkripsi
$pwBytes AES)
[169,216,162,162,207,146,192,215,118,160,46,68,89,71,196,75]
nonce 1624955985211
nonceMs 211
nonceSec 1624955985
nonceRnd 39747
counterBlock [211,0,67,155,81,220,218,96]
keySchedule (hasil
enkripsi $key AES)
0 1 2 3
0 169 216 162 162
1 207 146 192 215
2 118 160 46 68
… … .. .. ..
41 135 176 25 45
42 169 188 29 20
43 192 127 133 191
blockCount 328
counterBlock [211,0,67,155,81,220,218,96,1,0,0,0,0,0,0,0]
cipherCount er (hasil enkripsi
$counterBlo ck AES)
0 1 2 3
0 [243,33,189,148,119,247,229,168,77,69,8,40,60,104,151,2 1 [52,237,170,220,81,92,187,242,32,171,229,218,244,171,8304]
,217]
… …
328 [117,155,86,188,97,207,119,83,115,169,120,159,200,212,6 8,4]
blockLength [16,16,16,…,8]
ciphertext 0wBDm1Hc2mDAEYWmR5bWkH13OBkMW6T8DN+a5Tc5i8QQkte7zJ1n4RzeTINWshq3/3Wn68fA4erwLglhlMxb/
MhG4c6v8RhAm63Qy5J1qaCAbGXPrTpRbDO/ivgHFslbIVnkF3pbxPmFXmNVC6dxVz+6bIpofEWOMLAxPFUNgut KOnysLLg546yzehXGa+x/gQ0VJYhGhuBElMNhtWaxF+sa5sRIzHPklw4nlvjBUbW9h7HWpknVH1iXL+kPVGrM2jk Ew49vS1iSdvs+lXe/GxAnlIr13Drm+wHXhf76BZx3D0Sjzj85zGQjc/7GMzeEC5vWDjSQn/FHMy5rGR1mhL6XUh4g9 AdenB52ajk4bkU9o6lZ6M/uEF9A64tmAXDD+nZUJJVXGFR5I3pb67kWtw8AcOmIvCjS3TxRRfxj6NJA1ilcQ+LAjQ ZLbWnKjeV/08NjxFLBPdtY33ourN691/EnA9KGnPHjoQ9bTADbF6QKaqYWMi/ESjNGgroKun2CHWTzTw1yqzwg WWwbJg3Abnxe7t2NDud+m6rkTdUYJqVwJ2Ib40Ak6hsdf51txRAGJ8ENZ0/sK/62qZ34q7ayZaN8Bli8q4PhmtRD6bst k/5r/95sp/yUG8qw9i3UoCTrjBIuo98WeGZK6A/1P58wVAdjrbOTYKaYwlNR0YiZqKUjdFEPIYP01pv1kRuUKuV5zs V3ukjIE/amlAwxJp9ODRoElTu0hj1xyuuCn7aZa/QYND9PkDeA+JbaRffPPMsQoo40BUvumaMfnatSb1OKdtiZibY6Qq LAA7xgRw90/2pw9BMLGpWfRnQIglEiwYVYhXQiPpt3dq0QieSHFZhCLF/nxZQKVSgzIeOKybbrpBUauSavaMTZQ 5xc8bEIiUPLCkYN1gPC2ZBV/ITbXy6gQr+FLaGWRvVvtKnLzgq3XyCofkwBDSl8ZxI+eOb7F9BveWzYXl0EUuq3b YIeDLcNcn1XfLdeAqB8OAE2aDQt2oZXagcFgVSurtsduZzg64ymPS14VuRN/nOWhsQVapmepwHjxWdT/okxVRN0c VnjOcQysGkceUiVAUoZbep0rBzM4L/yHeMgk9qxTIMnLHYuoYgx8SfHw0CndSVnw7f6+m9IM3+rNT3QaUk1Iyryi VJa9eiAGdPKwEibNTcB/40lEOndepRSDGmQf0EqTQB3XbnPYRJ7uKxOqHpiSgdAT9boQzY18zgsOXo2hgXgQ0aPy 8X82n9pG10JaWs4uejJ8+jQGCaSLBoF1hlMd3twnLrbMvpxD7NGPkuKP/Uaolq+49j44TlaVfFJsJ3n1c7ggK2IiCmHkV Cch1SqQYE20avwiCmNhr1x23l/gs4k4I9tYXqV+Ha/qmMxO//n/EfOifAhx6tRWg12epaNsy5R8FSW/NpX0nhEeb8fVsI DvRnHGtg8RH+LiNGHF+YecQttIVDuqcjLIs0YmX9fL/0n2D4Nt9YxYUZZ0uu5mfaKgAkOwaL3wS2oK52vqGGTPi Kq3yRcsTgXjW1Crp9F+zXk5vnBfPgVmbdXDKX+...+amVveU1+y2lHbA+qtDg0sI3CdF75YkYb0zf8ty8P5TkYUjS0 MdJP8ij5dUhpRA7ZkvdLYYGcvzJ9dtC4zn6EjWuMCwmvpGCKhWbe/nl/pON31T3xoYrD3PJ1rLcqLIbKronUG+rSZ T9QzxZdKYuTElOaccOJjdMT+qqtTqiikBsNSLzRwcPqp5yMQRmt/TdVROT2tJwx2RWPHxj9tWmF9vf3dn0htI4ckuw
SG+H+jDBrDfd5FqWaOUfdHYw
2) Dekripsi File
a) Membuat file baru yang berformat p12 atau pfx.
b) Lalu membuka file digital signature yang telah dienkripsi dan menyimpan isi file ke dalam variable filesourcedata.
c) Setelah menyimpan isi file kedalam variable filesourcedata lalu dilakukan proses dekripsi AES CTR pada variable tersebut dan menyimpan hasil dekripsi kedalam file yang telah dibuat.
d) Lalu file telah tersimpan pada server.
5. Operation and Maintenance
Sistem sudah berjalan pada semestinya, sudah dilakukan hosting dan memiliki domain http://docfmipa.site dapat diakses secara online. Seiring berjalannya sistem jika terdapat kesalahan-kesalahan yang belum terdeteksi pada Black Box Testing maka dapat dilakukan operasi maintenance.
KESIMPULAN
Berdasarkan penelitian yang telah dilakukan, dapat disimpulkan beberapahal sebagai berikut.
1. Sistem Penandatangan Dokumen Elektronik (esign) di FMIPA Universitas Riau menggunakan keamanan enkripsi data dengan metode Advanced Encryption Standard (AES) telah berhasil dibangun untuk menguatkan keabsahan terhadap suatu dokumen, hingga dokumen tersebut dapat diseluri kebenarannya.
2. Sistem yang dibangun dapat memudahkan karyawan dan dosen FMIPA Universitas Riau dalam menandatangani suatu dokumen, dimanapun dan kapanpun.
3. Proses perhitungan enkripsi menghasilkan sebuah cipher yang tidak dapat dibaca oleh manusia sehingga meningkatkan keamanan pada sistem penandatanganan dokumen elektronik (esign).
4. File digital signature yang diupload ke server tidak disimpan seperti file seutuhnya, melainkan dilakukan enkripsi terhadap file tersebut. Sehingga mengurangi resiko tersebarnya tanda tangan digital user.
5. Enkripsi Advanced Encryption Standard (AES) terhadap url harus melibatkan base64 encode agar url link tidak mengandung karakter yang tidak semestinya.
Seperti “/” dan lainnya.
SARAN
Berdasarkan kesimpulan diatas, maka saran dari penelitian ini adalah sebagai berikut:
1. Sistem Penandatangan Dokumen Elektronik (esign) dapat dikembangkan lagi menggunakan framework javascript React, Vue, NodeJs, NuxtJs, dan lainnya.
2. Sistem Penandatangan Dokumen Elektronik (esign) dapat dikembangkan agar dapat membaca orientasi pada halaman-halaman dokumen.
3. Sistem Penandatangan Dokumen Elektronik (esign) dapat dikembangkan agar dapat membuat digital signature pada sistem tersebut.
4. Sistem Penandatangan Dokumen Elektronik (esign) dapat dikembangkan agar dapat membuat 2 atau lebih penandatangan pada suatu document.
5. Dilakukan kriptanalisis untuk menguji ketahanan ciphertext.
UCAPAN TERIMA KASIH
Penulis mengucapkan terima kasih kepada Bapak Aidil Fitriansyah, S.Kom., MIT.
yang telah membimbing, memotivasi, dan membantu penelitian dan penulisan karya ilmiah ini.
DAFTAR PUSTAKA
Abraham, Firda Zulivia, Paulus Insap Santosa, and Wing Wahyu Winarno. 2018.
“Tandatangan Digital Sebagai Solusi Teknologi Informasi Dan Komunikasi (TIK) Hijau: Sebuah Kajian Literatur (Digital Signature As Green Information and Communication Technology (Ict) Solution: A Review Paper).” Masyarakat Telematika Dan Informasi 9(2):111.
Asuni, Nicola. 2004. “TCPDF.” Retrieved (https://tcpdf.org/).
Bhaudhayana, Gede, and I. Widiartha. 2015. “Implementasi Algoritma Kriptografi AES 256 Dan Metode Steganografi Lsb Pada Gambar Bitmap.” Jurnal Ilmu Komputer 8(2):15–25.
Cacek, Josef. 2008. “JSignPdf Quick Start Guide.”
Ciptaningtyas, Henning Titi, Bagus Jati Santoso, Departemen Teknik Informatika, and Fakultas Teknologi Informasi. 2017. “Implementasi Enkripsi Text Menggunakan
Algoritma Advanced Encryption Standard Dan Elliptic Curve Cryptography.”
Dianta, Indra Ava, and Edwin Zusrony. 2019. “Analisis Pengaruh Sistem Keamanan Informasi Perbankan Pada Nasabah Pengguna Internet Banking.” INTENSIF:
Jurnal Ilmiah Penelitian Dan Penerapan Teknologi Sistem Informasi 3(1):1.
Listyana, Dini Sukma, Ismi Ambar Wati, and Lisnawati. 2014. “Kekuatan Pembuktian Tanda Tangan Elektronik Sebagai Alat Bukti Yang SAH Dalam Perspektif Hukum Acara Di Indonesia Dan Belanda.” Verstek 2(3):146–54.
Pabokory, Fresly Nandar, Indah Fitri Astuti, and Awang Harsa Kridalaksana. 2015.
“Implementasi Kriptografi Pengamanan Data Pada Pesan Teks, Isi File Dokumen, Dan File Dokumen Menggunakan Algoritma Advanced Encryption Standard.”
Informatika Mulawarman 10(1):20–30.
Pranata, Dana, Hamdani Hamdani, and Dyna Marisa Khairina. 2015. “Rancang Bangun Website Jurnal Ilmiah Bidang Komputer (Studi Kasus : Program Studi Ilmu
Komputer Universitas Mulawarman).” Informatika Mulawarman : Jurnal Ilmiah Ilmu Komputer 10(2):25.
Sasmito, Ginanjar Wiro. 2017. “Penerapan Metode Waterfall Pada Desain Sistem Informasi Geografis Industri Kabupaten Tegal.” Jurnal Informatika:Jurnal Pengembangan IT (JPIT) 2(1):6–12.
Silviana, Amelia Belinda, and Farid Thalib. 2018. “Pengembangan Situs Web Sebagai Wadah Berbagi Jurnal Menggunakan Framework Codeigniter.” (100).
Sovia, Rini, and Jimmy Febio. 2011. “Membangun Aplikasi E-Library Menggunakan HTML, PHP Script, Dan MYSQL Database.” Processor 6(2):38–54.