Arduino & IoT Academy · Lektion

Geheimnisse aus dem Code heraushalten

Speichern Sie Zugangsdaten sicher und nicht im Klartext.

Lektion 2 von 413 Schritte

Geheimnisse aus dem Code heraushalten ist eine kostenlose Arduino & IoT Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Arduino & IoT Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Arduino & IoT Academy-Kurs umfasst insgesamt 4 Lektionen.

Was als Geheimnis gilt

WiFi-Passwörter, API-Tokens und private Schlüssel sind allesamt Geheimnisse. Alles, was Zugriff gewährt, darf niemals offen in Ihrem Sketch stehen. 🔑

Die Gefahr von Klartextschlüsseln

Flash-Speicher kann über die Leitung ausgelesen werden. Ein Klartextschlüssel in Ihrem Code kann mit einem einzigen Speicherabbild von jedem kopiert werden.

String apiKey = "AKIA12345SECRET"; // visible to anyone who reads the flash

Warum Git das Problem verschärft

Sobald Sie ein Geheimnis committen, bleibt es für immer in Ihrer Historie. Selbst wenn Sie es löschen, enthält der alte Commit weiterhin den offengelegten Schlüssel.

Eine separate Header-Datei verwenden

Legen Sie Zugangsdaten in einer kleinen Datei wie secrets.h ab, die von der Versionsverwaltung ausgeschlossen wird. Dieser Secrets-Header hält Schlüssel von GitHub fern, während Ihr Sketch weiterhin geteilt werden kann.

#include "secrets.h" // holds WIFI_SSID and WIFI_PASS, never committed

In Git ignorieren

Fügen Sie Ihre Geheimnisdatei zu .gitignore hinzu, damit sie niemals versehentlich committet werden kann. Diese eine Zeile verhindert die meisten Leaks von Schlüsseln in der Praxis.

# .gitignore
secrets.h

Beim Einrichten bereitstellen

Statt Schlüssel fest einzuprogrammieren, geben Sie sie beim ersten Start des Geräts einmalig ein. Durch Provisioning über eine Konfigurationsseite bleiben Geheimnisse vollständig aus Ihrem Quellcode heraus.

In NVS oder EEPROM speichern

Der ESP32 bietet mit NVS einen Schlüssel-Wert-Speicher im Flash für Geheimnisse zur Laufzeit. Sie schreiben das Token einmal und lesen es bei jedem Start wieder aus.

preferences.begin("net", false);
preferences.putString("token", userToken);

Ein Gerät, ein Schlüssel

Geben Sie jeder Einheit eigene Zugangsdaten – niemals einen gemeinsam verwendeten Generalschlüssel. Mit gerätespezifischen Schlüsseln kann ein gestohlenes Gerät gesperrt werden, ohne die übrigen Geräte zu beeinträchtigen.

Schlüssel regelmäßig wechseln und sperren

Planen Sie, Schlüssel regelmäßig zu ändern und offengelegte Schlüssel schnell zu sperren. Schlüsselrotation begrenzt, wie lange ein einzelnes gestohlenes Geheimnis nützlich bleibt.

Prinzip der geringsten Rechte

Geben Sie jedem Token nur die Zugriffsrechte, die es wirklich benötigt. Das Prinzip der geringsten Rechte bedeutet, dass ein offengelegter Geräteschlüssel nur sein eigenes Topic lesen kann – nicht Ihr gesamtes Konto.

Vor dem Push prüfen

Tools können einen Schlüssel erkennen, bevor er ein entferntes Repository erreicht. Ein Secret-Scanner in Ihrem Workflow verhindert versehentliche Leaks, bevor sie entstehen.

Schnelltest

Eine dieser Maßnahmen hält einen Schlüssel aus Ihrem öffentlichen Repository heraus.

Zusammenfassung

Schreiben Sie niemals Geheimnisse fest in den Code. Verwenden Sie eine von Git ignorierte Header-Datei, stellen Sie die Schlüssel bei der Einrichtung bereit, speichern Sie sie in NVS und verwenden Sie gerätespezifische Schlüssel, die Sie regelmäßig wechseln können. 🔐

Kostenlos starten

Lerne C++ mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
30
Lektionen
120

Häufig gestellte Fragen

Ist die Lektion „Geheimnisse aus dem Code heraushalten“ kostenlos?

Ja — der vollständige Text von „Geheimnisse aus dem Code heraushalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Arduino & IoT Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Arduino & IoT Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Geheimnisse aus dem Code heraushalten“?

Speichern Sie Zugangsdaten sicher und nicht im Klartext. Du übst Arduino & IoT Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Arduino & IoT Academy zu starten?

Keine Vorkenntnisse erforderlich. Arduino & IoT Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Geheimnisse aus dem Code heraushalten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Arduino & IoT Academy-Lektion Code schreiben und ausführen?

Ja. Jede Arduino & IoT Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Häufige IoT-Angriffsflächen
  2. Geheimnisse aus dem Code heraushalten
  3. Mit TLS verschlüsseln und Zertifikate prüfen
  4. Firmware signieren und absichern
← Zurück zu Arduino & IoT Academy