www.mikrocontroller.net

Forum: Compiler & IDEs Menü schützen durch eingabe einer berechneten nummer


Autor: Hans Lang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche einige Menüpunkte in meinem Benuteroberfläche zu sperren.

Ich verwende einen AT Mega 128 Über das Display werden verschidene 
Menüpunkte angezeigt, ich habe normale tasten für die eingabe, aber kein 
numeric Display sondern nur links rechts und plus minus.

Ich möchte einige Punkte per "Passwort" schützen und zwar so das ich 
einen Unlockcode bereistellen kann nach anruf dieser sollte dann 
einmalig zum verstellen funktionieren und sich danach das System wieder 
sperren.

Also müsste ich eine Zahl anzeigen und auf Eingabe waren, nur wie soll 
ich diese wechselnde Zahl vefschlüsseln ? Das wäre ja eigentlich keine 
Verschlüsselung ? Da kenne ich mich überhaupt nicht aus. Früher habe ich 
schonmal soetwas gemacht mit binär und komplimet bildung, aber das 
sollte halt z.b. eine 5 stellige zahl angezeigt werden und das Ergebniss 
nicht alzugroß werden da ich kein numerisches Display habe zum eingeben.

ciao
Hans

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, du kannst zum Bleistift nach einem bestimmten Algorithmus eine
Pseudo-Zufallszahlenfolge benutzen.  Jede erfolgreiche Benutzung
einer Zahl ruft dann den Zufallszahlengenerator erneut auf.  Die
letzte benutzte (oder die nächste zu benutzende) musst du dir dabei
im EEPROM merken.

Nachteilig ist, dass jemand anders mit genügend vielen Beispielen
den Algorithmus erraten kann.

Alternativ kannst du sowas wie TANs vergeben: eine voreingestellte
Liste möglicher Codes, wobei du dir wiederum den zuletzt benutzten
im EEPROM merkst.  Nachteil: wenn die Liste alle ist, ist Schluss.

Nachteil der EEPROM-Merke-Variante ist natürlich, dass jemand, der
den EEPROM manipulieren kann, die Folge von vorn beginnen lassen
kann.  Wenn du sowas vermeiden willst, brauchst du wohl einen von
diesen spreng-, brand- und einbruchsicheren "secure controller"n,
bei denen man ohne NDA nichtmal das Datenblatt bekommt.

Statt des Zufallszahlenalgorithmus zum Weiterschalten kann man auch
kryptografische Prüfsummen nehmen; dann bist du bei sowas wie einem
MD5-basierten Einmalpasswortsystem:

http://www.faqs.org/rfcs/rfc1938.html

Googel nach "opie one-time passwords in everything"

Autor: Hans Lang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg,

hmm ja ich glaube das "opie one-time passwords in everything" vielleicht 
schon etwas oversized ist, aber eine gute Idee.

Ich dachte mir nur die Nummer im EEprom zu speichern die der User sowiso 
angezeigt bekommt und ich rechne erst los wenn die 2. Zahl eingegeben 
wurde.

Und genau das mit dem Algorithmus ist für mich das Problem, ich möchte 
da nicht mit Kommastellen arbeiten oder zum runden anfangen, hmm

Hans

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, alles Integer.  Du kannst ja als Weiterschalt-Algorithmus das
normale rand() benutzen.  Mit srand() jeweils auf den alten Wert
seeden, einmal rand() aufrufen und das als neuen Wert nehmen.  Ggf.
einfach die vorderste Stelle und das Vorzeichen weglassen bei der
Eingabe und dem Vergleich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.