[Openid-specs-ab] Fwd: ab
John Bradley
jbradley at mac.com
Wed Apr 28 14:07:41 UTC 2010
Nat,
On Tue, Apr 27, 2010 at 11:56 AM, John Bradley <jbradley at mac.com> wrote:
There is basic PKCS7 functionality in the openssl interface for PHP.
Unfortunately the PHP interface to openSSL seems to be quite a bit behind openSSL.
PHP has a separate Hash lib that supports SHA256.
There is also phpAES that implements AES in pure PHP.
http://phpseclib.sourceforge.net/
Looking at what can reasonably be done I think the defaults should be:
Hash SHA256
Signature RSA-PSS
Symmetric encryption AES128_CBC with a IV of null bytes (the IV is only required if you are using the same secret across messages).
Asymmetric encryption of the symmetric key RSA OAEP
AES256_CBC should be recommended to implement. (This is required at LoA 4 if attributes are rated TOP SECRET)
From what I can find, PHP, Ruby, Python and Perl all support those features.
Python M2Crypto http://chandlerproject.org/bin/view/Projects/MeTooCrypto
This is a table of crypto libs for Python http://mikeivanov.com/pc/python-crypto.pdf
Perl CryptRSA http://search.cpan.org/~vipul/Crypt-RSA-1.99/lib/Crypt/RSA.pm
SHA256 http://search.cpan.org/~dido/SHA256-0.01b/SHA256.pod
AES128 http://search.cpan.org/~ttar/Crypt-OpenSSL-AES-0.02/lib/Crypt/OpenSSL/AES.pm
Ruby SHA256 is in Digest::SHA2
For AES and RSA you need the openSSL wrapper. The native libs seem to be commercial.
In 6 change to RSA-SHA256
Magic signatures wraps the data as json or XML this is not covered, are we trying to use that or the method from openID 2.0?
I am not against Magic signatures but that is not transparent.
In the request we need a required encryption algorithm.
7.4
openid.enctype
Value: (optional) Requested symmetric encryption algorithm. If openid.enckey is specified the default for enctype is AES-128-CBC
Other options are AES-256-CBC and DES-EDE3-CBC
7.9. Direct Assertion Response
Upon receipt of the Direct Assertion Request, OP MUST return either Positive or Negative Assertion as defined in [OpenID.authentication‑2.0] in the HTTPS response body with the exception of openid.invalidate_handle, openid.assoc_handle, openid.signed, which are unnecessary. At the same time, this specification defines the following variables.
openid.proofkey
Value: (optional) X.509 public key certificate presented by the user to the OP during authentication.
openid.sig
Value: (optional) The assertion will be encoded into Magic Signature [magic_signatures]Format with the parameters described in Section 6 .
Further, the payload may be encrypted. If it is encrypted, the data is formatted as follows in JSON as defined in [RFC4627] .
"encdata"
Value: Encrypted data which is base64url encoded as in [magic_signatures] .
"enckey"
Value: (Optional) The symmetric encryption key that was used for the encryption of the payload RSA-OAEP encrypted with the Public specified by the RP then base64 encoded.
"enciv"
Value: (Optional) Base64 encoded initialization vector. The default IV is null.
"enctype"
Value: (Optional) String expressing the encryption type. Default is "AES-128-CBC"
Possible values are:
"PLAIN" No encryption base64 encoding only
"AES-128-CBC" 128 bit AES encryption in CBC mode (default)
"AES-256-CBC" 256 bit AES encryption in CBC mode (required by NIST for Top Secret)
"DES-EDE3-CBC" Three Key Triple DES EDE in CBC mode (slower and less secure than AES for backwards compatibility)
"encref"
Value: (Optional) URI of the request parameter file. If openid.rpfurl was specified in the request, it is REQUIRED that this be returned . (The RP may have multiple keys)
In 8 we only say artifact is reserved we also have rpfurl and proofkey we may want to put everything under artifact.
--
Nat Sakimura (=nat)
http://www.sakimura.org/en/
http://twitter.com/_nat_en
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-ab/attachments/20100428/d303e757/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4767 bytes
Desc: not available
URL: <http://lists.openid.net/pipermail/openid-specs-ab/attachments/20100428/d303e757/attachment.p7s>
More information about the Openid-specs-ab
mailing list