"TEKNIK INFORMATIKA-09"

.
Diberdayakan oleh Blogger.

DIGITAL CERTIFICATE (Enkripsi Modern)

DIGITAL CERTIFICATE
1. Pengertian Digital Certificate
Digital Certificates adalah file elektronik yang hanya bekerja sebagai paspor online. Digital Certificates dikeluarkan oleh pihak ketiga yang dikenal sebagai Certification Authority seperti VeriSign atau Thawte.
            Sertifikat digital adalah dokumen digital yang berisi informasi sebagai berikut:
v  nama subjek (perusahaan/individu yang disertifikasi)
v  kunci publik si subjek
v  waktu kadaluarsa sertifikat (expired time)
v  informasi relevan lain seperti nomor seri sertifikat, dll.
2. Fungsi Digital Certificate
                  Sertifikat digital memiliki dua fungsi dasar yaitu sebagai berikut :
1.        Untuk menyatakan bahwa orang-orang, website, dan sumber daya jaringan seperti server dan router merupakan sumber terpercaya, dengan kata lain sesuai dengan siapa atau apa yang menjadi tuntutan mereka.
2.        Untuk memberikan perlindungan bagi pertukaran data dari pengunjung dan website dari gangguan atau bahkan pencurian, seperti informasi kartu kredit.
3. Bentuk Digital Certificate
                    Sebuah sertifikat digital berisi :
·         -nama organisasi atau individu
·         -alamat bisnis,
·         -tanda tangan digital,
·         -public key,
·         -nomor seri, dan
·         -tanggal kedaluwarsa.
                 Ada dua jenis utama sertifikat digital yang penting untuk membangun situs Web aman dan ini adalah server certificates dan personal certificates.
a. Server certificates
               Sertifikat server merupakan bagian penting dari proses membangun website, salah satu yang tidak bisa dilewati atau diabaikan dengan alasan apapun. Memiliki sertifikat server dapat memberi keuntungan pemilik website karena merupakan usaha professional bisnis e-commerce di mana pelanggan memiliki jaminan sebagai legitimasi atau profesionalisme dari orang-orang partner bisnis.
