Little boy questioned his mother, he asked what he can be in the future..with a sad smile, she tells him he can be anything he wants to be.... Boy said he’d become (an) astronaut and fly out into space crews around the universe he wanted to see the stars and also see other planets in outer space------------- "Why don’t we just keep dreaming, let’s keep our mind with dream and faith, as long as we wish we can make it come true, how old you are never forget your dream and keep dreaming "

Friday 11 May 2018

Apa itu Digital Signatures (RSA Digital Signature)

Misalkan seorang pelanggan mengirimkan instruksi transaksi melalui email ke seorang broker saham, dan transaksi ternyata sangat buruk bagi pelanggan. Bisa dibayangkan bahwa pelanggan dapat mengklaim tidak pernah mengirim pesanan transaksi atau seseorang memalsukan email. Broker dapat melindungi dirinya sendiri dengan mewajibkan penggunaan tanda tangan digital sebelum menerima instruksi melalui email.

Tanda tangan tulisan tangan telah lama digunakan sebagai bukti kepengarangan (Authorship), atau setidaknya kesepakatan dengan keaslian dari isi dan pemilik dokumen. Tanda tangan digital dapat memberikan fungsi yang sama seperti tanda tangan tulisan tangan, dan banyak lagi.

Gagasan mengenkripsi file dengan kunci pribadi (private key) Anda merupakan awal menuju tanda tangan digital. Siapa pun yang mendekripsi file dengan kunci publik (public key) anda tahu bahwa anda adalah orang yang mengenkripsikannya artinya anda tidak bisa menyangkal bahwa andalah yang membuat dan mengirim (non repudiation). Namun, karena enkripsi asimetris mahal secara komputasi maka menjadi tidak optimal. 

Tanda tangan digital tetap meninggalkan data asli dengan kondisi tidak terenkripsi. Tidak perlu dekripsi mahal untuk hanya membaca dokumen yang ditandatangani. Sebaliknya, tanda tangan digital menggunakan algoritma hash untuk menghasilkan sidik jari yang jauh lebih kecil dari data asli. Sidik jari ini kemudian dienkripsi dengan private key si penandatangan. Dokumen dan tanda tangan dikirim bersama. Tanda tangan digital divalidasi dengan mengambil dokumen dan menjalankannya melalui algoritma hash untuk menghasilkan sidik jarinya. Tanda tangan tersebut kemudian didekripsi dengan public key pengirim. Jika tanda terenkripsi dan kecocokan hash yang dihitung, maka dokumen tersebut identik dengan apa yang semula ditandatangani oleh penandatangan.

Kriptografi asimetris merupakan dasar untuk tanda tangan digital. Algoritma public key seperti RSA menghasilkan dua kunci: satu pribadi (private key) dan kunci publik (public key). kedua kunci tsb secara matematis saling terkait.

Contoh Kasus :
Alice ingin mengirimi email kepada Bob yang berisi informasi penting untuk transaksi saham. Alice ingin memastikan bahwa Bob tahu bahwa pesan itu datang darinya, dan pesan itu tidak berubah setelah dia mengirimnya.
Alice membuat pesan bersama dengan sidik jari pesan (digest). Dia kemudian mengenkripsi digest ini dengan kunci pribadinya seperti yang ditunjukkan pada Gambar 1.

 Alice memaketkan pesan, sidik jari dari pesan yang terenkripsi, dan kunci publiknya bersama-sama untuk membuat dokumen yang ditandatangani. Alice mengirimkan ini ke Bob seperti yang ditunjukkan pada Gambar 2.

Bob menerima pesan itu dan membacanya. Untuk memastikan bahwa pesan itu datang dari Alice, dia menciptakan sidik jari/intisari dari pesan tersebut. Dia mengambil pesan terenkripsi yang diterima dari Alice dan mendekripsi menggunakan kunci publik Alice. Bob membandingkan sidik jari pesan yang diterima dari Alice dengan yang dia hasilkan. Jika mereka cocok, Bob tahu bahwa dia dapat percaya bahwa tidak ada yang merusak pesan seperti yang ditunjukkan pada Gambar 3.


