In letzter Zeit hat die Anzahl intelligenter Dinge wie Kameras, verschiedene Sensoren, intelligente Glühbirnen, Schalter und vieles mehr stetig zugenommen. Diese Dinge haben ständigen Zugriff auf das Internet und tauschen aktiv Daten für Analysen mit Anwendungen aus. Tatsächlich gibt es strategisch wichtigere Daten wie Sensorwerte zur Gesundheit des Patienten. Es stellt sich eine sehr logische Frage, wie solche Daten geschützt werden können, die in Echtzeit (ohne Ermessen des Benutzers) an Geräte von Drittanbietern gesendet werden. Tatsache ist, dass es sehr schwierig ist, ein einzigartiges und hundertprozentig sicheres IoT-System (Internet of Things) zu entwerfen und zu bauen, da die Geräte unterschiedliche Betriebssysteme, Zwecke und Maßstäbe haben - einige funktionieren in Ihrem Raum, andere beispielsweise sollte das Videoüberwachungssystem des Stadtgebiets abdecken.
In diesem Artikel werden verschiedene Authentifizierungsmechanismen untersucht - nach Benutzername und Kennwort, nach Token, unter Verwendung von OTP (Einmalkennwort) und schließlich nach Zertifikaten. Auf Haushaltsebene können Sie beispielsweise Stromzähler vor unbefugtem Zugriff und Daten vor Substitution schützen.
Der beste Ausgangspunkt ist eine sehr grundlegende Sache für eine IoT-Plattform. Die IoT-Plattform ist ein Tool, das "Dinge" und "Internet" vereint und tatsächlich die Grundlage für die Entwicklung neuer Lösungen im IoT bildet. Der Plattformmarkt wächst sehr schnell und es macht keinen Sinn, alle zu berücksichtigen, und darüber hinaus ist dies nicht der Zweck dieses Artikels. Da dies nicht gegen die Allgemeinheit verstößt, sollten Sie beispielsweise eine Plattform von IBM (International Business Machines) in Betracht ziehen.
Um zu verstehen, wann Authentifizierungsmechanismen funktionieren sollten, schauen wir uns die Struktur einer Standard-IoT-Anwendung an, die auf der IBM Watson IoT Platform und der IBM Bluemix Cloud-Plattform basiert.
Wir werden nicht auf Details der Struktur eingehen, aber kurz gesagt: Geräte veröffentlichen Sensordaten auf der IBM Watson IoT Platform, die über das Message Queuing Telemetry Transport Protocol (MQTT) mit der IoT-Anwendung (auf Bluemix) kommuniziert. Die Geräte erhalten dann Anweisungen von Anwendungen, um Steuerfunktionen auszuführen.
, , ( ) . - , , , .
, - 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/