b. Personal Certificates
Personal Certificates sedikit berbeda dari Server Certificates karena memungkinkan Anda untuk memvalidasi identitas pengunjung situs Web dan bahkan membatasi akses mereka kepada bagian-bagian tertentu dari website. Anda mungkin ingin mengatur website Anda
sehingga halaman web hanya tersedia bagi orang-orang tertentu, dan sertifikat pribadi dapat membantu Anda melakukan hal ini. Personal Certificates dapat digunakan untuk hal-hal seperti mengirim dan menerima email untuk informasi rekening pribadi seperti password terlupakan atau informasi nama pengguna.
Keamanan Standar
Sebagian besar protokol standar yang banyak digunakan untuk komunikasi elektronik mengandalkan digital certificates:
a. SSL (Secure Socket Layer), yang dirancang oleh Netscape Communication Corporation, diterima secara luas sebagai browser forweb dasar standar dan otentikasi server, dan aman untuk pertukaran data di Internet. Hampir semua server utama dan web browser termasuk Netscape Communicator dioptimalkan untuk mengaktifkan enkripsi SSL, dan merupakan jenis keamanan yang paling umum dilihat di Internet.
b. S/MIME (Secure Multipurpose Internet Mail Extensions Protocol) dianggap sebagai standar dasar untuk email yang aman dan EDI (Electronic Data Interchange).
c. SET (Secure Transaksi Elektronik protokol) melindungi pembayaran elektronik dari pengunjung web untuk operator situs.
d. Internet Protocol Secure Standard (IPSec) memverifikasi perangkat jaringan seperti server dan router.
4. Cara Kerja Digital Certificate
a. Proses Registrasi
Langkah pembentukan sertifikat digital:
·         Sertifikat digital/digital sign diperlukan sebagai identifikasi sebelum seorang pelanggan dapat melakukan akses/transaksi pada suatu aktifitas kegiatan berbasis WEB (B2B, B2C, G2C) yang menggunakan pengamanan dan enkripsi dengan metoda Public Key Infrastructure (PKI).
·          Setiap orang/pelanggan yang akan berkomunikasi/bertransaksi harus terlebih dahulu mendaftar (registrasi) untuk memperoleh Identifikasi dalam bentuk Elektronik Identification Number.
·         Setelah Elektronik Identification Number (E-ID) diterbitkan dan diterima oleh pelanggan, selanjutnya Elektronik Identification Number (E-ID) tersebut oleh provider yang bersangkutan akan dikirimkan ke Certificate Authority Server untuk di registrasikan.
·         Selanjutnya pelanggan melalui komputer yang dimiliki (personal) akan melakukan koneksi secara on line menggunakan komunikasi yang khusus/secure (menuju address WEB site yang telah ditentukan) untuk melalukan verifikasi dengan cara mengirimkan Elektronik Identification Number (E-ID) yang telah diperoleh sebelumnya, dalam rangka memperoleh Digital Certificate.
·         Selanjutnya Certificate Authority Server akan melakukan verifikasi terhadap kebenaran dan keabsahan Elektronik Identification Number (E-ID) yang telah dikirimkan oleh pelanggan.
·         Jika Elektronik Identification Number (E-ID) tersebut benar dan absah, maka selanjutnya Certificate Authority Server akan menerbitkan Digital Certificate, dengan disertai Public Key dan Private Key.
Digital Certificate tersebut akan dikirimkan ke pelanggan dengan menggunakan komunikasi yang khusus/secure untuk selanjutnya Digital Certificate tersebut diinstall di komputer pelanggan.
b. Proses pengiriman
·         Sertifikat digital/digital sign diperlukan sebagai identifikasi sebelum seorang pelanggan dapat melakukan akses/transaksi pada suatu aktifitas kegiatan berbasis WEB (B2B, B2C, G2C) yang menggunakan pengamanan dan enkripsi dengan metoda Public Key Infrastructure (PKI).
·         Setiap orang/pelanggan yang akan berkomunikasi/bertransaksi harus terlebih dahulu mendaftar (registrasi) untuk memperoleh Identifikasi dalam bentuk Elektronik Identification Number.
·         Setelah Elektronik Identification Number (E-ID) diterbitkan dan diterima oleh pelanggan, selanjutnya Elektronik Identification Number (E-ID) tersebut oleh provider yang bersangkutan akan dikirimkan ke Certificate Authority Server untuk di registrasikan.
·         Selanjutnya pelanggan melalui komputer yang dimiliki (personal) akan melakukan koneksi secara on line menggunakan komunikasi yang khusus/secure (menuju address WEB site yang telah ditentukan) untuk melalukan verifikasi dengan cara mengirimkan Elektronik Identification Number (E-ID) yang telah diperoleh sebelumnya, dalam rangka memperoleh Digital Certificate.
· Selanjutnya Certificate Authority Server akan melakukan verifikasi terhadap kebenaran dan keabsahan Elektronik Identification Number (E-ID) yang telah dikirimkan oleh pelanggan.
 Jika Elektronik Identification Number (E-ID) tersebut benar dan absah, maka selanjutnya Certificate Authority Server akan menerbitkan Digital Certificate, dengan disertai Public Key dan Private Key.
 Digital Certificate tersebut akan dikirimkan ke pelanggan dengan menggunakan komunikasi yang khusus/secure untuk selanjutnya Digital Certificate tersebut diinstall di komputer pelanggan.
B. DIGITAL SIGNATURE
   1. Pengertian Digital Signature
Source : http://cenxos.blogspot.com/2008/06/digital-signature.html
       Digital signature merupakan sistem keamanan kriptografi simetris (symetric crypthography/secret key crypthography) atau public key cryptography system yang dikenal sebagai kriptografi simetris, menggunakan kunci yang sama dalam melakukan enkripsi dan dekripsi terhadap suatu pesan (message), disini pengirim dan penerima menggunakan kunci yang sama sehingga mereka harus menjaga kerahasian (secret) terhadap kuci tersebut. Salah satu algoritma yang terkenal dalam kriptografi simetris ini adalah Data Encryption Stkitard (DES) yang bertujuan untuk memastikan otentisitas dari dokumen tersebut.
       Tanda tangan kita secara digital adalah memberikan suatu ciri khas terhadap suatu pesan. Message digest adalah suatu besaran (value) yang berasal dari suatu data/pesan yang memiliki sifat yang unik yang menkitai bahwa pesan tersebut mempunyai suatu besaran tertentu yang diciptakan dengan melakukan enkripsi terhadap suatu data dengan menggunakan kriptografi satu arah (one way crypthography), yaitu suatu tehnik kriptografi yang terhadapnya tidak dapat dilakukan proses pembalikan (reversed). Pada saat message digests dienkripsi dengan menggunakan kunci privat dari pengirim dan "ditambahkan" kepada data/pesan yang asli maka hasil yang didapat adalah digital signature dari pesan tersebut.
