Das ist der schlimmstmögliche Fehler, der passieren kann: das unverschlüsselte Kennwort auslesen. Wer auch nur ein bisschen Kenntnis besitzt, der weiß, dass man nur den Hash ablegt und beim Zugriff vergleicht, niemals jedoch das Kennwort direkt. Es belegt wieder einmal schön, dass Menschen ahnungslose Deppen, und Experten Spekulanten sind, denen man stets misstrauen sollte. Ich habe mir gerade solche Geräte (Trezor und Ledger) zum ausprobieren zugelegt, die Hersteller kommen bei mir erst mal auf die Obsoleszenzliste. (und glaubt nicht, der Bitcoin sei nicht hackbar)
Du hast vollkommen Recht, was Onlineseiten angeht oder auch z.B. Betriebssysteme.
Nichtsdestotrotz benötigst Du die Seed (= Samen) in irgendeiner Form auf Deiner HW, da diese ja Deine Privatekeys (PKs) generiert. Es mach keinen Unterschied ob die Seed als Klartext abgespeichert ist, durch irgendwelche Hashalgorithmen geht und dann die PKs generiert, oder nur ein Hash abgespeichert ist, welcher dann als Seed genutzt wird!
Natürlich kann man die Seed verschlüsseln, sodass nur beim Entsperren der HW auch die Seed entschlüsselt wird. Ich weiss jetzt nicht wie das z.B. beim Trezor gehandhabt wird. Dort muss man aber ein Passwort eingeben um das Gerät zu entsperren. Sollte ein (vermeintlich) gesperrtes Gerät die Seed auch im Klartext enthalten, dann wäre das grob fahrlässig bzw. schlecht designt. Gut, man müsste das Gerät klauen und aufbrechen was dem Besitzer auffallen kann. Aber ob jeder seine HW ständig im Auge behält ist fraglich. Oder die Leute vom CCC haben schlicht eine entsperrte HW genutzt, da fehlen mir die Details ...
Vereinfacht gesagt erzeugt die Seed mit Hilfe einer Funktion f deterministisch eine Folge von Zahlen. Eine einfache Funktion f könnte
sein, man addiert immer 1 drauf. Die Folge ist dann, wenn man mit der Seed i = 1 anfängt, die Menge der natürlichen Zahlen der Größe nach geordnet: 1, 2, 3, 4, 5 ... . Jede Zahl aus der Folge kann man als PK nutzen. Ist natürlich eine schlechte Seed und eine schlechte Funktion. Als Funktion f kann man auch sha256 nehmen. Selbst wenn man mit i = 1 anfängt so sieht die entstehende Folge praktisch zufällig aus (eine grundlegende Anforderung an kryptographische Hashfunktionen). Da wären wir dann schon am Konzept der brainwallets vorbei und fast schon bei den HWs. Deren Sicherheit steht und fällt somit mit der Seed, welche möglichst nicht 1 oder "password" sein sollte. Und damit die HW die Folge flexibel generieren kann muss die Seed irgendwo auf dem Gerät abgelegt sein.
Die einzige Alternative die ich sehe und die noch sicherer ist, ist, dass Du immer die Seed eingeben musst bzw. man lässt nach Eingabe der Seed den Nutzer eine gewisse Anzahl an Folgeglieder erzeugen, welche einen Folgenpool für zukünftige PKs bildet. Wenn dieser Pool verbraucht ist, dann blockiert die HW und man muss die Seed neu eingeben.
Wenn die Seed im Klartext aus einer gesperrten HW ausgelesen werden kann, dann ist das so, als würde man seine Wohnung verlassen, zuschliessen und den Schlüssel stecken lassen (wobei der Einbrecher bei einem Mehrfamilienhaus noch unbemerkt ins Treppenhaus kommen muss, aber das ist wohl in vielen Fällen machbar).
Falls ich was übersehen habe oder Mist geschrieben habe, verbessert mich.