Token Authentifizierung

Hallo,

aus gegebenen Anlass, mal eine Info, bzw. meine Sicht der Dinge.
Vorweg: Token Auth ist was gutes! Nur eben kein ‚Wundermittel‘.

Allgemein, bzw. für die Tesla API im Speziellen, sehe ich folgende Vorteile und Fallstricke:

  1. Das Token ist gut, weil ich meine Logindaten nicht auf potentiell unsicheren Geräten/Plattformen speichern muss. Das gilt zB für eine Wallbox (die den SOC abfragen will) oder einen Datenlogger etc. (Online, Offline, egal)
    Wären auf so einem Gerät die richtigen Zugansdaten gespeichert, könnte jemand, sollte das Gerät kompromitiert werden Euch jemand im schlimmsten Fall aus Eurem Account aussperren! Neben allen anderen Funktionen auf die er dann Zugriff hat.

  2. Das Token muss generiert werden und da gibts den ersten Haken, egal ob das ein Dienst für Euch tut, oder Ihr das auf Eurem Gerät lokal tut, ihr müsst dem ‚Anbieter‘ vertrauen, sonst lasst die Finger davon. Nur weil ein Token generiert wird, heist das nicht, das ggf. nicht auch Eure Zugangsdaten gespeichert oder gar weitergesendet werden!
    Ich unterstelle hier niemandem das er das tut, aber man sollte sich des Risikos bewusst sein!

Wo ist dann der Vorteil des Tokens:
Wenn ein „Anbieter“ das richtig macht und nur das Token speichert, dann lauft Ihr nicht gefahr das der Account gekarpert wird.
Nichtsdestotrotz, kann der Inhaber (oder Dieb) des Tokens, alle Funktionen ausführen welches das Token erlaubt, also bei Tesla eigentlich alles was ihr mit der App könnt.
Ihr könnt das Token ‚wiederrufen‘ (afaik bei Tesla durch Änderung des Account PW) und damit hat jemand nichts mehr mit dem er unfug treiben kann.
Wäre aber fast der gleiche Effekt was die Zugangsdaten an geht.

Bleibt für mich also nur der Vorteil das der Account nicht gekarpert und/oder damit anderer Unfug (Bestellungen etc) gemacht werden kann.

Das ist sehr gut und wichtig, also von mir ein klares PRO für das Token, aber bitte im Hinterkopf behalten, es ist nicht das Wundermittel was Euch alle Probleme vom Hals hält, oder weswegen man komplett sorgelos mit seinen Daten umgehen kann, nur weil jemand sagt: Ich speichere Deine Daten nicht, ichmach nen Token.

Für mich persönlich bedeutet das: Ich nutze keine online Dienste welche meine Zugangsdaten möchten, auch wenn sie versichern das sie damit nur ein Token generieren.

Ich nutze das Token, für meine Küchenuhr

weil auch wenn ich mir selbst vertraue (das Token muss ja auch einmalig generiert werden) möchte ich nicht das meine Zugangsdaten im klartext irgedwo gespeichert sind, wo im schlimmsten Fall jemand drann käme.

Also: Ich möchte niemanden verunsichern, Token ist ne gute Sache, aber kein Grund ‚das Hrin auszuschalten‘ weil ‚kann ja nix mehr schief gehen‘… :wink:

Viele Grüsse
Andre

PS: Mal schauen ob wir die anderen Diskussion hierher verschoben bekommen, war ja etwas OT

5 „Gefällt mir“

Generell wird ein Token bei Oauth oder OpenIdConnect genutzt wer noch ein bisschen mehr darüber lesen möchte.
Der übergeordnete Prozess bietet eigentlich die Sicherheit nicht das Token an sich.
Im Prinzip würde auch kein Dienst Passwörter speichern müssen oder Tokens von uns übergeben lassen müssen, wenn Tesla z.B ABRP als vertrauenswürdigen OAuth Client bei sich registrieren würde.

1 „Gefällt mir“

Danke für die Stichworte
(war mir soweit klar, aber ich dachte wenn man das jetzt noch dazu rein bringt wirds für die meisten noch unverständlicher) ,
Aber gut das es genannt wird, da kann man sich ja in die tiefen einlesen, wenn man möchte.

Und ja, das ist, gerade bei ‚inoffiziellen‘ APIs das Problem, würde das ofiziell von Tesla supportet wäre das Problem (wem traue ich) deutlich verbessert.
Richtig sauber wäre es dann, wenn es rollen gäbe, zB das man nur den SOC abfragen darf.
Weil ABRP soll mir auch nicht den Frunk aufmachen können :wink:

1 „Gefällt mir“

Um ein Token zu generieren braucht es keinen „Anbieter“, die Funktionalität ist Teil der Tesla API. Da reicht ein einfacher REST-Client.