a. Authenticity (Ensured)
Dengan memberikan digital signature pada data elektronik yang dikirimkan maka akan dapat ditunjukkan darimana data elektronis tersebut sesungguhnya berasal. Integritas pesan tersebut akan terjamin karena keberadaan dari Digital Certificate yang diperoleh atas dasar aplikasi kepada Cerfication Authority oleh user/subscriber. digital certificate berisi informasi mengenai pengguna yaitu identitas, kewenangan, kedudukan hokum serta status dari user.
Digital certificate ini memiliki berbagai tingkatan/level yang menentukan berapa besar kewenangan yang dimiliki oleh pengguna.
b. Integrity
  Integritas/integrity yaitu jika seorang penerima pesan/data merasa yakin bahwa pesan/data tersebut pernah dimodifikasi atau diubah selama proses pengiriman atau penyimpanan. Penggunaan digital signature yang diaplikasikan pada pesan/data elektronik yang dikirimkan dapat menjamin bahwa pesan/data elektronik tersebut tidak mengalami suatu perubahan atau modifikasi oleh pihak yang tidak berwenang.
c. Non-Repudiation (Tidak dapat disangkal keberadaannya)
Non repudiation adalah hal yang sangat penting bagi e-commerce apabila suatu transaksi dilakukan melalui suatu jaringan internet, kontrak elektronik (electronic contracts), ataupun transaksi pembayaran.
Pesan yang telah dienkripsi dengan menggunakan kunci prifat maka ia hanya dapat dibuka/dekripsi dengan menggunakan kunci publik dari pengirim.
d. Confidentiality
Pesan dalam bentuk data elektronik yang dikirimkan bersifat rahasia/confidential, sehingga tidak semua orang dapat mengetahui isi data elektronik yang telah di-sign dan dimasukkan dalam digital envelope.
Contoh software Digital Signature
Contoh software digital signature adalah JSignPdf
JSignPdf adalah aplikasi Java yang menambahkan tanda tangan digital untuk dokumen PDF. Hal ini dapat digunakan sebagai aplikasi standalone atau sebagai Add-On pada OpenOffice.org. JSignPdf adalah perangkat lunak open source dan dapat digunakan secara bebas baik di sektor swasta dan bisnis. Fitur utama adalah:
 * Beberapa keystore jenis yang berbeda (seperti yang disediakan oleh Java)
* Menambahkan tanda tangan digital untuk PDF
 * Menetapkan tingkat sertifikasi
 * PDF enkripsi dan pengaturan hak
* Menambahkan ikon tanda tangan ke PDF (terlihat tanda tangan)
 * Komprehensif swing GUI
 * Dukungan untuk pemrosesan batch (dikontrol oleh argumen baris perintah, tanpa GUI)
.
2. Digital Signature Algorithm (DSA)
Source : ewinarko.staff.ugm.ac.id/kripto/DSA.pdf
·         Pada bulan Agustus 1991, NIST (The National Institute of Standard and Technology) mengumumkan algoritma sidik dijital yang disebut Digital Signature Algorithm (DSA). DSA dijadikan sebagai bakuan (standard) dari Digital Signature Standard (DSS).
·         DSS adalah standard, sedangkan DSA adalah algoritma. Standard tersebut menggunakan algoritma ini, sedangkan algoritma adalah bagian dari standard (selain DSA, DSS menggunakan Secure Hash Algorithm atau SHA sebagai fungsi hash)
·         DSA termasuk ke dalam sistem kriptografi kunci-publik. Meskipun demikian, DSA tidak dapat digunakan untuk enkripsi. DSA mempunyai dua fungsi utama:
1. Pembentukan sidik dijital (signature generation), dan
2. Pemeriksaan keabsahan sidik dijital (signature verivication).
·         Sebagaimana halnya pada algoritma kriptografi kunci-publik, DSA menggunakan dua buah kunci, yaitu kunci publik dan kunci rahasia. Pembentukan sidik digital menggunakan kunci rahasia pengirim, sedangkan verifikasi sidik digital menggunakan kunci publik pengirim.
·         DSA menggunakan fungsi hash SHA (Secure Hash Algorithm) untuk mengubah pesan menjadi message digest yang berukuran 160 bit (SHA akan dijelaskan pada kuliah selanjutnya).
a. Parameter DSA
 DSA dikembangkan dari algoritma Elgamal. DSA menggunakan beberapa parameter sebagai berikut:
