Zugangssystem: Unterschied zwischen den Versionen

33 Bytes entfernt ,  20:23, 4. Feb. 2016
>D3f
>D3f
Zeile 79: Zeile 79:
(Mit || ist die Konkatenation gemeint.)
(Mit || ist die Konkatenation gemeint.)


1. Der Benutzer besucht die Webseite und authentifiziert sich. Er klickt auf einen Button, und der Pi startet den Login-Vorgang (CSRF-geschützt)
# Der Benutzer besucht die Webseite und authentifiziert sich. Er klickt auf einen Button, und der Pi startet den Login-Vorgang (CSRF-geschützt)
2. Der Pi sendet dem ESP eine "Trigger"-Nachricht.
# Der Pi sendet dem ESP eine "Trigger"-Nachricht.
3. Der ESP berechnet TC=AES(C0++,KH0) und sendet TC an Pi
# Der ESP berechnet TC=AES(C0++,KH0) und sendet TC an Pi
4. Pi berechnet TCR=HMAC(TC,K0) und sendet TCR an ESP
# Pi berechnet TCR=HMAC(TC,K0) und sendet TCR an ESP
5. ESP assertet TCR==HMAC(TC,K0).
# ESP assertet TCR==HMAC(TC,K0).
6. ESP berechnet OC=AES(C1++,KH1) und PC=Filter4ZiffernAus(AES(C1++,KH1)). Wichtig: C1 wird tatsächlich zweimal inkrementiert.
# ESP berechnet OC=AES(C1++,KH1) und PC=Filter4ZiffernAus(AES(C1++,KH1)). Wichtig: C1 wird tatsächlich zweimal inkrementiert.
7. ESP zeigt PC auf Display an.
# ESP zeigt PC auf Display an.
8. ESP sendet OC and Pi.
# ESP sendet OC and Pi.
9. Benutzer liest PC von Display ab, und tippt es auf Webseite ein.
# Benutzer liest PC von Display ab, und tippt es auf Webseite ein.
10. Pi würfelt AC (z.B. Hardware-Zufallszahlengenerator in der CPU).
# Pi würfelt AC (z.B. Hardware-Zufallszahlengenerator in der CPU).
11. Pi berechnet OCR=HMAC(PC||OC||AC, K1) und sendet OCR und AC an ESP
# Pi berechnet OCR=HMAC(PC||OC||AC, K1) und sendet OCR und AC an ESP
12. ESP assertet OCR==HMAC(PC||OC||AC, K1) und öffnet Tür
# ESP assertet OCR==HMAC(PC||OC||AC, K1) und öffnet Tür
13. ESP berechnet ACR=HMAC(AC,K2) und sendet ACR als Response an Pi
# ESP berechnet ACR=HMAC(AC,K2) und sendet ACR als Response an Pi
14. Pi assertet ACR==HMAC(AC,K2) und sendet Tür-auf-Signal an KeyMatic (wie auch immer)
# Pi assertet ACR==HMAC(AC,K2) und sendet Tür-auf-Signal an KeyMatic (wie auch immer)


===Anmerkungen===
===Anmerkungen===
Anonymer Benutzer