Add security guidance for platform-specific Origins and DC API. - #761
Add security guidance for platform-specific Origins and DC API.#761fkj wants to merge 4 commits into
Conversation
Co-authored-by: Christian Bormann <chris.bormann@gmx.de>
Co-authored-by: Christian Bormann <chris.bormann@gmx.de>
|
WG call: |
|
Outstanding task: @martijnharing to review text in this PR to ensure assumptions about platform behavior is not off. (there is no iOS implementation to verify what is in this PR.) |
|
|
||
| * The platform provides collision-resistant values when assigning Origins. | ||
| * The platform ensures that each application using the platform is assigned a unique Origin. | ||
| * The platform ensures that it transports the Origin value to the Wallet unmodified, such that values can be compared to the `expected_origins` using exact string comparison. |
There was a problem hiding this comment.
This last one only applies when it's not the platform generating the origin correct? If so, do we need to say that?
When any origin is generated (including by the platform), the generation and/or transportation of origin must be done in such a way that both the Wallet and the RP must be able to generate the (exact) same value for the origin.
There was a problem hiding this comment.
Yes, or if the platform generates any kind of "seed" that is then used to generate the origin. The difficult part is writing this in a way that does not assume anything about the way the origin is obtained by/provided to the wallet/verifier.
You're right that this is more of a "it will not work" consideration than a security consideration, so we could consider just dropping it.
|
Discussed in DCP WG call. Proposal is to remove the last line, as it add more confusion than guidance. |
I have only added the guidance to 1.1 so far, but I guess we should also add it to 1.0 as an errata.
This is purely clarification of existing expectations of the platforms.
This resolves #646.