Poin-poin utama

  • ED25519 adalah algoritma tanda tangan asimetris yang menyediakan keamanan kuat dan performa unggul.

  • Bergantung pada sulitnya masalah logaritma diskrit pada kurva eliptik, dan tahan terhadap berbagai serangan kriptografis.

  • Dibandingkan algoritma tradisional seperti RSA, ED25519 memiliki kecepatan yang jauh lebih tinggi dalam proses penandatanganan dan verifikasi, sehingga cocok untuk aplikasi real-time dan sistem blockchain.

  • Binance sepenuhnya mendukung algoritma ED25519 untuk keamanan API, dan menyediakan alat serta library untuk mempermudah pembuatan kunci, penandatanganan permintaan, serta pengintegrasian otentikasi perdagangan yang aman dan manajemen akun.

الشريط الإعلاني لدورات أكاديمية Binance

Pendahuluan

Dalam artikel ini, kami membahas ED25519 dengan memberikan gambaran umum tentang algoritma dan latar belakang sejarahnya. Kami juga mengulas kekurangan dari algoritma kriptografi yang lebih lama yang diatasi oleh ED25519, serta menjelaskan mengapa algoritma ini populer dan banyak digunakan.

Selanjutnya, kami berikan beberapa panduan tentang cara membuat kunci privat dan publik, menjelaskan dasar-dasar penandatanganan dan verifikasi pesan, serta menunjukkan cara menggunakan kunci ini dengan API di Binance.

Alasan membuat ED25519

Meskipun algoritma asimetris seperti RSA (diciptakan pada 1977) dan DSA (sejak 1991) telah digunakan secara luas, keduanya memiliki beberapa kekurangan yang ingin diatasi oleh ED25519.

1. Keamanan

Ketahanan terhadap serangan: Algoritma ED25519 dirancang untuk menahan berbagai serangan kriptografis, termasuk serangan side-channel dan serangan timing yang memengaruhi algoritma yang lebih lama seperti RSA dan DSA. Algoritma lama rentan terhadap serangan karena penyerang dapat mengekstrak informasi rahasia dengan mengamati perbedaan timing saat penandatanganan atau verifikasi.

Andaian kriptografis yang lebih kuat: ED25519 bergantung pada sulitnya masalah logaritma diskrit pada kurva eliptik, yang dinilai lebih aman terhadap jenis serangan tertentu dibandingkan masalah faktorisasi bilangan yang digunakan pada RSA.

2. Kinerja

Kecepatan penandatanganan: ED25519 dirancang agar lebih cepat daripada RSA-2048 dalam membuat tanda tangan. Keunggulan kecepatan yang signifikan ini membuat algoritma ini sangat cocok untuk aplikasi yang memerlukan pembuatan tanda tangan cepat, seperti high-frequency trading (HFT) dan komunikasi real-time.

Kecepatan verifikasi: ED25519 juga lebih cepat daripada RSA-2048 dalam memverifikasi tanda tangan. Kecepatan verifikasi yang lebih tinggi diperlukan untuk sistem yang harus memverifikasi banyak tanda tangan dengan cepat, seperti jaringan blockchain dan platform pesan yang aman.

3. Tanda tangan deterministik

Konsistensi: ED25519 menghasilkan tanda tangan yang sama untuk pesan yang sama setiap kali, sehingga menghilangkan kebutuhan akan generator angka acak yang aman selama proses penandatanganan. Konsistensi ini mengurangi risiko kesalahan implementasi dan kelemahan yang terkait dengan keacakan yang lemah.

Menyederhanakan implementasi: Sifat deterministik menyederhanakan proses implementasi, sehingga pengembangan sistem kriptografi yang aman dan tepercaya menjadi lebih mudah.

4. Ukuran kunci yang lebih kecil

Efisiensi: ED25519 menggunakan ukuran kunci yang lebih kecil dibanding RSA, yang menghasilkan perhitungan lebih cepat dan kebutuhan penyimpanan lebih rendah. Efisiensi ini sangat bermanfaat untuk lingkungan dengan sumber daya terbatas, seperti sistem tertanam dan perangkat IoT, serta aplikasi di perangkat seluler.

Penghematan bandwidth: Ukuran kunci yang lebih kecil juga mengurangi penggunaan bandwidth, yang menjadi keuntungan untuk aplikasi terintegrasi dan sistem dengan batasan saluran komunikasi.

Kasus penggunaan

ED25519 banyak digunakan dalam komunikasi aman berkat keamanan yang kuat dan performanya yang sangat baik. Kemampuannya untuk membuat dan memverifikasi tanda tangan dengan cepat membuatnya ideal untuk aplikasi seperti pesan terenkripsi, keamanan email, dan transfer file yang aman.

