You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/man/policy/kas-grants/_index.md
+75-2Lines changed: 75 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,14 @@ they can be assigned grants to various attribute objects (namespaces, definition
15
15
16
16
> See `kas-registry` command within `policy` to manage the KASs known to the platform.
17
17
18
-
Grants are utilized by the platform at two important points when engaging with a TDF.
18
+
Key Access Grants are associations between a registered KAS (see KAS Registry docs) and an Attribute.
19
+
20
+
An attribute can be assigned a KAS Grant on its namespace, its definition, or any one of its values.
21
+
22
+
Grants enable key split behaviors on TDFs with attributes, which can be useful for various collaboration scenarios around shared policy.
23
+
24
+
> [!WARNING]
25
+
> KAS Grants are considered experimental, as grants to namespaces are not fully utilized within encrypt/decrypt flows at present.
19
26
20
27
## Utilization
21
28
@@ -26,7 +33,7 @@ is found to be permissible):
26
33
1. look up the attributes on the TDF within the platform
27
34
2. find any associated grants for those attributes' values, definitions, namespaces
28
35
3. retrieve the public key of each KAS granted to those attribute objects
29
-
4. determine based on the specificity matrix below which keys to utilize
36
+
4. determine based on the specificity matrix below which keys to utilize in splits
30
37
31
38
## Specificity
32
39
@@ -47,3 +54,69 @@ Grants to Attribute Objects:
47
54
48
55
> Note:
49
56
> A namespace grant may soon be required with deprecation of a default KAS/platform key.
57
+
58
+
## Split Scenarios
59
+
60
+
### AnyOf Split
61
+
62
+
`Bob` and `Alice` want to share data equally, but maintain their ability to decrypt the data without sharing each other’s private keys.
63
+
64
+
With KAS Grants, they can define a key split where the shared data is wrapped with both of their public keys and AnyOf logic, meaning that each partner could decrypt the data with just one of those keys.
65
+
66
+
If `Bob` assigns a grant between Bob's running/registered KAS to a known attribute value, and `Alice` defines a grant of Alice's running/registered KAS to the same attribute value,
67
+
any data encrypted in a TDF will be decryptable with a key released by _either_ of their Key Access Servers.
Unlike the `AnyOf` split above, this time `Bob` and `Alice` want to make sure _both_ of their keys must be granted for data in a TDF
93
+
to be decrypted. With KAS Grants, they can define a key split where the shared data is wrapped with both of their public keys and
94
+
AllOf logic, meaning that neither partner can decrypt the data with just one of those keys.
95
+
96
+
To accomplish this, they each define KAS Grants between their KASes and policy attributes, and TDF data with at least two attributes -
97
+
one assigned a KAS Grant to Bob's KAS and another assigned a KAS Grant to Alice's KAS.
98
+
99
+
Both KASes will need to permit access and release payload keys for the data TDF'd with multiple attributes assigned KAS Grants to be accessible and decrypted.
0 commit comments