RSA Digital Signatures

Prosedur penandatanganan tanda tangan digital atau digital signature saat ini tidak hanya diimplementasikan menggunakan operasi kunci publik/public key. Bahkan, tanda tangan digital modern didasarkan pada fungsi hash dan algoritma kunci publik, seperti yang digambarkan di bawah ini.

Proses tanda tangan adalah sebagai berikut:
  • Penandatangan membuat hash, atau fingerprint dokumen, yang secara unik mengidentifikasi dokumen dan semua isinya.
  • Penanda (signer) mengenkripsi hash hanya dengan private key dari penandatangan.
  • Hash yang dienkripsi, yang dikenal sebagai tanda tangan, ditambahkan ke dokumen.
Proses verifikasi adalah sebagai berikut:
  • Verifier dalam hal ini penerima mendapatkan public key dari penandatangan.
  • Pemverifikasi mendekripsi tanda tangan menggunakan public key dari penandatangan. Langkah ini mengungkap nilai hash yang diasumsikan dari penandatangan.
  • Pemverifikasi membuat hash dari dokumen yang diterima tanpa tanda tangan, dan membandingkan hash ini dengan hash tanda terenkripsi. Jika hash cocok, dokumen itu asli. Jika cocok berarti bahwa dokumen telah ditandatangani oleh penanda yang diasumsikan dan tidak berubah sejak ditandatangani.
Contoh ini mengilustrasikan bagaimana keaslian dan integritas pesan dipastikan, meskipun teks yang sebenarnya bersifat publik. Baik enkripsi dan tanda tangan digital diperlukan untuk memastikan bahwa pesan tersebut bersifat pribadi dan tidak berubah (privasi dan integritas data).
Algoritma RSA saat ini merupakan metode paling umum untuk pembuatan tanda tangan, dan digunakan secara luas dalam peran tersebut oleh sistem e-commerce dan sistem pembelian interaktif.
Tanda tangan digital menyediakan tiga layanan keamanan dasar (basic security services) dalam komunikasi aman:
  • Keaslian data yang ditandatangani secara digital: Tanda tangan digital mengautentikasi sumber, membuktikan bahwa pihak tertentu telah melihat dan telah menandatangani data yang dipermasalahkan.
  • Integritas data yang ditandatangani secara digital: Tanda tangan digital menjamin bahwa data tidak berubah sejak saat ditandatangani.
  • Non repudiation dari transaksi: Penerima dapat mengambil data ke pihak ketiga, dan pihak ketiga menerima tanda tangan digital sebagai bukti bahwa pertukaran data ini memang terjadi. Pihak penandatangan tidak dapat menolak bahwa mereka telah menandatangani data.
Untuk mencapai tujuan ini, tanda tangan digital memiliki properti berikut:
  • Tanda tangan asli: Tanda tangan meyakinkan penerima dokumen bahwa penandatangan menandatangani dokumen.
  • Tanda tangan tidak dapat dipalsukan: Tanda tangan adalah bukti bahwa penandatangan, dan tidak bukan orang lain yang menandatangani dokumen.
  • Tanda tangan tidak dapat digunakan kembali: Tanda tangan adalah bagian dari dokumen dan tidak dapat dipindahkan ke dokumen yang berbeda.
  • Tanda tangan tidak dapat diubah: Setelah dokumen ditandatangani, tidak dapat diubah.
  • Tanda tangan tidak dapat ditolak: Penanda tidak dapat mengklaim kemudian bahwa mereka tidak menandatanganinya.
Sumber : SECFND dan Cybersecurity Essentials

1 comment:

  1. i found best learning course, which is adding my developing skills improve. This is the best decision i have taken to learn Azure Developer Associate. i can showoff my skills & knowledge to employer who want to take advantage of cloud technology & I'm becoming the few skilled people in a rising Industry.

    ReplyDelete