Re: How difficult is it to break the OpenPGP 40 character long fingerprint?

2013-06-03 Thread Melvin Carvalho
On 1 April 2013 19:46, Daniel Kahn Gillmor  wrote:

> On 04/01/2013 12:24 PM, adrelanos wrote:
>
> > gpg uses only(?) 40 chars for the fingerprint.
> > (I mean the output of: gpg --fingerprint --keyid-format long.)
>
> this is a 160-bit SHA-1 digest of the public key material and the
> creation date, with a bit of boilerplate for formatting.  This is not
> gpg-specific, it is part of the OpenPGP specification:
>
>   https://tools.ietf.org/html/rfc4880#section-12.2
>
> A better place to discuss issues related to OpenPGP in general is the
> IETF's OpenPGP mailing list:
>
>  https://www.ietf.org/mailman/listinfo/openpgp
>
> It is a good idea to review their archives for fingerprints and digest
> algorithms before posting, though.  Much of what you asked has been
> discussed in some detail on that list already.
>
> > How difficult, i.e. how much computing power and time is required to
> > create a key, which matches the very same fingerprint?
>
> This is called a second-preimage attack.  I am not aware of any
> published second-preimage attacks against SHA-1's 160-bit digest that
> bring the computation within tractable limits.  A theoretically perfect
> 160-bit-long digest algorithm would require ~2^160 operations to arrive
> at a particular digest.  SHA-1 is almost certainly not theoretically
> perfect against this sort of attack, but does not appear to be
> practically broken by anyone who is publishing about it.
>
> > Isn't 40 chars a bit weak?
>
> the underlying material is 160 bits -- it does not need to be
> represented as 40 chars.  And if the digest algorithm was known to be
> weak (e.g. if it was a simple CRC), then even fingerprints 10 times as
> long would not be enough.
>
> However, for the purposes of key fingerprints in particular, SHA-1
> appears to be reasonable in the near term.
>
> > Are there plans to provide a longer fingerprint which in theory can't be
> > broken with computing power expected in for example 100(0) years?
>
> For future OpenPGP drafts, there has been some discussion about moving
> to a longer digest (on the IETF list i mentioned above).  Those
> decisions have not reached a consensus, from what i can tell.
>
> Predicting computing power or the state of mathematics itself 100 or
> 1000 years into the future seems like a dubious proposition.  Consider
> the state of mechanical computation and mathematics 100 or 1000 years
> ago.  Do you think that even a skilled mathematician at the time could
> have predicted where we are today?
>
> The longevity of any public key cryptosystem should probably be
> estimated in years or decades at the longest if you want any confidence
> in your answer.
>

I've been doing a lot of work with bitcoin lately.

Bitcoin is essentially a ledger where you have an array of fingerprints
(160 bit hashes of a public key) and a value (number of coins in wallet).

Transactions involve signing transfers from one key to another, which also
creates new coins in the process, when the distributed ledger syncs up.

Unfortunately bitcoin only supports ECDSA and not RSA.  But I wonder if a
fingerprint of your GPG key could be used as the basis of a payment ledger?


>
> Regards,
>
> --dkg
>
>
> ___
> Gnupg-users mailing list
> Gnupg-users@gnupg.org
> http://lists.gnupg.org/mailman/listinfo/gnupg-users
>
>
___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users


Separate OpenPGP cards for master key and sub-keys

2013-06-03 Thread Branko Majic
Hello all,

I'm looking into setting myself up with some OpenPGP cards, and I'm
looking into some opinions on using separate OpenPGP card for the
master key and sub-keys vs using a single OpenPGP card.

The idea behind this would be that my master OpenPGP card would be kept
in a safe area (hidden cavern, back home under pillow/mattress and
similar :), while I'd carry my sub-keys OpenPGP card with me at all
times and use it for every-day operations.

In particular, I'm curious to find out if there is any technical
limitation that I should be aware of if I go with this kind of schema?
Mainly in terms of how GnuPG handles the OpenPGP cards?

Does anyone utilise this kind of schema? Or do people go with soft
token for master key instead?

Best regards

P.S.
If somebody knows of a good previous thread about this topic, please do
feel free to point me to it with a link. "Best-practices" links in
terms of key management with OpenPGP smart-cards are welcome as
well, especially in terms of back-up :)

-- 
Branko Majic
Jabber: bra...@majic.rs
Please use only Free formats when sending attachments to me.

Бранко Мајић
Џабер: bra...@majic.rs
Молим вас да додатке шаљете искључиво у слободним форматима.


signature.asc
Description: PGP signature
___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users


Re: Separate OpenPGP cards for master key and sub-keys

2013-06-03 Thread Pete Stephenson
On Mon, Jun 3, 2013 at 5:41 AM, Branko Majic  wrote:
> Hello all,
>
> I'm looking into setting myself up with some OpenPGP cards, and I'm
> looking into some opinions on using separate OpenPGP card for the
> master key and sub-keys vs using a single OpenPGP card.
>
> The idea behind this would be that my master OpenPGP card would be kept
> in a safe area (hidden cavern, back home under pillow/mattress and
> similar :), while I'd carry my sub-keys OpenPGP card with me at all
> times and use it for every-day operations.
>
> In particular, I'm curious to find out if there is any technical
> limitation that I should be aware of if I go with this kind of schema?
> Mainly in terms of how GnuPG handles the OpenPGP cards?
>
> Does anyone utilise this kind of schema? Or do people go with soft
> token for master key instead?

Using separate smartcards for master and subkeys works perfectly fine
for RSA keys in my experience. I do precisely this with one of my
recent keys.

Here's a general overview of how I did it:

1. Generate primary key on the computer (not directly on the
smartcard), then make appropriate offline backups (e.g. on CD-R) so if
the card is damaged I can still use the key.
2. Transfer the primary key to the smartcard, then delete the primary
key from the computer. I then ran "gpg2 --card-status" to generate the
private key stub that tells GnuGP that the private key for that KeyID
is on the smartcard.
3. Generate subkeys (encryption and signing) on the computer, signing
them with the smartcard-based primary key.
4. Transfer the subkeys to a new smartcard, then deleting the subkeys
from the computer. "gpg2 --card-status" generates the stubs for the
subkeys, as above.

I keep the backups in a physically secure location, including a locked
box in my house and in a safe deposit box at my bank. I'm not really
worried about physical compromise of my keys (I figure if someone's
breaking into my house to steal my keys, I have more important issues
at hand). My use of smartcards is to help reduce the risk of key
compromise due to malware or some other computer-based attack, so
they're kept in my immediate control but not as physically secure
(e.g. in desk drawer, rather than in a locked box).

Your exact strategy might differ slightly: for example, you might want
to generate the keys on the card and never have private key material
on the computer (this also prevents you from making backups), but the
overall process should be similar.

Since the smartcards don't support DSA or ElGamal keys, you can't use
the cards to protect these types of keys (though you can use RSA
subkeys with a DSA primary key). One of my keys is a DSA primary key,
which I keep offline but have the RSA subkeys on a smartcard (I have
three in total). I only use the DSA key for signing/certifying new
subkeys or other people's public keys, then delete it from the
computer.

Cheers!
-Pete

-- 
Pete Stephenson

___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users


Re: How difficult is it to break the OpenPGP 40 character long fingerprint?

2013-06-03 Thread Daniel Kahn Gillmor
On 06/03/2013 08:04 AM, Melvin Carvalho wrote:

> Bitcoin is essentially a ledger where you have an array of fingerprints
> (160 bit hashes of a public key) and a value (number of coins in wallet).

i thought that bitcoin didn't hash the public keys at all, but rather
used the full elliptic curve public key, since it is smaller than
comparably-strong RSA or DSA keys.  I don't know much about bitcoin
though so i could be mistaken here.

> Unfortunately bitcoin only supports ECDSA and not RSA.  But I wonder if a
> fingerprint of your GPG key could be used as the basis of a payment ledger?

The OpenPGP standard supports elliptic curve keys directly:

  https://tools.ietf.org/html/rfc6637

GnuPG will add support for these keys in version 2.1 (now in beta).  If
you wanted to make an assertion about your ownership of a given bitcoin
purse it seems like you might be able to do that.

however, the specific curves used seem to differ:

According to https://en.bitcoin.it/wiki/Protocol_specification,

   For ECDSA the secp256k1 curve from
http://www.secg.org/collateral/sec2_final.pdf is used.

https://tools.ietf.org/html/rfc6637#section-11 refers to NIST curve
P-256, which i think is different :/

Still, it seems like it wouldn't be difficult to use your OpenPGP
identity make assertions about your possession of any given bitcoin
wallet, they just wouldn't be digested into the global bitcoin
transaction log.

Does this address what you were asking about?  if not, what problem are
you trying to solve specifically?

--dkg

PS your MUA seems to think that this list is named "Jay Litwyn on
GnuPG-Users " -- you probably want to update your
addressbook :)



signature.asc
Description: OpenPGP digital signature
___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users


Re: Separate OpenPGP cards for master key and sub-keys

2013-06-03 Thread Mustrum
I already moved my subkeys to one cryptostick.
When i tried to move the primary key (4096 RSA) to another stick i got:

>gpg> keytocard
>Really move the primary key? (y/N) y
>Signature key : [none]
>Encryption key: [none]
>Authentication key: [none]

>Please select where to store the key:
>Your selection?

Note that there is NO valid choice.

Any ideas ?

I'm using gpg 2.0.20




signature.asc
Description: OpenPGP digital signature
___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users


Re: Separate OpenPGP cards for master key and sub-keys

2013-06-03 Thread Pete Stephenson
On Mon, Jun 3, 2013 at 11:10 AM, Mustrum  wrote:
> I already moved my subkeys to one cryptostick.
> When i tried to move the primary key (4096 RSA) to another stick i got:
>
>>gpg> keytocard
>>Really move the primary key? (y/N) y
>>Signature key : [none]
>>Encryption key: [none]
>>Authentication key: [none]
>
>>Please select where to store the key:
>>Your selection?
>
> Note that there is NO valid choice.
>
> Any ideas ?
>
> I'm using gpg 2.0.20

What version of the Crypto Stick are you using? I've successfully
moved 4096-bit RSA primary keys to the OpenPGP smartcard and 2048-bit
RSA subkeys to a Crypto Stick v1.2, but I would expect the Crypto
Stick would also support 4096-bit keys. I don't know if early versions
wouldn't support keys of that length.

-- 
Pete Stephenson

___
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users