Dengan memastikan penandatanganan pesan dan file serta mencegah perubahan, ED25519 membantu menjaga integritas dan kerahasiaan informasi sensitif. Selain itu, sifat deterministiknya menyederhanakan proses implementasi, sehingga mengurangi risiko kesalahan dan kelemahan yang terkait dengan keacakan pada operasi kriptografi.

Sistem blockchain dan mata uang digital juga merupakan salah satu kasus penggunaan utama ED25519; efisiensi algoritma dalam menandatangani dan memverifikasi transaksi sangat penting untuk menjaga kecepatan dan keamanan jaringan blockchain.

Ukuran kunci ED25519 yang kecil dan performanya yang cepat sangat bermanfaat khususnya untuk lingkungan dengan sumber daya terbatas, seperti perangkat IoT dan sistem tertanam. Perangkat-perangkat ini sering kali membutuhkan protokol komunikasi aman yang dapat bekerja secara efisien dalam batas kemampuan komputasi dan penyimpanan yang terbatas. Dengan memanfaatkan ED25519, pengembang dapat memastikan solusi IoT mereka aman dan berperforma tinggi, sehingga memungkinkan banyak aplikasi mulai dari perangkat rumah pintar hingga sistem otomasi industri.

Bagaimana cara membuat kunci ED25519?

Metode favorit untuk membuat kunci privat dan publik adalah menggunakan alat pembuat kunci di Binance

Kunci juga dapat dibuat menggunakan openssl melalui baris perintah.

Membuat kunci privat:

Membuat kunci privat dengan frasa sandi:

Membuat kunci publik dari kunci privat:

Contoh: membuat dan memverifikasi tanda tangan ED25519

Cara menandatangani permintaan API di Binance

  1. Menyiapkan variabel permintaan:

    1. Untuk antarmuka pemrograman WebSocket, semua variabel harus diurutkan secara menaik sebelum membuat tanda tangan, yang memastikan konsistensi dalam pembuatan tanda tangan.

    2. Untuk antarmuka pemrograman REST, Anda tidak perlu mengurutkan variabel sebelum penandatanganan. Tanda tangan dibuat berdasarkan variabel permintaan itu sendiri persis seperti yang dikirim.

  2. Membuat tanda tangan ED25519:

    1. ED25519 dapat digunakan dengan kunci rahasia API untuk menandatangani variabel terkait.

    2. Anda dapat menggunakan kunci privat ED25519 dengan mendaftarkan kunci publik di Binance. Untuk langkah detailnya, silakan lihat cara membuat pasangan kunci ED25519 untuk mengirim permintaan API di Binance

  3. Menyertakan tanda tangan dalam permintaan:

    1. Lampirkan tanda tangan yang dibuat ke permintaan API sebagai variabel tanda tangan.

Contoh: cara menandatangani permintaan menggunakan kunci privat ED25519 untuk API di Binance

Binance merekomendasikan penggunaan konektor

Contoh: cara menggunakan konektor Binance

Membuat tanda tangan secara otomatis

Bagi pengembang yang ingin mengotomatisasi proses pembuatan tanda tangan melalui berbagai bahasa pemrograman, Binance menyediakan repositori sumber terbuka yang berisi contoh untuk Python, JavaScript, Java, dan lainnya. Anda bisa mengaksesnya melalui repositori GitHub binance-signature-examples

Dengan memanfaatkan sumber daya ini, pengembang dapat dengan cepat mengintegrasikan otentikasi berbasis ED25519 ke dalam aplikasi mereka dengan usaha seminimal mungkin.

Bagi yang menguji integrasi API Binance di lingkungan terisolasi, Anda dapat membuat kunci privat ED25519 menggunakan jaringan uji Binance

Pertanyaan Umum

Untuk apa ED25519 digunakan?

ED25519 digunakan untuk membuat tanda tangan digital yang memverifikasi keaslian dan integritas pesan atau transaksi. Aplikasi yang umum mencakup otentikasi SSH, sertifikat TLS, keamanan API, serta penandatanganan transaksi blockchain. Binance menggunakannya sebagai algoritma pilihan untuk mengamankan permintaan API.

Apakah ED25519 lebih aman daripada RSA?

Keduanya memiliki karakteristik keamanan yang berbeda; ED25519 menawarkan ketahanan terhadap serangan timing dan serangan side-channel yang memengaruhi aplikasi RSA, serta memberikan tingkat keamanan yang setara menggunakan kunci yang jauh lebih kecil. Untuk kebanyakan kasus penggunaan keamanan API, ED25519 adalah pilihan yang lebih kuat di antara keduanya untuk kebutuhan praktik saat ini.

