Menambahkan Dukungan SSL / TLS ke ESP8266

     Dalam posting ini sedikit akan memperkenalkan beberapa fitur yang direkomendasikan tentang mengamankan Internet of Things, seperti di posting kami sebelumnya, Mengamankan Internet of Things, di mana kami memperkenalkan dukungan SSL(Secure Sockets Layer) / TLS(Transport Layer Security )untuk Esp8266. 

    Dalam hal ini sekarang ESP8266 yang terkenal, juga mendukung koneksi TLS yang aman ke platform Internet of Things. Perangkat kecil ini, dan berkat dukungan komunitas, sekarang mengintegrasikan dukungan TLS dengan perangkat lunak. Dalam pengujian tidak dapat menemukan masalah kinerja yang signifikan, dan koneksinya tampaknya stabil seperti biasa. Jadi kami telah memutuskan bahwa perangkat ESP8266 akan terhubung secara default menggunakan soket aman. Jadi, Anda dapat memperbarui Library pada Arduino IDE untuk mulai menggunakan fitur keamanan ini.

Apa itu TLS dan SSL ?

Transport Layer Security (TLS) is a cryptographic protocols adalah protokol kriptografi yang menyediakan komunikasi keamanan dan mencegah pembajakan sesi melalui jaringan. TLS telah didasarkan pada Secure Protokol Sockets Layer, yang juga dikenal sebagai SSL. TLS (atau SSL) berjalan di atas yang dapat diandalkan protokol transport, misalnya, Transmission Control Protocol (TCP), dan menyediakan enkripsi lapisan yang lebih tinggi. Misalnya, HTTPS (HTTP Secure), merupakan adaptasi dari Hypertext Transfer Protocol (HTTP) untuk komunikasi yang aman, di mana HTTP beroperasi di atas TLS (atau SSL). Dalam dokumen ini, kami menggunakan SSL untuk mewakili TLS dan SSL.
    Saat membuat saluran pergantian terenkripsi berbasis SSL, otentikasi adalah
        pilihan.
•     Secara umum, klien SSL perlu mengotentikasi server SSL, yang disebut
        "otentikasi searah" dalam dokumen ini.
•      Jika klien SSL dan server SSL perlu mengotentikasi satu sama lain, ini adalah a
            proses yang kami sebut "otentikasi dua arah" dalam dokumen ini.
•     Otoritas sertifikasi (CA) adalah pihak ketiga yang dipercaya oleh klien SSL dan
        Server SSL. Ini akan mengeluarkan sertifikat digital ke klien dan server yang andal, juga
        mengelola sertifikat ini. Kemudian klien SSL dan server SSL dapat mengautentikasi
        satu sama lain dengan sertifikat yang dikeluarkan oleh CA.

Note :
Unidirectional Authentication : hanya klien yang akan memverifikasi sertifikat server SSL.
 Bidirectional Authentication   : klien SSL dan server SSL akan saling memverifikasi satu sama                                                 lain sertifikat

Dalam dokumen ini kami menawarkan panduan tentang cara menggunakan ESP8266 sebagai server SSL, dan cara menggunakannya gunakan ESP8266 sebagai klien SSL untuk enkripsi SSL berdasarkan ESP8266_NONOS_SDK.
• Jika ESP8266 berfungsi sebagai server SSL,
        - Otentikasi Searah (Unidirectional Authentication) : ESP8266 akan mengirim sertifikatnya             ke klien SSL, dan klien akan memutuskan apakah akan memverifikasi sertifikat server             atau tidak;
        - Otentikasi Dua Arah (Bidirectional Authentication) : ESP8266 dan klien                                        akan mengotentikasi masing-masing lainnya dengan memverifikasi sertifikat satu sama            lain.
• Jika ESP8266 berfungsi sebagai klien SSL,
        - Otentikasi Searah: ESP8266 akan menerima sertifikat server SSL dan
            memutuskan apakah akan memverifikasinya atau tidak;
        - Otentikasi Dua Arah: baik ESP8266 dan server SSL mengotentikasi masing-masing
            lainnya dengan memverifikasi sertifikat satu sama lain.
    Jika Anda mengaktifkan output debug dalam sketsa ESP8266, Anda akan dapat melihat bagaimana perangkat sekarang terhubung secara default menggunakan koneksi aman. esp8266 telah meningkatkan keluaran debug untuk benar-benar mendeteksi apakah koneksi aman atau tidak.


Tentu saja, jika Anda tidak mengetahui tentang keamanan perangkat Anda, Anda dapat dengan mudah menonaktifkan koneksi TLS / SSL dengan memasukkan definisi berikut sebelum SETIAP disertakan.

Hope you enjoy your secure devices!

0 Comments