1. p, adalah bilangan prima dengan panjang L bit, yang dalam hal ini 512  L  1024 dan L harus kelipatan 64.
Parameter p bersifat publik dan dapat digunakan bersama-sama oleh orang di dalam kelompok.
2. q, bilangan prima 160 bit, merupakan faktor dari p – 1. Dengan kata lain, (p – 1) mod q = 0. Parameter q berisfat publik.
3. g = h(p – 1)/q mod p, yang dalam hal ini h < p – 1 sedemikian sehingga h(p – 1)/q mod p > 1. Parameter g bersifat publik.
4. x, adalah bilangan bulat kurang dari q. Parameter x adalah kunci rahasia.
5. y = gx mod p, adalah kunci publik.
6. m, pesan yang akan diberi sidik dijital.
b. Pembentukan Sepasang Kunci
1. Pilih bilangan prima p dan q, yang dalam hal ini (p – 1) mod q = 0.
2. Hitung g = h(p – 1)/q mod p, yang dalam hal ini 1 < h < p – 1 dan h(p – 1)/q mod p > 1.
3. Tentukan kunci rahasia x, yang dalam hal ini x < q.
4. Hitung kunci publik y = gx mod p.
c. Pembentukan Sidik Dijital (Signing)
1. Ubah pesan m menjadi message digest dengan fungsi hash SHA, H.
2. Tentukan bilangan acak k < q.
3. Sidik dijital dari pesan m adalah bilangan r dan s. Hitung r dan s sebagai berikut:
r = (gk mod p) mod q
s = (k– 1 (H(m) + x * r)) mod q
4. Kirim pesan m dan sidik dijital r dan s.
d. Verifikasi Keabsahan Sidik Dijital (Verifying)
1. Hitung
w = s– 1 mod q
u1 = (H(m) * w) mod q
u2 = (r * w) mod q
v = ((gu1 * yu2) mod p) mod q)
2. Jika v = r, maka sidik dijital sah, yang berarti bahwa pesan masih asli dan dikirim oleh pengirim yang benar.
e. Contoh Perhitungan DSA
a. Pembentukan Sepasang Kunci
1. Pilih bilangan prima p dan q, yang dalam hal ini (p – 1) mod q = 0.
p = 59419
q = 3301 (memenuhi 3301 * 18 = 59419 – 1)
2. Hitung g = h(p – 1)/q mod p, yang dalam hal ini 1 < h < p – 1 dan h(p – 1)/q mod p > 1.
g = 18870 (dengan h = 100)
3. Tentukan kunci rahasia x, yang dalam hal ini x < q.
x = 3223
4. Hitung kunci publik y = gx mod p.
y = 29245
b. Pembentukan Sidik Dijital (Signing)
1. Hitung nilai hash dari pesan, misalkan H(m) = 4321
2. Tentukan bilangan acak k < q.
k = 997
k– 1 = 2907 (mod 3301)
3. Hitung r dan s sebagai berikut:
r = (gk mod p) mod q = 848
s = (k– 1 (H(m) + x * r)) mod q
= 7957694475 mod 3301 = 183
4. Kirim pesan m dan sidik dijital r dan s.
c. Verifikasi Keabsahan Sidik Dijital
1. Hitung
s– 1 = 469 (mod 3301)
w = s– 1 mod q = 469
u1 = (H(m) * w) mod q 2026549 mod 3301 = 3036
u2 = (r * w) mod q = 397712 mod 3301 = 1592
v = ((gu1 * yu2) mod p) mod q) = 848 mod 3301 = 848
2. Karena v = r, maka sidik digital sah.
f. Implementasi DSA
·         Adanya batasan bahwa nilai p mempunyai panjang 512 sampai 1024 bit dan q 160-bit, menyebabkan DSA hampir tidak mungkin diimplementasikan dalam perangkat lunak. Panjang bit yang besar ini dimaksudkan agar upaya untuk memecahkan parameter yang lain sangat sulit dilakukan
3. Compiler C hanya sanggup menyatakan bilangan bulat hingga 232. Oleh karena itu, bila DSA diimplementasikan dalam perangkat lunak, batasan panjang bit p dan q diubah hingga maksimum nilai p dan q adalah 232.

0 komentar

Posting Komentar