Tag Info

3

My question is how do I authenticate my App to the CA, to prevent something else to request these Client Certificates? There is generally no way to authenticate the client code. Any secret you embed in the app could be extracted. You must assume an attacker can send requests that an authentic client would. Instead, what you can do is authenticate the ...

2

The protocol seems secure. Some comments below. Bob computes the DH shared secret X using his private key and Alice's static public key, and then K(X), the result of applying an appropriate key derivation function (KDF) to the combination of A, B, and X. The DH secret X already depends on both key-pairs. Including the public keys in key ...

1

You'll want to integrate something in the request that is unique for the device or the user. This can be an iOS specific identifier or a hardware specific identifier. Furthermore, what you want is to make sure that the request came from your software. You can do this by authenticating the request somehow. For this you need a secret key. I guess the most ...

1

Like Thomas suggests in the comments, a Merkle tree would help here. As would a simple hash list. Calculate the hash tree/list over suitably sized blocks of the file and let the recipient know it. As data comes in it can be verified to match. With file size $n$, block size $b$ and SHA-256 as the hash, a hash list takes about $n/b \cdot 256$ bits. So with up ...

1

Nimbus or Thinbus are two popular SRP implementations in Java and Javascript compute the proof of password as you describe H(A|B|S) where you can supply your own hash functions such as SHA1 or SHA256 or stronger. The actual protocol design document states H(H(N) xor H(g), H(I), s, A, B, K) where K=H(S) so that expands to H(H(N) xor H(g)|H(I)|s|A|B|H(S)). ...

1

I've finally found a solution - some variants of key ratcheting, e.g. the one used in SCIMP, provide perfect forward secrecy assuming an initial shared secret is established without any asymmetric crypto, and they don't even require a secure random number generator on any of the endpoints! In this case all we need for an authenticated and encrypted protocol ...

1

First, PKCS#7 -- almost always considered to include its successor CMS in the same way "SSL" usually means TLS -- supports several cryptographic functions; you appear to be asking only about signing, so I will ignore the other parts. If you want more, read the RFC and/or add to your question. PKCS#7/CMS has two options for signed data, one where the data is ...

1

Terminology: "public-coin" means the verifier does not need to keep any of its randomness secret, and "private-coin" means "not necessarily public coin". By IP = PSPACE, the correctness of operations can be interactively verified by a public-coin verifier whose runtime scales with the amount of space used for the transformation. Such protocols can be ...

Only top voted, non community-wiki answers of a minimum length are eligible