<div dir="ltr">As Brian said, in that particular case, I think Alice and Bob should use a repo where Eve doesn't have access, or at least write access.<br><br>I think the key here is that 'pass init' reads and re-encrypts everything with the new key(s), but Eve didn't actually use 'pass init' but did it manually (because she can't read the files). This leads to a situation where files in the directory are encrypted with a different set of keys than the ones present in .gpg-id, which might be detectable. Perhaps we can try to detect that kind of situation and throw a big nasty warning in these cases?<br><br>Emile</div><br><div class="gmail_quote"><div dir="ltr">Le mer. 7 déc. 2016 à 11:05, Frank Grüllich <<a href="mailto:frank.gruellich@gmail.com">frank.gruellich@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br class="gmail_msg">
<br class="gmail_msg">
first things first: thanks for that wonderful and simple tool, I like it<br class="gmail_msg">
a lot!  It integrates so well into my daily work which happens to 90% on<br class="gmail_msg">
some kind of shell.  And I can throw all kind of stuff into it,<br class="gmail_msg">
passwords, certificates, RPMs, my favorite kitten images... just great.<br class="gmail_msg">
<br class="gmail_msg">
But now to serious business.  TL;DR: what prevents an attacker to<br class="gmail_msg">
manually mess around with .gpg-id files to make people encrypt secrets<br class="gmail_msg">
for private keys they own?<br class="gmail_msg">
<br class="gmail_msg">
Long story: that looks to me actually that simple that I cannot believe<br class="gmail_msg">
that there is no protection against it.  I looked into the mailing list<br class="gmail_msg">
archive for the last year but only found some vague hints into the<br class="gmail_msg">
direction (eg. signing .gpg-id files, but I don't really see how that<br class="gmail_msg">
could lead to anything).<br class="gmail_msg">
<br class="gmail_msg">
Let's assume Alice, Bob, and Eve work in a team "ABE" and need to share<br class="gmail_msg">
secrets with each other.  They have shared and imported all their GnuPG<br class="gmail_msg">
keys, trusted, signed, whatever.  They then did (something along):<br class="gmail_msg">
<br class="gmail_msg">
 % pass git init<br class="gmail_msg">
 % pass init -p teams/ABE/ alice bob eve<br class="gmail_msg">
 % pass insert teams/ABE/somesecret<br class="gmail_msg">
 % pass git push<br class="gmail_msg">
<br class="gmail_msg">
The usual stuff.  Now Alice and Bob want to start sharing their own<br class="gmail_msg">
little secrets (IOW they in addition have to work in another team "AB"<br class="gmail_msg">
excluding Eve).  Again:<br class="gmail_msg">
<br class="gmail_msg">
 % pass init -p teams/AB/ alice bob<br class="gmail_msg">
 % pass insert teams/AB/someothersecret<br class="gmail_msg">
 % ...<br class="gmail_msg">
<br class="gmail_msg">
However, Eve somehow does not like the situation and manually appends<br class="gmail_msg">
her key id to her copy of ~/.password-store/teams/AB/.gpg-id, commits<br class="gmail_msg">
and pushes it.  Alice or Bob pull that version, did not notice in the<br class="gmail_msg">
million of other updates that the .gpg-id file got updated and of course<br class="gmail_msg">
they also don't look at it, there could be 100's of IDs in it, why<br class="gmail_msg">
should they bother.  As soon as they insert or update secrets in their<br class="gmail_msg">
folder, Eve gets access to it.<br class="gmail_msg">
<br class="gmail_msg">
Am I right so far?  If so, any ideas how to prevent that?  Signing the<br class="gmail_msg">
file doesn't really help as Eve could easily create a signed version<br class="gmail_msg">
that Alice's and Bob's GnuPG would accept.  Maybe encrypting it?  That<br class="gmail_msg">
would be very incompatible with the current implemenation and it would<br class="gmail_msg">
remove the feature that someone can encrypt secrets for a group of<br class="gmail_msg">
people by only knowing their public keys.  Signing commits?  Does that<br class="gmail_msg">
help?  I don't know.<br class="gmail_msg">
<br class="gmail_msg">
Kind regards,<br class="gmail_msg">
 Frank.<br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
Password-Store mailing list<br class="gmail_msg">
<a href="mailto:Password-Store@lists.zx2c4.com" class="gmail_msg" target="_blank">Password-Store@lists.zx2c4.com</a><br class="gmail_msg">
<a href="https://lists.zx2c4.com/mailman/listinfo/password-store" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.zx2c4.com/mailman/listinfo/password-store</a><br class="gmail_msg">
</blockquote></div>