Apakah ED25519 aman terhadap komputasi kuantum?

Tidak. Seperti semua algoritma berbasis kurva eliptik, ED25519 tidak menahan serangan dari komputer kuantum yang cukup kuat. NIST telah menerbitkan standar tanda tangan pasca-kuantum pada tahun 2024, termasuk ML-DSA. Saat ini, ED25519 masih praktis dan banyak digunakan, tetapi institusi dengan kebutuhan keamanan jangka panjang mungkin mulai merencanakan migrasi ke algoritma pasca-kuantum.

Bagaimana saya menggunakan ED25519 dengan API di Binance?

Buat pasangan kunci ED25519 menggunakan alat pembuat kunci di Binance atau library pemrograman yang didukung, lalu daftarkan kunci publik Anda di akun Binance Anda. Untuk setiap permintaan API, tandatangani string variabel menggunakan kunci privat Anda dan sertakan tanda tangan yang dihasilkan ke dalam permintaan. Library konektor Binance dapat mengotomatisasi proses ini melalui berbagai bahasa pemrograman.

Apa perbedaan antara ED25519 dan HMAC untuk keamanan API di Binance?

HMAC menggunakan kunci rahasia bersama untuk membuat kode otentikasi pesan, sehingga kedua pihak harus mengetahui kunci yang sama—artinya rahasia harus disimpan oleh kedua pihak. Sedangkan algoritma ED25519 bersifat asimetris: Anda hanya menyimpan kunci privat, dan Binance hanya menyimpan kunci publik Anda. Artinya, jika sistem Binance disusupi, kunci tanda tangan privat Anda tidak akan terungkap. ED25519 adalah metode yang direkomendasikan Binance untuk integrasi API baru.

Ide penutup

ED25519 memberikan keseimbangan sempurna antara keamanan dan performa, menjadikannya pilihan yang sangat baik untuk kebutuhan kriptografi modern. Sifat asimetrisnya memberikan keamanan yang lebih kuat dibanding algoritma simetris seperti HMAC, yang mungkin lebih rentan terhadap beberapa jenis serangan.

Dari sisi performa, ED25519 unggul dalam pembuatan tanda tangan dan verifikasinya; lebih cepat daripada algoritma tradisional seperti RSA, dengan kecepatan penandatanganan hingga 30 kali lebih cepat. Efisiensi ini membuatnya ideal untuk aplikasi yang memerlukan penandatanganan cepat dan berulang, seperti koneksi aman dan transaksi blockchain.

Di Binance, ED25519 menjadi algoritma pilihan berkat keamanan dan performanya yang unggul, serta didukung penuh oleh semua antarmuka pemrograman di Binance, memastikan integrasi yang mulus dan kompatibel di berbagai platform serta layanan. Dengan menggunakan ED25519, Binance memastikan proses kriptografinya aman dan efisien, sekaligus menjadi fondasi yang tepercaya untuk layanan keuangan dan layanan perdagangan mereka.

Setelah memahami algoritma ED25519 serta cara membuat kunci dan tanda tangan, Anda dapat menggunakannya untuk mengirim permintaan pasar di Binance dengan aman.
Saat mengirim pesanan pasar, kunci privat digunakan untuk menandatangani pesanan, sehingga membuktikan bahwa pesanan berasal dari sumber yang sah.

Artikel terkait

Penafian: Konten ini disediakan untuk Anda “apa adanya” hanya untuk tujuan informasi umum dan pembelajaran, tanpa pernyataan atau jaminan dalam bentuk apa pun. Konten ini tidak boleh ditafsirkan sebagai nasihat keuangan atau hukum, atau nasihat profesional lainnya. Ini juga bukan rekomendasi untuk membeli produk atau layanan tertentu. Anda harus meminta konsultasi dari konsultan profesional yang sesuai. Jika artikel ini disediakan oleh pihak eksternal, harap dicatat bahwa opini yang disajikan adalah opini pihak eksternal dan tidak harus mencerminkan opini dari akademi Binance. Harga aset digital bersifat fluktuatif; nilai investasi Anda bisa turun atau naik dan Anda mungkin tidak mendapatkan kembali nilai jumlah yang diinvestasikan. Anda bertanggung jawab penuh atas keputusan investasi Anda, dan akademi Binance tidak bertanggung jawab atas kerugian apa pun yang mungkin Anda alami. Untuk informasi lebih lanjut, lihat syarat penggunaan