Hi Burak,

and thanks pointing to you work. The memory-pinning was rather easy to 
integrate, have a look:

https://github.com/ms140569/loki/commit/ad02ac092e56d4ac96ffaf8b737dac515516abfe

Timing-out the key-agent is something which came to my mind as well - i 
guess i'll do it optionally.

cheers,

Matthias


Am Donnerstag, 18. Oktober 2018 15:32:28 UTC+2 schrieb Burak Serdar:
>
> On Tue, Oct 16, 2018 at 1:55 PM Matthias Schmidt 
> <matthias...@gmail.com <javascript:>> wrote: 
> > 
> > And here it is: 
> > 
> > https://github.com/ms140569/loki/releases/tag/1.2.0 
>
>
> Thanks for sharing this. I find this interesting because I've been 
> working on a very similar idea for an OIDC token manager CLI, and came 
> up with almost the same scheme regarding how you used the domain 
> sockets and the agent. I used rpc instead of a raw protocol though, 
> and the agent times out after a while in my case. You can take a look 
> at https://github.com/bserdar/took the crypto rpc stuff is under 
> crypta package. 
>
> It does suffer from the same problems mentioned in this thread: if you 
> can scan the memory, the master key is there. I'll add memory locking 
> to mine. 
>
> > 
> > Thanks to your guy's input the key-agent should be now way more secure. 
> > 
> > cheers, 
> > 
> > Matthias 
> > 
> > Am Dienstag, 16. Oktober 2018 20:31:42 UTC+2 schrieb Matthias Schmidt: 
> >> 
> >> Hi Christopher + Eric, 
> >> 
> >> thanks for your feedback. You are right, i really underestimated the 
> risk of such attacks. 
> >> 
> >> I will lock the key-holding memory in the next release. 
> >> 
> >> cheers, 
> >> 
> >> Matthias 
> >> 
> >> 
> >> Am Montag, 15. Oktober 2018 23:13:32 UTC+2 schrieb Christopher Nielsen: 
> >>> 
> >>> On Mon, Oct 15, 2018 at 1:28 PM Matthias Schmidt 
> >>> <matthias...@gmail.com> wrote: 
> >>> > 
> >>> > Hi Eric, 
> >>> > 
> >>> > thanks *a lot* for your valuable feedback! I really appreciate it. 
> See comments inline: 
> >>> > 
> >>> > Am Montag, 15. Oktober 2018 12:09:32 UTC+2 schrieb EricR: 
> >>> >> 
> >>> >> Since you're looking for opinions on the security concept, two 
> questions spring immediately to my mind: 
> >>> >> 
> >>> >> 1. Does the daemon keep the sensitive data in locked memory that 
> cannot be paged out? If so, how cross-platform is this? 
> >>> > 
> >>> > 
> >>> > No it doesn't. As of now i consider the root-user a good guy ;-) 
> >>> > He's the only one who could access the pagefiles anyway. 
> >>> > 
> >>> > So is this really an issue? If yes i could use this cross-platform 
> solution to pin the key: 
> >>> > 
> >>> > https://github.com/awnumar/memguard 
> >>> > 
> >>> > 
> >>> >> 
> >>> >> 
> >>> >> 2. How does the client communicate securely with the daemon? Which 
> encryption protocol/handshake is used for this? (If it just uses a socket, 
> what would prevent another process from reading out the master password?) 
> >>> > 
> >>> > 
> >>> > It's in fact a unix domain socket file which is only accessible for 
> the owner of the key. ( Thanks for bringing this up, i forgot to flag the 
> file correctly - it's now fixed). 
> >>> > Relying on the file permissions in unix shouldn't be a problem, 
> right? 
> >>> > 
> >>> > cheers & again - many thanks, 
> >>> > 
> >>> > Matthias 
> >>> 
> >>> You seem to be putting a lot of trust in facilities that are trivially 
> >>> exploitable to a determined attacker. For software like a password 
> >>> manager, assuming the kernel is secure is a poor security model. In 
> >>> addition to the existing attack surface, we live in a world where 
> >>> side-channel attacks are becoming more common, e.g., Spectre and 
> >>> Meltdown, so it isn't safe to assume the kernel or hardware are 
> >>> secure. A password manager needs to have a robust security model that 
> >>> has a minimal trust model if it is to be more than a toy. 
> >>> 
> >>> Just my $0.02 
> >>> 
> >>> -- 
> >>> Christopher Nielsen 
> >>> "They who can give up essential liberty for temporary safety, deserve 
> >>> neither liberty nor safety." --Benjamin Franklin 
> >>> "The tree of liberty must be refreshed from time to time with the 
> >>> blood of patriots & tyrants." --Thomas Jefferson 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "golang-nuts" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to golang-nuts...@googlegroups.com <javascript:>. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to