On 5/18/2011 3:27 AM, G S wrote:
    I'm probably being obtuse here, but I don't see how encrypting your
    request with a public key would help you with your original problem.

    What stops a rogue app from doing the same encryption?


They can't see what the parameters are.  So what are they going to encrypt?

I think you're missing the point, or I'm misunderstanding what you mean by "parameters". Your stated problem was to detect whether a request was originating from your app or not. No solution to this will work unless somehow your app can do something that a fake/spam app cannot do.

Your solution was:

> 1. Generate a random key and initialization vector to encrypt
> the block of text.

So a rogue app can generate its own block of text, presumably containing the spam or what not, and it can also certainly generate a random key and IV.

> 2. Encrypt that random key with the RSA public key.

A rogue app can do this unless you can somehow keep the public key private. This may be possible, but most likely an attacker could extract the key from your application.

> 3. Encrypt the data payload with the random key and IV,
> using Blowfish or other encryption.

Surely an attacker can do this.

> 4. Send the encrypted data payload, encrypted random key, and IV to
> the server for decryption.

Again, no reason an attacker can't do this.

So either I'm misunderstanding you, or your method won't actually do anything. Or is the thinking that an attacker won't be able to extract the public key? Or is that an attacker wouldn't be able to figure out how to format the parameters?

DS

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to