Apa itu OpenSSL?

OpenSSL adalah toolkit kriptografi sumber terbuka yang mendukung komunikasi aman antara perangkat endpoint di jaringan. Toolkit ini mencakup tiga komponen utama: pustaka libcrypto, pustaka libssl, dan utilitas baris perintah untuk melakukan tugas-tugas kriptografi.

Library libcrypto

Pustaka ini menyediakan berbagai antarmuka pemrograman aplikasi untuk menjalankan kriptografi umum. Pustaka ini mendukung berbagai algoritma kriptografi yang digunakan dalam standar internet, termasuk enkripsi simetris, penanganan sertifikat, kriptografi kunci publik, pembuatan angka pseudo-acak, dan fungsi hash kriptografi.

Library libssl

Pustaka ini mencakup fungsi yang diperlukan untuk mendukung komunikasi peer-to-peer yang aman. Pustaka ini bergantung pada libcrypto dan menggunakan banyak fiturnya. Libssl mendukung protokol komunikasi jaringan yang aman seperti Transport Layer Security (TLS) dan Secure Sockets Layer (SSL), meskipun SSL versi 3 hanya didukung sebagai opsi waktu kompilasi. Selain itu, pustaka ini menyediakan implementasi protokol Datagram TLS (DTLS) dan Quick UDP Internet Connections (QUIC) yang dikembangkan oleh Google.

Utilitas Baris Perintah

Utilitas baris perintah, openssl, adalah alat yang berguna untuk melakukan berbagai tugas kriptografi. Pengguna dapat membuat parameter kunci, menghasilkan sertifikat X.509, menghitung digest pesan, mengenkripsi atau mendekripsi file, serta membuat permintaan penandatanganan sertifikat atau daftar pencabutan sertifikat.

Untuk melihat daftar perintah openssl yang tersedia, pengguna dapat memasukkan openssl -help di prompt sistem. Versi OpenSSL yang diinstal dapat dilihat dengan perintah openssl version -a, yang juga menampilkan detail versi dan direktori tempat sertifikat, kunci pribadi, dan file konfigurasi disimpan.

Menurut laporan penelitian “Global State of Exposure: OpenSSL Vulnerabilities” dari Bitsight, dua pertiga server web dunia menggunakan OpenSSL. Meskipun sebagian besar komponen OpenSSL ditulis dalam bahasa C, pembungkus tersedia untuk berbagai bahasa pemrograman lainnya.

Proyek OpenSSL bertanggung jawab untuk mengembangkan dan memelihara OpenSSL, yang didistribusikan di bawah lisensi Apache v2. Namun, lisensi ini hanya berlaku untuk OpenSSL 3.0 ke atas. Versi terbaru OpenSSL adalah 3.2.1, dirilis pada 30 Januari 2024.

Provider OpenSSL

OpenSSL menggunakan “provider” untuk mengakses implementasi algoritma. Provider adalah wadah yang berisi beberapa implementasi algoritma. Berikut lima provider inti dalam distribusi OpenSSL:

  • Default. Menyediakan algoritma bawaan seperti Secure Hash Algorithm 3 (SHA-3), Advanced Encryption Standard (AES), dan Rivest-Shamir-Adleman (RSA).
  • Legacy. Berisi algoritma lama seperti MD-4 dan Blowfish, untuk mendukung kompatibilitas mundur.
  • Base. Berisi subset kecil algoritma non-kriptografi dari provider default, seperti pertukaran kunci X448 dan X25519.
  • FIPS. Menyediakan algoritma yang sesuai dengan Federal Information Processing Standard, seperti AES dan Triple DES.
  • Null. Tidak berisi algoritma apa pun, digunakan untuk mencegah provider default dimuat secara otomatis.

Untuk menggunakan algoritma tertentu, setidaknya satu provider harus dimuat. Provider pihak ketiga juga tersedia dalam bentuk modul yang dapat dimuat dengan ekstensi .so atau .dll, tergantung pada platform.

Tagged:

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *