Für ein Gerätchen (AVR + BTM112) würde ich gerne eine Pin-Nummer aus der Bluetooth-Adresse generieren und ins Modem schreiben. Nichts sicherheitsrelevantes, aber auch nicht so einfach wie Adresse + xx BT- Adresse z.B. 00:12:27:D8:62 -> 4..8 ASCII-Zeichen. Das muss auch nicht eineindeutig sein, d.h. wenn der gleiche ASCII-PIN für mehrere BT-Adressen entstehen kann, wäre das nicht tragisch. Anregungen, in welche Richtung ich da denken sollte?
Such dir einen einfachen PRNG und nimm deine BT-Adresse als Seed. Oder nimm die BT-Adresse als Eingabe für einen Hash-Algo (MD5, SHA1) und nimm die Ausgabe als Pin. Am Ende machst ein Modulo so dass das Ergebnis die gewünschte Länge hat (z.B. Modulo 9999). Ach ja, deine BT-Adresse nimmst du natürlich NICHT als Ascii sonders als das was sie ist: 5 Bytewerte.
:
Bearbeitet durch User
H.Joachim Seifert schrieb: > BT- Adresse z.B. 00:12:27:D8:62 Wie wärs mit 5 ASCII-Zeichen? Dazu einfach so oft wie nötig auf jede der fünf 8bit-hexzahlen ^^ eine dezimale 10 addieren (mit absichtlichem Überlauf), bis sich eine ASCII-Ziffer '0' bis '9' ergibt. Was hältste davon?
@Joachim: das ist zu einfach. @cyblord: das ist ja schon echte Kryptografie... Na gut, warum nicht? Hast du eine ungefähre Vorstellung, wieviel Code das auf einem AVR erzeugt (es wird schon wieder eng :-) ), aber ich werde eh auf den Mega324 wechseln müssen... Da fällt mir gerade ein: der Bootloader von HagenRe (der irgendwann auch noch reinkommt) benutzt doch auch sowas? Was dann die Frage aufwirft: wie komme ich aus einem C-Programm an Assemblerroutinen aus dem Bootladerbereich? Ich glaub, die Idee lass ich lieber.
H.Joachim Seifert schrieb: > @cyblord: das ist ja schon echte Kryptografie... Na gut, warum nicht? Naja nicht wirklich. Aber ich denke auch für dein Vorhaben oversized und unnötig. Wenn du schon keine echte Sicherheit brauchst, dann verwurschelt die BT-Adresse einfach ein bisschen und fertig. Dann kannst du nämlich auch einfach die Ascii-Werte miteinander addieren (oder multiplizieren) und dann wieder Modulo rechnen. Denn gegen was willst du dich hier schützen? Das sollte man erstmal wissen. gruß cyblord
Es geht um Aquariencomputer, und ich möchte nicht, dass der Nachbar (es soll böswillige und gleichzeitig technisch begabte Nachbarn geben) einfach so die Pumpen stillegen kann. Aber angeblich verlangt der Markt, dass man sein Aquarium per App steuern kann... Also nicht wirklich sicherheitsrelevant, aber sollte dennoch nicht offen wie ein Scheunentor sein.
Ich würde das so lösen: Jede Steuerung bekommt bei der Fertigung einen geheimen Schlüssel einprogrammiert (nicht zu lange da er Menschenlesbar sein sollte, also vielleicht in max. 10 Großbuchstaben darstellbar). Aufkleber mit diesem Schlüssel ist auf der Steuerung drauf. Um die Steuerung per App zu steuern muss man diesen Schlüssel in die App eingeben. Nun gibt es 2 Möglichkeiten: Alle Kommunikation läuft jetzt mit diesem Schlüssel verschlüsselt ab (man benötigt dann aber AES implementiert). Oder man macht ein einfaches Challenge-Response-Verfahren: App schickt ein Kommando (X) an die Steuerung. Steuerung erzeugt eine Zufallszahl und schickt diese an die App. App nimmt die Zahl, addiert den geheimen Schlüssel, addiert das Kommando, bildet darüber einen Hashwert und schickt den zurück. Die Steurung kann so einfach überprüfen ob die App im Besitz des geheimen Schlüssels ist, aber ein Lauscher auf der Leitung bekommt den Schlüssel nie zu sehen. Die Zufallszahl verhindert Replay-Angriffe. gruß cyblord
cyblord ---- schrieb: > Jede Steuerung bekommt bei der Fertigung einen geheimen Schlüssel > einprogrammiert Genau das ist der Punkt, den ich vermeiden möchte. Die einzige Variable ist die BT-Adresse.
Naja, dann verschlüssle einfach die BT-Adresse mittels AES und einem Gerneralschlüssel. Wenn es einfacher sein soll, dann könntest Du auch eine CRC-Summe der BT-Adresse bilden, was mit ein paar Zeile Code möglich sein sollte, um diese als PIN zu nutzen.
Wie wäre es, das Bediener-Smartphone beim Aquariumcomputer einzubuchen? Wie beim DECT-Telefon. Taste am Computer drücken, Einbuchfunktion auf Smartphone starten, Smartphone generiert einen Code und AVR schreibt den ins EEPROM. Wenn EEPROM leer(0xff) oder falscher Code, reagiert er auf gar nichts von aussen. Der Code kann beliebig lang sein, weil sich den kein Mensch merken muss. Keine Aufkleber und der Controller wird minimal belastet, da die Codeerzeugung auf dem Gerät mit der grösseren Rechenleistung stattfindet. mfg.
Thomas Eckmann schrieb: > Wie wäre es, das Bediener-Smartphone beim Aquariumcomputer einzubuchen? > Wie beim DECT-Telefon. Taste am Computer drücken, Einbuchfunktion auf > Smartphone starten, Smartphone generiert einen Code und AVR schreibt den > ins EEPROM. Und wie wird der Code übertragen? Den kann ja dann jeder mitlesen. Und wie gehts danach weiter? Wie wird jetzt verhindert dass jemand unbefugtes Kommandos an die Steuerung absetzt? Eine echte symmetrische Verschlüsselung zu implementieren braucht schon recht viel Ressourcen. > Genau das ist der Punkt, den ich vermeiden möchte. Die einzige Variable > ist die BT-Adresse. Dann verwurste das halt mittels Hash oder einfacherer Funktion. Da beides unsicher ist, kommt es darauf nicht an.
Na, dann mal Danke für die ganzen Anregungen. Ich werde dann mal 2 Varianten zur Diskussion stellen: 1. Geräte werden komplett ohne Pin ausgeliefert, der Endkunde kann dann selbst eine vergeben. Tut er es nicht, ist es eben möglich, dass andere rankommen. Tut er es, ist er selbst verantwortlich für die Aufbewahrung dieser (dürfte die Supportanfragen verringern, da der Hersteller eben keine Pin hat). Zur Not muss dann eben das Gerät eingeschickt werden, um den Kram zurückzusetzen. 2. >Dann verwurste das halt mittels Hash oder einfacherer Funktion. Da >beides unsicher ist, kommt es darauf nicht an. Nachdem ich mich da mal ein bisschen eingelesen habe, sieht das vielversprechend aus. Pin wird mit festem Algorithmus im Gerät erzeugt und ins Modem geschrieben, Kunde bekommt ein Zettelchen mit. Falls Pin verloren, kann der Hersteller/Händler diese aus der BT-Adresse jederzeit rekonstruieren. Wie gesagt, es soll nur dem Gelegenheitsspieltrieb einen leichten Riegel vorschieben, die Reichweite des BTM112 ist eh recht gering. Da muss man schon Wand an Wand wohnen.
H.Joachim Seifert schrieb: > Na, dann mal Danke für die ganzen Anregungen. > Ich werde dann mal 2 Varianten zur Diskussion stellen: > > 1. Geräte werden komplett ohne Pin ausgeliefert, der Endkunde kann dann > selbst eine vergeben. Tut er es nicht, ist es eben möglich, dass andere > rankommen. Tut er es, ist er selbst verantwortlich für die Aufbewahrung > dieser (dürfte die Supportanfragen verringern, da der Hersteller eben > keine Pin hat). Zur Not muss dann eben das Gerät eingeschickt werden, um > den Kram zurückzusetzen. Genau so würde ich das machen. Nur mit einem Unterschied: einen Schalter oder Jumper irgendwo, mit dem man den Pin beim Anlegen der Spannung (sprich Einschalten) zurücksetzen kann. Zusätzlich noch ein Menüpunkt in den Einstellungen, wenn es sowas wie ein Menü auf einem lokalen LCD gibt. Denn: wir reden hier von einem Aquariencomputer. Das der Nachbar da über BT nicht rein kommen soll ist verständlich. Man braucht aber auch nicht paranoid sein. Der Nachbar wird wohl kaum in die Wohnung einbrechen um den Pin des Aquariencomputers zurückzusetzen. Nichts gegen Sicherheit. Aber alles hat irgendwann die Grenze zum Absurden überschritten.
:
Bearbeitet durch User
Display hat die Kiste nicht, Ansatz ist ja: Einstellungen und Anzeigen auf Computer, Tab oder Smartphone. Einen einzigen Taster hat sie aber - Pumpenstop (für manuelle Fütterung, Reinigung oder was weiss ich). Den kann man natürlich fürs Zurücksetzen verwenden, gute Idee.
Hat(te?) Vodafone nicht Probleme, weil bei der EasyBox durchgehend WPS eingeschaltet ist und der Algorithmus zum Berechnen der PIN aus der MAC öffentlich geworden ist? Wie teuer können so Fische fürs Aquarium sein, wenn man dafür schon einen Computer braucht?
Karl Heinz schrieb: > Denn: wir reden hier von einem Aquariencomputer. Das der Nachbar da über > BT nicht rein kommen soll ist verständlich Müssen BT Geräte sich nicht "pairen" bevor man "reinkommt"? http://www.internet-sicherheit.de/service/glossar/eintrag/eintrag-detail/bluetooth-pairing/
@Läubi: Genau das tut man mit der im BTM112 hinterlegten Pin (Standard: 1234). Und wenn man eben nicht will, dass das ein anderer tut, muss man die ändern.
H.Joachim Seifert schrieb: > Falls Pin verloren, kann der Hersteller/Händler diese aus der BT-Adresse > jederzeit rekonstruieren. Und der böse Nachbar auch, wenn er den Algorithmus rausfindet. Variante #1 ist die einzig sinnvolle.
H.Joachim Seifert schrieb: > @Läubi: > Genau das tut man mit der im BTM112 hinterlegten Pin (Standard: 1234). > Und wenn man eben nicht will, dass das ein anderer tut, muss man die > ändern. Aber ist das Gerät ständig in "Paarungsbereitschaft"? Bzw: Muss es das sein? Ich mein: Wenn jemand nah genug ans Aquarium rankommt, um den Paring-Knopf am Aquariencomputer zu drücken, dann ist er auch nah genug dran, um direkt sein Rotweinglas hinein zu entleeren... Billigste BT-Headsets, Mäuse, Tastaturen haben eine PIN von 1234 oder 0000, aber können immer nur mit einem einzigen Gerät gepairt sein, und das nur auf Knopfdruck. => trotzdem Sicher. Selbst wenn in dem Moment, in dem du den Knopf drückst, jemand anders "schneller" mit der 1234-Pin ist: Du merkst es, weil es nicht funktioniert. Was machen sowohl Laie als auch Fachmann? Knopf nochmal drücken, Angreifer ist wieder rausgeschmissen.
Im Normalfall läuft das Gerät ja völlig autonom, also ohne verbundenen Computer, und damit ist das BTM "paarungsbereit". Und wenn der Fischliebhaber abends entspannt vor seinem Glaskasten sitzt, dann will er ein bisschen spielen. Das Licht bitte ein bisschen blauer, der Wellenschlag könnte ein bisschen kräftiger sein, ich möchte jetzt mal einen ordentlichen Sturm machen etc. Also app gestartet und los gehts.
Dafür muß das Gerät aber AFAIK nicht permanent paarungebereit sein. Die Paarungsbereitschaft ist nur für die erstmalige Verbindungsaufnahme nötig und wenn man den Partner wechseln will.
:
Bearbeitet durch User
R. Max schrieb: > Die Paarungsbereitschaft ist nur für die erstmalige Verbindungsaufnahme > nötig und wenn man den Partner wechseln will. Oh, das sieht meine Frau aber anders... =8P SCNR
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.