Recientemente, la cantidad de cosas inteligentes ha aumentado constantemente, como cámaras, varios sensores, bombillas inteligentes, interruptores y mucho más. Estas cosas tienen acceso constante a Internet e intercambian datos activamente para análisis con aplicaciones. De hecho, hay datos más estratégicamente importantes, como las lecturas de los sensores sobre la salud del paciente. Surge una pregunta muy lógica de cómo proteger datos de este tipo, que se envían en tiempo real (sin la discreción del usuario) a dispositivos de terceros. El hecho es que es muy difícil diseñar y construir un sistema de IoT (Internet de las cosas) único y cien por ciento seguro, debido al hecho de que los dispositivos tienen diferentes sistemas operativos, objetivos y escalas; algunos funcionan dentro de su habitación y otros, por ejemplo. , debe cubrir el sistema de videovigilancia del área de la ciudad.
En este artículo, veremos varios mecanismos de autenticación: por nombre de usuario y contraseña, por token, usando OTP (contraseña de un solo uso) y, finalmente, certificados. Por ejemplo, a nivel doméstico, esto le permite proteger los medidores de electricidad del acceso no autorizado y proteger los datos de la sustitución.
El mejor lugar para comenzar es algo muy fundamental para una plataforma de IoT. La plataforma IoT es una herramienta que une "cosas" e "Internet" y, de hecho, es la base para construir nuevas soluciones en IoT. El mercado de plataformas está creciendo muy rápidamente y no tiene sentido considerarlas todas y, además, no es el propósito de este artículo. Dado que esto no rompe con la generalidad, como ejemplo, considere una plataforma de IBM (International Business Machines).
Para comprender cuándo deberían funcionar los mecanismos de autenticación, veamos la estructura de una aplicación estándar de IoT basada en IBM Watson IoT Platform y la plataforma en la nube IBM Bluemix.
No entraremos en detalles de la estructura, pero en resumen: los dispositivos publican los datos del sensor en IBM Watson IoT Platform, que se comunica con la aplicación IoT (en Bluemix) utilizando el Message Queue Server Telemetry Transport Protocol (MQTT). Luego, los dispositivos reciben instrucciones de las aplicaciones para realizar funciones de control.
, , ( ) . - , , , .
, - 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/