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