Apa itu Digital Signature Standard (DSS)?
Digital Signature Standard (DSS) adalah sebuah algoritma tanda tangan digital yang dikembangkan oleh National Security Agency (NSA) AS sebagai sarana otentikasi untuk dokumen elektronik.
Tanda tangan digital setara dengan tanda tangan tertulis yang digunakan untuk menandatangani dokumen dan memberikan otentikasi fisik.
Setelah dikembangkan, DSS diterbitkan oleh National Institute of Standards and Technology (NIST) pada tahun 1994 dan sejak itu menjadi standar pemerintah Amerika Serikat untuk otentikasi dokumen elektronik.
DSS juga ditentukan sebagai sarana otentikasi yang diverifikasi dalam Federal Information Processing Standards (FIPS) 186.
Terdapat empat revisi spesifikasi FIPS 186 DSS sejak tahun 1994:
- FIPS 186-1 pada tahun 1996
- FIPS 186-2 pada tahun 2000
- FIPS 186-3 pada tahun 2009
- FIPS 186-4 pada tahun 2013
Bagaimana Digital Signature Standard bekerja?
DSA adalah pasangan angka besar yang dihitung berdasarkan algoritma yang ditentukan dalam parameter tertentu untuk memungkinkan otentikasi penandatangan dan, sebagai konsekuensinya, integritas data yang dilampirkan.
DSS mencakup Elliptic Curve Digital Signature Algorithm (DSA), serta definisi tanda tangan Rivest-Shamir-Adleman berdasarkan Public-Key Cryptography Standards #1 versi 2.1 dan American National Standards Institute X9.31.
Tanda tangan digital dibuat dan diverifikasi menggunakan DSA. Pembuatan tanda tangan dilakukan dengan kunci privat, sementara verifikasinya dilakukan dengan merujuk pada kunci publik yang sesuai.
Setiap penandatangan memiliki pasangan kunci publik dan privat sendiri. Karena tanda tangan hanya dapat dibuat oleh orang yang berwenang menggunakan kunci privat, kunci publik yang sesuai dapat digunakan oleh siapa saja untuk memverifikasi tanda tangan tersebut.
Ringkasan data dari informasi, yang disebut message digest, dibuat menggunakan fungsi hash yang disebut Secure Hash Standard (SHS), sebagaimana ditentukan dalam FIPS 180.
Ringkasan data ini digunakan bersama DSA untuk membuat tanda tangan digital yang dikirim bersama pesan. Proses verifikasi tanda tangan melibatkan penggunaan algoritma hash yang sama.
Bagaimana format Digital Signature Standard?
Format atau skema tanda tangan digital menurut DSS sedikit berbeda di sisi pengirim dan penerima.
Di sisi pengirim, pesan menghasilkan kode hash yang memerlukan input berikut untuk memulai fungsi tanda tangan:
- kode hash;
- angka acak k yang dibuat khusus untuk tanda tangan elektronik tersebut;
- kunci privat milik pengirim; dan
- kunci publik.
Input ini menghasilkan tanda tangan pengirim yang terdiri dari dua komponen, yaitu s dan r, yang kemudian dikirim ke penerima.
Di sisi penerima, pengirim sudah terautentikasi karena kunci privatnya bertindak sebagai sertifikat digital. Kode hash baru dibuat dengan input berikut untuk menyelesaikan verifikasi tanda tangan:
- kode hash baru;
- komponen tanda tangan s dan r;
- kunci publik pengirim;
- kunci publik global; dan
- beberapa persyaratan tambahan.