Und dort kann man auch Tokens löschen, es ist nicht notwendig, das Passwort zu ändern.

Ich bin eh mal gespannt ob sie nicht irgendwann mal Client-secret von der teslaapi über die wohl alle sich anmelden ändern und dann war’s das mit eigengebastelten Apps

Du brauchst aber eine Client-id und secret, im Prinzip ist das ein Build in „Anbieter“, der über reverseengineering public gemacht wurde

Ein Anbieter ist für mich jemand, der einen Service zur Verfügung stellt und evtl Daten speichert (darum ging es im OT ja), wenn man die API benutzt, redet man aber direkt mit Tesla, https://owner-api.teslamotors.com gehört Tesla, dort ist niemand anderer involviert.

1 „Gefällt mir“

@ Lyve: Klar da hast Du recht, ABER wer kann/macht das, die Leute die so fit sind, sind hier nicht von mir angesprochen, die wissen doch eh wie es läuft…

Ich reden von den Drittanbietern die die meisten nutzen ABRP, Wallboxen, Datensammler/Logger usw…
Oder expliziete „Token Generatoren“
(Wurde hier OT, schon angesprochen, wollte nur da nicht noch mehr OT Text svhreiben, hoffe das wird zusammengeführt)

1 „Gefällt mir“

und man kann sich, mit Hilfe des alten Tokens, neue generieren. Dann kennt man evtl. gar nicht das Token was man löschen möchte.

Und wenn das Zertifikat, bei der Tokengenerierung, nicht geprüft wird (welche der externen Anwendungen prüft?) ist HTTPS nur eine Verschlüsselung die man auch mit jemand unbekannten machen kann (SSL- MITM). Der, der in der Mitte sitzt, kennt dann meine Zugangsdaten und kann mich aus meinem eigenen Auto aussperren indem er das Password wechselt.

Zur Tokenneugenierung braucht man doch das refresh_token aus der AuthenticationServer response oder? Das geb ich ja nicht an ABRP weiter.

2 „Gefällt mir“

jetzt wo Du es schreibst … Könnte sein (habe es nicht ausprobiert)

Und da fällt mir ein das man ja nun mehrere Accounts im Tesla-Konto anlegen kann. :slight_smile:

Mit diesem, anderen Account für speziell einen Anwendung, könnte man Anmeldedaten weitergeben und separat behandeln.
Das wäre eine Lösung externen Anwendungen zu nutzen. Selbst wenn die übernommen würde könnte man den Angreifer aussperren (Account deaktivieren).
Und das ganz ohne Token …

zu deiner Küchenuhr - cooles LCARS - Design, gefällt mir :slight_smile: :+1: :vulcan_salute:

1 „Gefällt mir“

Danke vulcan_salute

1 „Gefällt mir“

Moin,

falls hier mitlesende noch nicht drüber gestolpert sind, dort gibt es jetzt eine Lösung um ‚sicher‘ an ein Token zu kommen:

Viele Grüsse
Andre

1 „Gefällt mir“

Hallo zusammen,

welche Möglichkeiten gibt es im Moment einen Token zu erstellen.

Alle Fundstellen funktionieren nicht mehr. Scheinbar ist mit OAUTH2 die Schnittstelle ja geändert (irgendwo habe ich Captcha gelesen).

Oder bin ich einfach zu blöd? :slight_smile:

Gruß TK

Ich verwende die App „Auth for Tesla“, die hat neulich mit der neuen Anmeldung bei Teslamate funktioniert.

Dann muss ich das wohl etwas genauer spezifizieren.

Mir geht es um einen Token unter Windows (eigentlich für ABRP), da unter Windows ABRP die Direktanmeldung per Tesla User / Passwort inzwischen nicht mehr anbietet.

Wenn mir Google die richtige Antwort gibt, ist ‚Auth for Tesla‘ only Apple und nicht Android, da scheitert es bei mir leider an der Hardware.

Alle mir bekannten Verfahren unter Windows (z.B. Powershell, Phyton Scripte) funktionieren nicht mehr.

Also Freiwillige vor. :slight_smile:

Hilft der Beitrag ein wenig weiter oben vielleicht

Tja - stammt leider auch von 02 / 21 und funktioniert bei mir nicht.

Im englischsprachigen Bereich gibt es Aussagen vom jemandem, der bei GitHub ein Python Script bereitgestellt hat (aus Juli 21).

So I still don’t have any free cycles, but I did look it over real quick and it appears that Tesla has added https://auth.tesla.com/captcha into the mix. See here for more: Tesla Added a Captcha Verification on the Login Page

Schau mal hier

Der Entwickler ist hier auch im Forum aktiv.
Die Anwendung erzeugt nach dem Login eine Datei wo der Token abgespeichert ist.
Vielleicht hilft Dir das weiter …