- From: Anders Rundgren <notifications@github.com>
- Date: Wed, 13 Dec 2017 05:29:49 +0000 (UTC)
- To: w3c/webpayments-methods-tokenization <webpayments-methods-tokenization@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/webpayments-methods-tokenization/issues/23@github.com>
This is actually an attempt getting feedback on a generic proposal I'm working on. I believe that it could be used in your application as well... The current scheme called [JCS](https://cyberphone.github.io/doc/security/jcs.html) offers clear text JSON signatures like this: ```json { "merchantId": "m678", "amount": "23.45", "signature": { "algorithm": "ES256", "publicKey": { "kty": "EC", "crv": "P-256", "x": "PxlJQu9Q6dOvM4LKoZUh2XIe9-pdcLkvKfBfQk11Sb0", "y": "6IDquxrbdq5ABe4-HQ78_dhM6eEBUbvDtdqK31YfRP8" }, "value": "i_7gV4ohCuhyXnWelbWgbqidJwvVUipnkL8Fc6JdqeLsUuo4Go9Ho-E3aS7EjQNoOYjOBo2SMpaTRjms3iPSUw" } } ``` where `"merchantId"` and `"amount"` are signed. The proposal for adding support for unsigned data (_without forcing the signed data to move one level down to a separate object_), is introducing an `"excluded"` property holding an array of properties that should be _excluded_ in the signature process: ```json { "merchantId": "m678", "amount": "23.45", "someOtherData": "whatever", "signature": { "excluded": ["someOtherData"], "algorithm": "ES256", "publicKey": { "kty": "EC", "crv": "P-256", "x": "PxlJQu9Q6dOvM4LKoZUh2XIe9-pdcLkvKfBfQk11Sb0", "y": "6IDquxrbdq5ABe4-HQ78_dhM6eEBUbvDtdqK31YfRP8" }, "value": "3WoTsrMNAyf3ayfHoE-H_W334Ef0N9lASbK_2IOiQVqRPAe0Ff0ibVJGHq37386sG8bDkS5E0pOhD7NaIKSegw" } } ``` That is, the `"excluded"` property itself as well as the properties it refers to (here `"someOtherData"`) would be excluded from the signature canonicalization/normalization process. You can safely delete them from the JSON object after consumption and the signature should validate anyway. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/webpayments-methods-tokenization/issues/23
Received on Wednesday, 13 December 2017 05:30:18 UTC