Belakangan ini, jumlah benda pintar terus bertambah, seperti kamera, berbagai sensor, bohlam pintar, sakelar, dan banyak lagi. Hal-hal ini memiliki akses konstan ke Internet dan secara aktif bertukar data untuk analitik dengan aplikasi. Padahal, ada data penting yang lebih strategis seperti pembacaan sensor tentang kesehatan pasien. Sebuah pertanyaan yang sangat logis muncul tentang bagaimana melindungi data semacam ini, yang secara real time (tanpa kebijaksanaan pengguna) dikirim ke perangkat pihak ketiga. Faktanya adalah sangat sulit untuk merancang dan membangun sistem IoT (Internet of Things) yang unik dan seratus persen aman, karena fakta bahwa perangkat memiliki sistem operasi, tujuan, dan skala yang berbeda - beberapa berfungsi di dalam ruangan Anda, dan beberapa, misalnya , harus mencakup sistem pengawasan video wilayah kota.
Pada artikel ini, kita akan melihat berbagai mekanisme otentikasi - dengan nama pengguna dan kata sandi, dengan token, menggunakan OTP (kata sandi satu kali) dan, terakhir, sertifikat. Misalnya, di tingkat rumah tangga, ini memungkinkan Anda untuk melindungi meteran listrik dari akses yang tidak sah, dan melindungi data dari substitusi.
Tempat terbaik untuk memulai adalah dengan hal yang sangat mendasar untuk platform IoT. Platform IoT adalah alat yang menyatukan "berbagai hal" dan "Internet" dan, pada kenyataannya, merupakan dasar untuk membangun solusi baru di IoT. Pasar platform berkembang sangat pesat dan tidak masuk akal untuk mempertimbangkan semuanya dan, terlebih lagi, bukanlah tujuan artikel ini. Karena ini tidak merusak keumuman, sebagai contoh, pertimbangkan platform dari IBM (Mesin Bisnis Internasional).
Untuk memahami kapan mekanisme otentikasi harus berfungsi, mari kita lihat struktur aplikasi IoT standar berdasarkan Platform IBM Watson IoT dan platform cloud IBM Bluemix.
Kami tidak akan membahas detail strukturnya, tetapi singkatnya: perangkat mempublikasikan data sensor ke Platform IBM Watson IoT, yang berkomunikasi dengan aplikasi IoT (di Bluemix) menggunakan Message Queuing Telemetry Transport Protocol (MQTT). Perangkat kemudian menerima instruksi dari aplikasi untuk menjalankan fungsi kontrol.
, , ( ) . - , , , .
, - 1. - , , , IoT - . .
, ( ), , CONNECT. , .
CONNACK, Return Code, . SUBSCRIBE .
MQTT SUBACK .
, .
CONNECT. password. , .
(OTP)
. , IOT-, OTP-request. , , . , . OTP- , .
. , . MQTT TCP/IP - TLS(Transport Layer Sequrity), TLS, .
, TLS . , , , . - . , .
? Client Hello, TLS, Clent Random - , . Server Hello, TLS, , Server Random( ). , , , . - , . , . Server Key Exchange, ( , , ). Server Hello Done, .
- Client Key Exchange, ( , , ). RSA , , pre-master secret( , ). , pre-master secret Client Key Exchange. , pre-master secret. (pre-master secret), , Client Random Server Random. Change Ciper Spec Finished( ), .
! IOT. ! Server Hello Done . , , . , , , , , CONNECT .
, , - , .
IoT. - - , . IoT, , , .
1. http://blog.catchpoint.com/2017/05/30/protocol-for-internet-of-things/
2. https://developer.ibm.com/articles/iot-trs-secure-iot-solutions1/
3. https://iot-analytics.com/5-things-know-about-iot-platform/