ref: 46507ca0d8b2187dfa48640164179c1fed9d3fff
parent: a69e8a2ac9005573a857f4677a97832682b42fc1
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun Feb 26 17:44:47 EST 2017
authsrv: don't hash in hostowner key for keyseed aiju → i don't like it, it's more bullshit ways to expose the key :) aiju → if someone can grab /adm/keyseed, they can also grab /adm/users and /adm/keys
--- a/sys/src/cmd/auth/authsrv.c
+++ b/sys/src/cmd/auth/authsrv.c
@@ -1005,18 +1005,9 @@
void
initkeyseed(void)
{- static char info[] = "PRF key for generation of dummy user keys";
- char k[DESKEYLEN], *u;
int fd;
genrandom(keyseed, sizeof(keyseed));
-
- u = getuser();
- if(!finddeskey(KEYDB, u, k)){- syslog(0, AUTHLOG, "initkeyseed: user %s not in keydb", u);
- return;
- }
-
if((fd = create("/adm/keyseed", OWRITE|OEXCL, 0600)) >= 0){write(fd, keyseed, sizeof(keyseed));
} else if((fd = open("/adm/keyseed", OREAD)) >= 0){@@ -1023,18 +1014,9 @@
read(fd, keyseed, sizeof(keyseed));
} else{syslog(0, AUTHLOG, "initkeyseed: no seed file: %r");
- memset(k, 0, sizeof(k));
return;
}
close(fd);
-
- hkdf_x( keyseed, sizeof(keyseed),
- (uchar*)info, sizeof(info)-1,
- (uchar*)k, sizeof(k),
- keyseed, sizeof(keyseed),
- hmac_sha2_256, SHA2_256dlen);
-
- memset(k, 0, sizeof(k));
}
void
--
⑨