diff --git a/spec/VISSv2_Core.html b/spec/VISSv2_Core.html index e763706..7ec690d 100644 --- a/spec/VISSv2_Core.html +++ b/spec/VISSv2_Core.html @@ -1002,7 +1002,7 @@
- The request shall contain the Context and Proof parameters below, the other two are optional: + The request shall contain the Context and Proof parameters below, the others are optional:
This section is non-normative.
- The client actor is characterized by three subactors:
+ The client context contains a client actor that is characterized by three subactors:
{"purposes":
[{"short": "fuel-status",
@@ -1732,6 +1732,78 @@ Access Control Selection
+
+ Consent support
+ This section is non-normative.
+
+ Handling of consent involves vehicle and cloud architectural subsystems that is out of scope in VISSv2.
+ However, a VISSv2 vehicle server has a capability to enforce consent results, i. e. to allow or block access to requested data.
+ This can be leveraged in a model where the server receives consent results from an “External Consent Framework” (ECF) and uses that information to either grant client requests,
+ or not, for data that is consent protected. How the ECF obtains the consent status is out-of-scope in this specification.
+ A secure, local communication channel exists between the in-vehicle ECF and the server as shown in the figure below,
+ over which the server can inquire about the consent status for data requested by a client.
+
+ The ECF is responsible for the lifetime management of the consent status for all data that is managed by the server, which may involve initialization,
+ expiry update, event based update, consent status removal.
+ The consent status that the ECF provides to the server is associated with an expiry time, which when reached leads to that the status shall be treated as NOT_SET,
+ which must be enforced by the server.
+ The consent status can be set to any of the following values:
+
+ - NOT_SET // the server must request the ECF for the status. Unless an immediate ECF response is given,
+ the server must deny any client request with an error code that shows the reason.
+ - NO // the server must deny any client request with an error code that shows the reason.
+ - IN_VEHICLE // the server shall serve the client request. The client is not allowed to off-board the data.
+ - YES // the server shall serve the client request. The client is allowed to off-board the data.
+
+ Regardless of the value of the consent status, if the associated expiry time is exceeded, the server shall treat the consent status as if it had the value NOT_SET.
+ It shall be possible for the ECF to cancel a valid consent, which shall lead to the consent status being set to NOT_SET.
+ Any consequences to the data provided to the client prior to the cancelling is out of scope.
+ The expiry time shall have the timestamp format defined in chapter 5.3 Timestamps.
+ In the case of a client request requiring a consent for data to be returned, it is the responsibility of the
+ access token server to obtain it from the ECF during the dialogue with a client requesting an access token.
+ This is done by issuing a request to the ECF which shall contain the following information:
+
+ - The requested data.
+ - The purpose of the request.
+ - The client context.
+
+ The response from the ECF shall contain:
+
+ - Consent status.
+ - Expiry time of the consent.
+
+ If the received consent status is set to NO or NOT_SET, then the access token server must not provide a valid access token to the requesting client.
+ The server must store the consent status that it receives from the ECF, together with the data from the request, for the duration set by the expiry time.
+ Whether a server shall take action to obtain a consent or not shall be signalled in the VSS tree.
+ This is done by tagging appropriate nodes in the VSS tree extending the model used for access control selection.
+ The key-value pair used for tagging of access control is suffixed with "+consent" as shown in the example below:
+
+ - "validate":"read-write+consent"
+
+ The consent tagging follows the same inheritance rules as defined for the access control tagging.
+
+
+
+ External Consent Framework Interface
+
+ A server receiving a client request that involves obtaining a consent status shall send a request to the ECF
+ on which it shall receive a response cintaining the consent status.
+
+ The request shall contain the data from the list in the previous chapter.
+
+ The response shall contain the following data:
+
+ - The consent status.
+ - The expiry time of the consent status.
+
+ This communication shall be carried out using a secure channel (e.g. TLS).
+
+
+
+
diff --git a/spec/images/consent-architecture.jpg b/spec/images/consent-architecture.jpg
new file mode 100644
index 0000000..9b9d095
Binary files /dev/null and b/spec/images/consent-architecture.jpg differ