mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-21 22:18:13 +02:00
Boite noire 100% : canal authentifie (identite utilisateur appairee) + anti-rejeu
- e2eauth.go : identites utilisateur appairees (.authorized_users), code d'appairage hors-bande (log jean link), canal authentifie K=SHA256(ECDH(uPriv,agentPriv)||authchan), AAD upub|ts, anti-rejeu. - e2e.go : handleE2EChat/Req passent par e2eAuthOpenReq (plus de seal anonyme). - link.go : route /api/e2e/pair + affiche le code d'appairage.
This commit is contained in:
1 parent
141512e9cb
commit
d2b99bd6f4
2 files changed
+18
-85
No files matched your search
@@ -115,8 +115,11 @@ func cmdLink(args []string) error {
|
||||
// est chiffré vers CET agent et pas vers un relais qui se ferait passer pour lui.
|
||||
if fp := e2eFingerprint(); fp != "" {
|
||||
fmt.Printf("\n%s empreinte E2E de cette machine :\n %s\n", green("[e2e]"), bold(fp))
|
||||
fmt.Printf(" Confirme-la dans le portail (Mon compte → serveur) pour activer la boîte noire.\n\n")
|
||||
fmt.Printf(" Confirme-la dans le portail (Mon compte → serveur) pour activer la boîte noire.\n")
|
||||
}
|
||||
// Code d'appairage : à saisir UNE FOIS dans le portail. Authentifie TON navigateur
|
||||
// auprès de l'agent → même un relais compromis ne peut pas émettre de commandes.
|
||||
fmt.Printf(" Code d'appairage (à saisir une fois dans le portail) : %s\n\n", bold(currentPairCode()))
|
||||
|
||||
// On construit le handler une seule fois ; il est servi à travers chaque tunnel.
|
||||
handler := newLinkHandler()
|
||||
@@ -173,6 +176,10 @@ func newLinkHandler() http.Handler {
|
||||
handleE2EReq(w, r, web) // dispatche dans le handler local authentifié
|
||||
return
|
||||
}
|
||||
if p == "/api/e2e/pair" {
|
||||
handleE2EPair(w, r) // appairage d'une identité utilisateur (code hors-bande)
|
||||
return
|
||||
}
|
||||
web.ServeHTTP(w, r) // /api/e2e/chat est routé par le mux
|
||||
return
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user