MatrixSSL merupakan open source dan proyek komersial yang telah dirancang untuk memberikan SSL tertanam (Secure Sockets Layer) dan TLS (Transport Layer Security) implementasi untuk perangkat footprint kecil dan aplikasi.
Fitur sekilas
Dengan di bawah 50KB Total jejak, perangkat lunak termasuk SSL (Secure Socket Layer) 3.0 client / memutuskan dukungan, TLS (Transport Layer Security) 1.0, 1.1 dan 1.2 client support / server, perpustakaan kriptografi yang mengimplementasikan RSA, AES, MD5, SHA1, 3DES, ECC, ARC4, dan enkripsi RC2 algoritma.
Selain itu, MatrixSSL menyediakan berbagai suite cipher, CRL (Daftar Pencabutan Sertifikat) dukungan, sesi cipher renegosiasi dan re-keying, X.509 otentikasi rantai sertifikat, serta optimasi untuk bahasa assembly, mendukung Intel, MIPS dan ARM platform.
Di antara fitur-fitur menarik lainnya, kita bisa menyebut dukungan lengkap untuk caching sesi dan dimulainya kembali, Stateless Session Tiket dukungan, Nama Server dukungan Indikasi, RFC7301 Application Protocol Negosiasi, dan RSASSA-PSS Signature dukungan Algoritma.
Fitur lain yang menarik adalah kemampuan untuk mengurai ASN.1 DER dan X.509 pem sertifikat. Proyek ini juga mendukung PKCS # 12, PKCS # 5, PKCS # 1,5 dan PKCS # 8 untuk format kunci, mendukung SSH (Secure Shell) baris perintah, mendukung DTLS (Datagram Transport Layer Security), memberikan pluggable cipher penyedia suite, kripto, Sistem perating dan interface malloc, mendukung TCP / IP, dan menawarkan pengguna akhir dan pengembang dokumentasi.
Memulai dengan MatrixSSL
Untuk menginstal perangkat lunak MatrixSSL pada sistem operasi GNU / Linux, download rilis terbaru dari proyek & rsquo; s situs (lihat homepage link di bagian akhir review), simpan di suatu tempat di komputer Anda, dan ekstrak.
Buka aplikasi emulator terminal, pergi ke lokasi di mana Anda & rsquo; telah diekstrak file arsip (misalnya cd / home / softoware / matrixssl-3-7-1-terbuka - ganti & lsquo; softoware & rsquo; dengan nama pengguna), menjalankan & lsquo; membuat & rsquo; perintah untuk mengkompilasi program, dan kemudian jalankan & lsquo; sudo make install & rsquo; perintah untuk menginstalnya.
Apa yang baru dalam rilis ini:
- Keamanan Perbaikan:
- X.509 dan ASN.1 Parsing Perbaikan - Advanced tim Ancaman Penelitian di Intel Keamanan menemukan beberapa masalah sebagai bagian dari penelitian mereka pada serangan mengamuk pada verifikasi tanda tangan RSA. MatrixSSL tidak mengandung kerentanan ini yang dapat mengakibatkan serangan MITM, namun beberapa bidang ASN.1 lainnya tidak konsisten diperiksa terhadap sisa panjang buffer saat diurai. Ini telah masing-masing telah diperbaiki, dan getAsnLength () API internal yang kini juga melakukan pemeriksaan ganda terhadap panjang buffer tersisa untuk bidang panjang variabel dalam semua kasus.
- Konstan-Time Memory Bandingkan - Panggilan untuk memcmp () telah diganti dengan memcmpct () implementasi untuk mengurangi efektivitas serangan waktu berbasis masa depan .
- Fitur Baru:
- Application-Layer Protocol Negosiasi - Diimplementasikan RFC 7301 .
- X.509 RSASSA-PSS Signatures -. MatrixSSL sekarang mendukung algoritma tanda tangan RSASSA-PSS lebih aman dalam sertifikat X.509
- Run-Time TLS Fitur Control - Dipotong HMAC digunakan, permintaan Fragment Panjang Maksimum, dan Elliptic Curve spesifikasi sekarang dapat diaktifkan pada basis per-sesi saat membuat sesi baru ..
- Perubahan API:
- Beberapa -. Silakan lihat catatan rilis disertakan dalam paket untuk rincian
Apa yang baru dalam versi 3.4.2:
- Perbaikan Bug dan Perbaikan:
- Peningkatan Cek Run-Time Sertifikat Algoritma Cipher Terhadap Suites Memeriksa kunci dan tanda tangan algoritma umum dari bahan sertifikat selama inisialisasi dan Suite negosiasi cipher sekarang lebih ketat. Server sekarang melihat algoritma tanda tangan sertifikat mereka ketika negosiasi suite cipher untuk memastikan mekanisme otentikasi konsisten dengan suite cipher. Hal ini memungkinkan jabat tangan gagal di awal proses jika bahan sertifikat tidak mendukung cipher suite yang diminta. Ini adalah terutama perlindungan terhadap kesalahan konfigurasi pengguna karena server tidak harus memungkinkan suite cipher tidak siap untuk mendukung. Klien sekarang mengkonfirmasi algoritma tanda tangan sertifikat server sebagai ukuran pre-emptive selama parsing pesan SERTIFIKAT. Versi sebelumnya akan mengakhiri sambungan kemudian dalam proses jabat tangan ketika algoritma yang tidak didukung ditemui untuk operasi kunci publik itu sendiri.
- SSL Siaga Dikirim pada Handshake Pesan Penciptaan Kegagalan versi sebelumnya akan diam-diam mengakhiri sambungan SSL jika pembuatan pesan handshake gagal. Sekarang peringatan INTERNAL_ERROR dikirim sebelum menutup sambungan.
- Expired Session Kembalinya Perbaiki dukungan server tetap untuk skenario di mana sesi yang sudah dalam keadaan jabat tangan dilanjutkan dengan benar akan jatuh kembali ke jabat tangan penuh jika klien mencoba sebuah dilanjutkan kembali jabat tangan setelah sesi telah berakhir di cache server yang .
- Nonaktifkan Yarrow oleh default dan Sederhana PRNG reseeding USE_YARROW mendefinisikan sekarang dinonaktifkan secara default di cryptoConfig.h karena dua sumber entropi standar mengumpulkan adalah sumber PRNG sendiri sehingga tidak perlu untuk menjalankan data yang melalui Yarrow. Perubahan ini akan menghasilkan peningkatan kecepatan koneksi kecil. Jika Yarrow diperlukan, logika untuk reseeding algoritma yang telah disederhanakan untuk memperbarui hanya pada jumlah data yang dibaca daripada termasuk jumlah fungsi panggilan untuk fungsi pengambilan PRNG.
- Dihapus Konfigurasi USE_RSA Tentukan Versi open source dari MatrixSSL hanya mendukung RSA cipher suite sehingga penghapusan opsi yang membuat ini eksplisit.
- Contoh Aplikasi Muat CA Daftar Penuh Untuk membantu dalam pengujian, aplikasi contoh client dan server sekarang memuat daftar lengkap sampel Certificate Authority file sehingga mengkompilasi ulang tidak diperlukan jika mengubah bahan sertifikat sampel rekan.
Apa yang baru dalam versi 3.4.1:
- Fitur Keamanan:
- Beruntung Thirteen Penanggulangan - Sebuah serangan terhadap blok cipher padding terbukti layak. Hal ini mempengaruhi cipher CBC termasuk AES dan 3DES. Pembaruan ini menambahkan waktu penanggulangan yang mengurangi efektivitas serangan ini.
Apa yang baru dalam versi 3.1.4:
- Update Fitur:
- algoritma kripto Primer sekarang memiliki pilihan konfigurasi untuk ukuran vs pengorbanan kecepatan versi sebelumnya MatrixSSL memiliki waktu kompilasi yang tak tercatat mendefinisikan (SMALL_CODE) yang mempengaruhi ukuran kode biner dari beberapa algoritma cipher simetris. Setiap algoritma yang digunakan menentukan ini sekarang telah diberikan sendiri mendefinisikan untuk mengontrol apakah pengguna ingin membangun perpustakaan untuk dukungan algoritma yang lebih cepat pada biaya peningkatan ukuran kode biner. Ukuran vs kecepatan tradeoff adalah tergantung platform tetapi, secara umum, peningkatan kecepatan akan menjadi sekitar 5% -10% pada biaya 10-20KB untuk setiap algoritma. Default, dalam setiap kasus, adalah bahwa mendefinisikan ini dinonaktifkan dalam cryptoConfig.h untuk mengkompilasi mendukung jejak biner terkecil.
- algoritma RSA sekarang memiliki pilihan konfigurasi untuk penggunaan memori vs kecepatan tradeoff. Sepasang mendefinisikan telah ditambahkan untuk menentukan apakah algoritma RSA harus dikompilasi untuk penggunaan RAM yang lebih kecil atau kinerja yang lebih cepat. Default adalah untuk mengkompilasi untuk penggunaan RAM yang lebih kecil.
- Server sekarang dapat menonaktifkan suite khusus cipher saat runtime - suite Cipher yang telah disusun menjadi perpustakaan sekarang dapat dinonaktifkan secara programatik (dan kembali diaktifkan) pada basis per-sesi. Hal ini berguna untuk server yang ingin membatasi cipher suite didukung untuk klien menghubungkan spesifik. Sebuah API baru, matrixSslSetCipherSuiteEnabledStatus, telah ditambahkan untuk mendukung fungsi ini. Silakan lihat dokumentasi API MatrixSSL untuk informasi rinci tentang fitur baru ini.
- Sebuah proyek Xcode untuk pengembangan iPhone sekarang termasuk -. Dalam aplikasi / direktori iphone pengguna sekarang dapat menemukan proyek Mac Xcode untuk mengembangkan SSL / TLS aplikasi client untuk iPhone
- Server kompatibilitas dengan Chrome browser yang menggunakan "awal yang salah" - Browser Google Chrome telah memperkenalkan mekanisme protokol baru yang disebut "awal yang salah" yang tidak sesuai dengan implementasi TLS ketat yang tidak memungkinkan pertukaran data aplikasi sebelum protokol jabat tangan selesai . Mengaktifkan ENABLE_FALSE_START di matrixsslConfig.h akan memungkinkan versi baru browser Chrome untuk terhubung dengan server MatrixSSL. Diaktifkan secara default.
- Sebuah eksplisit tipe data int16 baru telah ditambahkan - File osdep.h sekarang termasuk typedef untuk 16-bit tipe integer disebut int16. Penggunaan internal awal tipe data baru dapat ditemukan dalam fungsi pstm.c matematika untuk membantu meningkatkan kinerja pada beberapa platform.
- Diperbarui contoh Stellaris Luminary Micro / TI - Diperbarui untuk mendukung rilis baru contoh web server yang aman untuk ARM Cortex-M3 .
- Perubahan API Umum:
- Kompilasi waktu menentukan dukungan sistem file telah diubah namanya - USE_FILE_SYSTEM The mendefinisikan telah diubah namanya menjadi menyertakan awalan PS_ sehingga sekarang PS_USE_FILE_SYSTEM. Selain itu, ini mendefinisikan tidak lagi hadir dalam file header coreConfig.h. Ini harus dimasukkan dalam platform membangun lingkungan sebagai waktu kompilasi menentukan jika dukungan sistem file yang dibutuhkan.
- jenis Kembali berubah untuk osdep.c Terbuka dan Tutup rutinitas -. Fungsi antarmuka platform yang diimplementasikan dalam osdep.c telah mengalami perubahan prototipe
Apa yang baru dalam versi 3.1.3:
- Sebuah pilihan konfigurasi server-side ditambahkan untuk mengurangi ukuran executable biner dengan sederhana parsing X.509.
- Algoritma Yarrow PRNG disertakan untuk pengolahan entropi yang kuat.
- atribut X.509 Non-ASCII didukung dalam sertifikat.
- file proyek untuk Windows yang diperbarui untuk VS Express 2010.
- Kode kembali diklarifikasi untuk matrixSslReceivedData () API.
Apa yang baru di versi 3.1:
- API baru, contoh dan test suite
- TLS dan AES termasuk dalam open source
- Penuh SSL handshake sekarang memerlukan & lt; 10KB RAM, termasuk buffer jaringan!
- file Proyek GNU make, Visual Studio dan Xcode
- Masih & lt; Kode ruang 50KB!
Apa yang baru dalam versi 1.8.7d:
- Peningkatan penanganan penerbangan berisi beberapa dikodekan pesan handshake.
- Peningkatan parsing dilindungi password kunci pribadi.
- Peningkatan penanganan CA mengeluarkan sertifikat yang keliru memungkinkan string cacat dalam nama domain.
Apa yang baru dalam versi 1.8.6:
- matrixRsaParsePubKey rutin telah ditambahkan untuk X.509 SubjectPublicKeyInfo kunci diformat.
- Ada dukungan parsing penuh ekstensi subjectAltName dalam sertifikat.
- Klien diperbolehkan untuk mengirim beberapa parameter kompresi dalam pesan CLIENT_HELLO.
- The matrixX509ReadCert rutin mendukung berkas PEM tambahan header dan footer format.
- Sebuah kesalahan ejaan nama file di httpsReflector.c untuk memuat sertifikat contoh CAcertCln.der telah diperbaiki.
Dukungan
Komentar tidak ditemukan