@ibgib/core-gib 0.1.60 → 0.1.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/common/other/graph-helper.d.mts.map +1 -1
  3. package/dist/common/other/graph-helper.mjs +7 -6
  4. package/dist/common/other/graph-helper.mjs.map +1 -1
  5. package/dist/keystone/keystone-config-builder.d.mts +1 -2
  6. package/dist/keystone/keystone-config-builder.d.mts.map +1 -1
  7. package/dist/keystone/keystone-config-builder.mjs +4 -19
  8. package/dist/keystone/keystone-config-builder.mjs.map +1 -1
  9. package/dist/keystone/keystone-constants.d.mts +2 -1
  10. package/dist/keystone/keystone-constants.d.mts.map +1 -1
  11. package/dist/keystone/keystone-constants.mjs +2 -1
  12. package/dist/keystone/keystone-constants.mjs.map +1 -1
  13. package/dist/keystone/keystone-helpers.d.mts +28 -16
  14. package/dist/keystone/keystone-helpers.d.mts.map +1 -1
  15. package/dist/keystone/keystone-helpers.mjs +155 -76
  16. package/dist/keystone/keystone-helpers.mjs.map +1 -1
  17. package/dist/keystone/keystone-policy-types.d.mts +6 -4
  18. package/dist/keystone/keystone-policy-types.d.mts.map +1 -1
  19. package/dist/keystone/keystone-service-v1.d.mts +38 -2
  20. package/dist/keystone/keystone-service-v1.d.mts.map +1 -1
  21. package/dist/keystone/keystone-service-v1.mjs +177 -11
  22. package/dist/keystone/keystone-service-v1.mjs.map +1 -1
  23. package/dist/keystone/keystone-service-v1.respec.mjs +527 -41
  24. package/dist/keystone/keystone-service-v1.respec.mjs.map +1 -1
  25. package/dist/keystone/keystone-types.d.mts +53 -11
  26. package/dist/keystone/keystone-types.d.mts.map +1 -1
  27. package/dist/keystone/policy/keystone-profile-builder.d.mts +25 -0
  28. package/dist/keystone/policy/keystone-profile-builder.d.mts.map +1 -0
  29. package/dist/keystone/policy/keystone-profile-builder.mjs +117 -0
  30. package/dist/keystone/policy/keystone-profile-builder.mjs.map +1 -0
  31. package/dist/keystone/policy/profiles/profile-high.json +84 -0
  32. package/dist/keystone/policy/profiles/profile-low.json +84 -0
  33. package/dist/keystone/policy/profiles/profile-medium.json +84 -0
  34. package/dist/keystone/policy/profiles/profile-session.json +84 -0
  35. package/dist/keystone/policy/profiles/profile-test.json +84 -0
  36. package/dist/keystone/policy/schemas/connect-pool.high.schema.json +23 -0
  37. package/dist/keystone/policy/schemas/connect-pool.low.schema.json +23 -0
  38. package/dist/keystone/policy/schemas/connect-pool.medium.schema.json +23 -0
  39. package/dist/keystone/policy/schemas/keystone.high.schema.json +26 -0
  40. package/dist/keystone/policy/schemas/keystone.low.schema.json +26 -0
  41. package/dist/keystone/policy/schemas/keystone.medium.schema.json +26 -0
  42. package/dist/keystone/policy/schemas/manage-pool.high.schema.json +23 -0
  43. package/dist/keystone/policy/schemas/manage-pool.low.schema.json +23 -0
  44. package/dist/keystone/policy/schemas/manage-pool.medium.schema.json +23 -0
  45. package/dist/keystone/policy/schemas/revoke-pool.high.schema.json +23 -0
  46. package/dist/keystone/policy/schemas/revoke-pool.low.schema.json +23 -0
  47. package/dist/keystone/policy/schemas/revoke-pool.medium.schema.json +23 -0
  48. package/dist/keystone/policy/schemas/sign-pool.high.schema.json +23 -0
  49. package/dist/keystone/policy/schemas/sign-pool.low.schema.json +23 -0
  50. package/dist/keystone/policy/schemas/sign-pool.medium.schema.json +23 -0
  51. package/dist/keystone/policy/schemas/sync-pool.high.schema.json +23 -0
  52. package/dist/keystone/policy/schemas/sync-pool.low.schema.json +23 -0
  53. package/dist/keystone/policy/schemas/sync-pool.medium.schema.json +23 -0
  54. package/dist/sync/sync-conflict-adv-multitimelines.withid.respec.d.mts +8 -0
  55. package/dist/sync/sync-conflict-adv-multitimelines.withid.respec.d.mts.map +1 -0
  56. package/dist/sync/sync-conflict-adv-multitimelines.withid.respec.mjs +582 -0
  57. package/dist/sync/sync-conflict-adv-multitimelines.withid.respec.mjs.map +1 -0
  58. package/dist/sync/sync-conflict-basic-divergence.withid.respec.d.mts +7 -0
  59. package/dist/sync/sync-conflict-basic-divergence.withid.respec.d.mts.map +1 -0
  60. package/dist/sync/sync-conflict-basic-divergence.withid.respec.mjs +274 -0
  61. package/dist/sync/sync-conflict-basic-divergence.withid.respec.mjs.map +1 -0
  62. package/dist/sync/sync-conflict-basic-multitimelines.withid.respec.d.mts +8 -0
  63. package/dist/sync/sync-conflict-basic-multitimelines.withid.respec.d.mts.map +1 -0
  64. package/dist/sync/sync-conflict-basic-multitimelines.withid.respec.mjs +322 -0
  65. package/dist/sync/sync-conflict-basic-multitimelines.withid.respec.mjs.map +1 -0
  66. package/dist/sync/sync-conflict-text-merge.withid.respec.d.mts +7 -0
  67. package/dist/sync/sync-conflict-text-merge.withid.respec.d.mts.map +1 -0
  68. package/dist/sync/sync-conflict-text-merge.withid.respec.mjs +307 -0
  69. package/dist/sync/sync-conflict-text-merge.withid.respec.mjs.map +1 -0
  70. package/dist/sync/sync-innerspace-constants.withid.respec.d.mts +8 -0
  71. package/dist/sync/sync-innerspace-constants.withid.respec.d.mts.map +1 -0
  72. package/dist/sync/sync-innerspace-constants.withid.respec.mjs +233 -0
  73. package/dist/sync/sync-innerspace-constants.withid.respec.mjs.map +1 -0
  74. package/dist/sync/sync-innerspace-deep-updates.withid.respec.d.mts +7 -0
  75. package/dist/sync/sync-innerspace-deep-updates.withid.respec.d.mts.map +1 -0
  76. package/dist/sync/sync-innerspace-deep-updates.withid.respec.mjs +233 -0
  77. package/dist/sync/sync-innerspace-deep-updates.withid.respec.mjs.map +1 -0
  78. package/dist/sync/sync-innerspace-dest-ahead.withid.respec.d.mts +7 -0
  79. package/dist/sync/sync-innerspace-dest-ahead.withid.respec.d.mts.map +1 -0
  80. package/dist/sync/sync-innerspace-dest-ahead.withid.respec.mjs +225 -0
  81. package/dist/sync/sync-innerspace-dest-ahead.withid.respec.mjs.map +1 -0
  82. package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs.map +1 -1
  83. package/dist/sync/sync-innerspace-multiple-timelines.withid.respec.d.mts +7 -0
  84. package/dist/sync/sync-innerspace-multiple-timelines.withid.respec.d.mts.map +1 -0
  85. package/dist/sync/sync-innerspace-multiple-timelines.withid.respec.mjs +235 -0
  86. package/dist/sync/sync-innerspace-multiple-timelines.withid.respec.mjs.map +1 -0
  87. package/dist/sync/sync-innerspace-partial-update.withid.respec.d.mts +7 -0
  88. package/dist/sync/sync-innerspace-partial-update.withid.respec.d.mts.map +1 -0
  89. package/dist/sync/sync-innerspace-partial-update.withid.respec.mjs +211 -0
  90. package/dist/sync/sync-innerspace-partial-update.withid.respec.mjs.map +1 -0
  91. package/dist/sync/sync-innerspace.withid.respec.d.mts +8 -0
  92. package/dist/sync/sync-innerspace.withid.respec.d.mts.map +1 -0
  93. package/dist/sync/sync-innerspace.withid.respec.mjs +260 -0
  94. package/dist/sync/sync-innerspace.withid.respec.mjs.map +1 -0
  95. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.d.mts +1 -0
  96. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.d.mts.map +1 -1
  97. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mjs +13 -4
  98. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mjs.map +1 -1
  99. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.d.mts +1 -1
  100. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.d.mts.map +1 -1
  101. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs +5 -3
  102. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs.map +1 -1
  103. package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
  104. package/dist/sync/sync-saga-coordinator.mjs +165 -145
  105. package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
  106. package/dist/sync/sync-withid.pingpong.respec.mjs +8 -8
  107. package/dist/sync/sync-withid.pingpong.respec.mjs.map +1 -1
  108. package/dist/timeline/timeline-api.d.mts.map +1 -1
  109. package/dist/timeline/timeline-api.mjs +1 -14
  110. package/dist/timeline/timeline-api.mjs.map +1 -1
  111. package/dist/witness/space/reconciliation-space/reconciliation-space-base.d.mts.map +1 -1
  112. package/dist/witness/space/reconciliation-space/reconciliation-space-base.mjs +0 -40
  113. package/dist/witness/space/reconciliation-space/reconciliation-space-base.mjs.map +1 -1
  114. package/dist/witness/space/reconciliation-space/reconciliation-space-helper.d.mts.map +1 -1
  115. package/dist/witness/space/reconciliation-space/reconciliation-space-helper.mjs +6 -6
  116. package/dist/witness/space/reconciliation-space/reconciliation-space-helper.mjs.map +1 -1
  117. package/ibgib-foundations.md +2 -1
  118. package/package.json +1 -1
  119. package/src/common/other/graph-helper.mts +7 -6
  120. package/src/keystone/README.md +34 -17
  121. package/src/keystone/docs/CRYPTANALYSIS.md +185 -0
  122. package/src/keystone/docs/architecture.md +45 -3
  123. package/src/keystone/docs/delegation.md +57 -0
  124. package/src/keystone/docs/profiles.md +124 -0
  125. package/src/keystone/keystone-config-builder.mts +3 -21
  126. package/src/keystone/keystone-constants.mts +2 -1
  127. package/src/keystone/keystone-helpers.mts +204 -81
  128. package/src/keystone/keystone-policy-types.mts +6 -4
  129. package/src/keystone/keystone-service-v1.mts +223 -11
  130. package/src/keystone/keystone-service-v1.respec.mts +596 -39
  131. package/src/keystone/keystone-types.mts +55 -9
  132. package/src/keystone/policy/IMPLEMENTATION.md +60 -0
  133. package/src/keystone/policy/README.md +94 -0
  134. package/src/keystone/policy/keystone-profile-builder.mts +131 -0
  135. package/src/keystone/policy/profiles/profile-high.json +84 -0
  136. package/src/keystone/policy/profiles/profile-low.json +84 -0
  137. package/src/keystone/policy/profiles/profile-medium.json +84 -0
  138. package/src/keystone/policy/profiles/profile-session.json +84 -0
  139. package/src/keystone/policy/profiles/profile-test.json +84 -0
  140. package/src/keystone/policy/schemas/connect-pool.high.schema.json +23 -0
  141. package/src/keystone/policy/schemas/connect-pool.low.schema.json +23 -0
  142. package/src/keystone/policy/schemas/connect-pool.medium.schema.json +23 -0
  143. package/src/keystone/policy/schemas/keystone.high.schema.json +26 -0
  144. package/src/keystone/policy/schemas/keystone.low.schema.json +26 -0
  145. package/src/keystone/policy/schemas/keystone.medium.schema.json +26 -0
  146. package/src/keystone/policy/schemas/manage-pool.high.schema.json +23 -0
  147. package/src/keystone/policy/schemas/manage-pool.low.schema.json +23 -0
  148. package/src/keystone/policy/schemas/manage-pool.medium.schema.json +23 -0
  149. package/src/keystone/policy/schemas/revoke-pool.high.schema.json +23 -0
  150. package/src/keystone/policy/schemas/revoke-pool.low.schema.json +23 -0
  151. package/src/keystone/policy/schemas/revoke-pool.medium.schema.json +23 -0
  152. package/src/keystone/policy/schemas/sign-pool.high.schema.json +23 -0
  153. package/src/keystone/policy/schemas/sign-pool.low.schema.json +23 -0
  154. package/src/keystone/policy/schemas/sign-pool.medium.schema.json +23 -0
  155. package/src/keystone/policy/schemas/sync-pool.high.schema.json +23 -0
  156. package/src/keystone/policy/schemas/sync-pool.low.schema.json +23 -0
  157. package/src/keystone/policy/schemas/sync-pool.medium.schema.json +23 -0
  158. package/src/sync/docs/security.md +54 -21
  159. package/src/sync/sync-conflict-adv-multitimelines.withid.respec.mts +706 -0
  160. package/src/sync/sync-conflict-basic-divergence.withid.respec.mts +321 -0
  161. package/src/sync/sync-conflict-basic-multitimelines.withid.respec.mts +374 -0
  162. package/src/sync/sync-conflict-text-merge.withid.respec.mts +347 -0
  163. package/src/sync/sync-innerspace-constants.withid.respec.mts +264 -0
  164. package/src/sync/sync-innerspace-deep-updates.withid.respec.mts +272 -0
  165. package/src/sync/sync-innerspace-dest-ahead.withid.respec.mts +266 -0
  166. package/src/sync/sync-innerspace-multiple-timelines.respec.mts +0 -1
  167. package/src/sync/sync-innerspace-multiple-timelines.withid.respec.mts +273 -0
  168. package/src/sync/sync-innerspace-partial-update.withid.respec.mts +249 -0
  169. package/src/sync/sync-innerspace.withid.respec.mts +265 -0
  170. package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mts +12 -4
  171. package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mts +5 -3
  172. package/src/sync/sync-saga-coordinator.mts +159 -143
  173. package/src/sync/sync-withid.pingpong.respec.mts +8 -8
  174. package/src/timeline/timeline-api.mts +1 -15
  175. package/src/timeline/timeline-api.respec.mts +3 -3
  176. package/src/witness/space/reconciliation-space/reconciliation-space-base.mts +0 -46
  177. package/src/witness/space/reconciliation-space/reconciliation-space-helper.mts +6 -5
  178. package/tsconfig.json +6 -1
  179. package/src/keystone/keystone-policy.schema.json +0 -51
  180. package/src/witness/space/reconciliation-space/reconciliation-space-base.mts.OLD.md +0 -884
  181. package/src/witness/space/reconciliation-space/reconciliation-space-helper.mts.OLD.md +0 -125
@@ -0,0 +1,84 @@
1
+ {
2
+ "$schema": "../schemas/keystone.medium.schema.json",
3
+ "metadata": {
4
+ "name": "Medium Security Profile",
5
+ "securityLevel": "medium"
6
+ },
7
+ "pools": {
8
+ "sync": {
9
+ "id": "sync",
10
+ "allowedVerbs": [
11
+ "sync"
12
+ ],
13
+ "algo": "SHA-256",
14
+ "rounds": 2,
15
+ "behavior": {
16
+ "size": 500,
17
+ "replenish": "top-up",
18
+ "selectSequentially": 5,
19
+ "selectRandomly": 5,
20
+ "targetBindingCount": 10
21
+ }
22
+ },
23
+ "manage": {
24
+ "id": "manage",
25
+ "allowedVerbs": [
26
+ "manage"
27
+ ],
28
+ "algo": "SHA-256",
29
+ "rounds": 2,
30
+ "behavior": {
31
+ "size": 500,
32
+ "replenish": "replace-all",
33
+ "selectSequentially": 5,
34
+ "selectRandomly": 5,
35
+ "targetBindingCount": 10
36
+ }
37
+ },
38
+ "revoke": {
39
+ "id": "revoke",
40
+ "allowedVerbs": [
41
+ "revoke"
42
+ ],
43
+ "algo": "SHA-256",
44
+ "rounds": 10,
45
+ "behavior": {
46
+ "size": 500,
47
+ "replenish": "delete-all",
48
+ "selectSequentially": 20,
49
+ "selectRandomly": 20,
50
+ "targetBindingCount": 0
51
+ }
52
+ },
53
+ "connect": {
54
+ "id": "connect",
55
+ "allowedVerbs": [
56
+ "connect"
57
+ ],
58
+ "algo": "SHA-256",
59
+ "rounds": 2,
60
+ "behavior": {
61
+ "size": 500,
62
+ "replenish": "top-up",
63
+ "selectSequentially": 5,
64
+ "selectRandomly": 5,
65
+ "targetBindingCount": 10
66
+ }
67
+ },
68
+ "sign": {
69
+ "id": "default",
70
+ "allowedVerbs": [
71
+ "sign"
72
+ ],
73
+ "algo": "SHA-256",
74
+ "rounds": 2,
75
+ "behavior": {
76
+ "size": 500,
77
+ "replenish": "top-up",
78
+ "selectSequentially": 5,
79
+ "selectRandomly": 5,
80
+ "targetBindingCount": 10
81
+ }
82
+ }
83
+ }
84
+ }
@@ -0,0 +1,84 @@
1
+ {
2
+ "$schema": "../schemas/keystone.low.schema.json",
3
+ "metadata": {
4
+ "name": "Session/Saga Identity Profile",
5
+ "securityLevel": "low"
6
+ },
7
+ "pools": {
8
+ "sync": {
9
+ "id": "sync",
10
+ "allowedVerbs": [
11
+ "sync"
12
+ ],
13
+ "algo": "SHA-256",
14
+ "rounds": 1,
15
+ "behavior": {
16
+ "size": 50,
17
+ "replenish": "top-up",
18
+ "selectSequentially": 2,
19
+ "selectRandomly": 2,
20
+ "targetBindingCount": 6
21
+ }
22
+ },
23
+ "manage": {
24
+ "id": "manage",
25
+ "allowedVerbs": [
26
+ "manage"
27
+ ],
28
+ "algo": "SHA-256",
29
+ "rounds": 2,
30
+ "behavior": {
31
+ "size": 50,
32
+ "replenish": "replace-all",
33
+ "selectSequentially": 2,
34
+ "selectRandomly": 2,
35
+ "targetBindingCount": 6
36
+ }
37
+ },
38
+ "revoke": {
39
+ "id": "revoke",
40
+ "allowedVerbs": [
41
+ "revoke"
42
+ ],
43
+ "algo": "SHA-256",
44
+ "rounds": 5,
45
+ "behavior": {
46
+ "size": 50,
47
+ "replenish": "delete-all",
48
+ "selectSequentially": 3,
49
+ "selectRandomly": 3,
50
+ "targetBindingCount": 0
51
+ }
52
+ },
53
+ "connect": {
54
+ "id": "connect",
55
+ "allowedVerbs": [
56
+ "connect"
57
+ ],
58
+ "algo": "SHA-256",
59
+ "rounds": 1,
60
+ "behavior": {
61
+ "size": 50,
62
+ "replenish": "top-up",
63
+ "selectSequentially": 2,
64
+ "selectRandomly": 2,
65
+ "targetBindingCount": 6
66
+ }
67
+ },
68
+ "sign": {
69
+ "id": "default",
70
+ "allowedVerbs": [
71
+ "sign"
72
+ ],
73
+ "algo": "SHA-256",
74
+ "rounds": 2,
75
+ "behavior": {
76
+ "size": 50,
77
+ "replenish": "top-up",
78
+ "selectSequentially": 2,
79
+ "selectRandomly": 2,
80
+ "targetBindingCount": 6
81
+ }
82
+ }
83
+ }
84
+ }
@@ -0,0 +1,84 @@
1
+ {
2
+ "$schema": "../schemas/keystone.low.schema.json",
3
+ "metadata": {
4
+ "name": "Test Identity Profile",
5
+ "securityLevel": "low"
6
+ },
7
+ "pools": {
8
+ "sync": {
9
+ "id": "sync",
10
+ "allowedVerbs": [
11
+ "sync"
12
+ ],
13
+ "algo": "SHA-256",
14
+ "rounds": 1,
15
+ "behavior": {
16
+ "size": 12,
17
+ "replenish": "top-up",
18
+ "selectSequentially": 1,
19
+ "selectRandomly": 1,
20
+ "targetBindingCount": 3
21
+ }
22
+ },
23
+ "manage": {
24
+ "id": "manage",
25
+ "allowedVerbs": [
26
+ "manage"
27
+ ],
28
+ "algo": "SHA-256",
29
+ "rounds": 2,
30
+ "behavior": {
31
+ "size": 12,
32
+ "replenish": "replace-all",
33
+ "selectSequentially": 1,
34
+ "selectRandomly": 2,
35
+ "targetBindingCount": 3
36
+ }
37
+ },
38
+ "revoke": {
39
+ "id": "revoke",
40
+ "allowedVerbs": [
41
+ "revoke"
42
+ ],
43
+ "algo": "SHA-256",
44
+ "rounds": 5,
45
+ "behavior": {
46
+ "size": 12,
47
+ "replenish": "delete-all",
48
+ "selectSequentially": 3,
49
+ "selectRandomly": 3,
50
+ "targetBindingCount": 0
51
+ }
52
+ },
53
+ "connect": {
54
+ "id": "connect",
55
+ "allowedVerbs": [
56
+ "connect"
57
+ ],
58
+ "algo": "SHA-256",
59
+ "rounds": 1,
60
+ "behavior": {
61
+ "size": 12,
62
+ "replenish": "top-up",
63
+ "selectSequentially": 1,
64
+ "selectRandomly": 1,
65
+ "targetBindingCount": 3
66
+ }
67
+ },
68
+ "sign": {
69
+ "id": "default",
70
+ "allowedVerbs": [
71
+ "sign"
72
+ ],
73
+ "algo": "SHA-256",
74
+ "rounds": 2,
75
+ "behavior": {
76
+ "size": 20,
77
+ "replenish": "top-up",
78
+ "selectSequentially": 1,
79
+ "selectRandomly": 1,
80
+ "targetBindingCount": 3
81
+ }
82
+ }
83
+ }
84
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "HighSecurityConnectPool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "connect" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "connect" } },
8
+ "algo": { "type": "string", "const": "SHA-512" },
9
+ "rounds": { "type": "integer", "minimum": 4 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 2000 },
14
+ "replenish": { "type": "string", "const": "top-up" },
15
+ "selectSequentially": { "type": "integer", "minimum": 10 },
16
+ "selectRandomly": { "type": "integer", "minimum": 10 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 16 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "LowSecurityConnectPool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "connect" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "connect" } },
8
+ "algo": { "type": "string", "const": "SHA-256" },
9
+ "rounds": { "type": "integer", "minimum": 1 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 12 },
14
+ "replenish": { "type": "string", "const": "top-up" },
15
+ "selectSequentially": { "type": "integer", "minimum": 1 },
16
+ "selectRandomly": { "type": "integer", "minimum": 1 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 3 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "MediumSecurityConnectPool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "connect" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "connect" } },
8
+ "algo": { "type": "string", "enum": ["SHA-256", "SHA-512"] },
9
+ "rounds": { "type": "integer", "minimum": 2 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 500 },
14
+ "replenish": { "type": "string", "const": "top-up" },
15
+ "selectSequentially": { "type": "integer", "minimum": 5 },
16
+ "selectRandomly": { "type": "integer", "minimum": 5 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 10 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "HighSecurityKeystoneProfile",
4
+ "type": "object",
5
+ "properties": {
6
+ "metadata": {
7
+ "type": "object",
8
+ "properties": {
9
+ "name": { "type": "string" },
10
+ "securityLevel": { "type": "string", "const": "high" }
11
+ }
12
+ },
13
+ "pools": {
14
+ "type": "object",
15
+ "properties": {
16
+ "sync": { "$ref": "./sync-pool.high.schema.json" },
17
+ "manage": { "$ref": "./manage-pool.high.schema.json" },
18
+ "revoke": { "$ref": "./revoke-pool.high.schema.json" },
19
+ "connect": { "$ref": "./connect-pool.high.schema.json" },
20
+ "sign": { "$ref": "./sign-pool.high.schema.json" }
21
+ },
22
+ "required": ["sync", "manage", "revoke", "connect", "sign"]
23
+ }
24
+ },
25
+ "required": ["pools"]
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "LowSecurityKeystoneProfile",
4
+ "type": "object",
5
+ "properties": {
6
+ "metadata": {
7
+ "type": "object",
8
+ "properties": {
9
+ "name": { "type": "string" },
10
+ "securityLevel": { "type": "string", "const": "low" }
11
+ }
12
+ },
13
+ "pools": {
14
+ "type": "object",
15
+ "properties": {
16
+ "sync": { "$ref": "./sync-pool.low.schema.json" },
17
+ "manage": { "$ref": "./manage-pool.low.schema.json" },
18
+ "revoke": { "$ref": "./revoke-pool.low.schema.json" },
19
+ "connect": { "$ref": "./connect-pool.low.schema.json" },
20
+ "sign": { "$ref": "./sign-pool.low.schema.json" }
21
+ },
22
+ "required": ["sync", "manage", "revoke", "connect", "sign"]
23
+ }
24
+ },
25
+ "required": ["pools"]
26
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "MediumSecurityKeystoneProfile",
4
+ "type": "object",
5
+ "properties": {
6
+ "metadata": {
7
+ "type": "object",
8
+ "properties": {
9
+ "name": { "type": "string" },
10
+ "securityLevel": { "type": "string", "const": "medium" }
11
+ }
12
+ },
13
+ "pools": {
14
+ "type": "object",
15
+ "properties": {
16
+ "sync": { "$ref": "./sync-pool.medium.schema.json" },
17
+ "manage": { "$ref": "./manage-pool.medium.schema.json" },
18
+ "revoke": { "$ref": "./revoke-pool.medium.schema.json" },
19
+ "connect": { "$ref": "./connect-pool.medium.schema.json" },
20
+ "sign": { "$ref": "./sign-pool.medium.schema.json" }
21
+ },
22
+ "required": ["sync", "manage", "revoke", "connect", "sign"]
23
+ }
24
+ },
25
+ "required": ["pools"]
26
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "HighSecurityManagePool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "manage" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "manage" } },
8
+ "algo": { "type": "string", "const": "SHA-512" },
9
+ "rounds": { "type": "integer", "minimum": 4 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 2000 },
14
+ "replenish": { "type": "string", "enum": ["top-up", "replace-all"] },
15
+ "selectSequentially": { "type": "integer", "minimum": 10 },
16
+ "selectRandomly": { "type": "integer", "minimum": 10 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 16 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "LowSecurityManagePool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "manage" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "manage" } },
8
+ "algo": { "type": "string", "const": "SHA-256" },
9
+ "rounds": { "type": "integer", "minimum": 2 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 10 },
14
+ "replenish": { "type": "string", "enum": ["top-up", "replace-all"] },
15
+ "selectSequentially": { "type": "integer", "minimum": 1 },
16
+ "selectRandomly": { "type": "integer", "minimum": 1 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 3 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "MediumSecurityManagePool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "manage" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "manage" } },
8
+ "algo": { "type": "string", "enum": ["SHA-256", "SHA-512"] },
9
+ "rounds": { "type": "integer", "minimum": 2 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 500 },
14
+ "replenish": { "type": "string", "enum": ["top-up", "replace-all"] },
15
+ "selectSequentially": { "type": "integer", "minimum": 5 },
16
+ "selectRandomly": { "type": "integer", "minimum": 5 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 10 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "HighSecurityRevokePool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "revoke" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "revoke" } },
8
+ "algo": { "type": "string", "const": "SHA-512" },
9
+ "rounds": { "type": "integer", "minimum": 20 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 2000 },
14
+ "replenish": { "type": "string", "const": "delete-all" },
15
+ "selectSequentially": { "type": "integer", "minimum": 50 },
16
+ "selectRandomly": { "type": "integer", "minimum": 50 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 0 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "LowSecurityRevokePool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "revoke" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "revoke" } },
8
+ "algo": { "type": "string", "const": "SHA-256" },
9
+ "rounds": { "type": "integer", "minimum": 5 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 12 },
14
+ "replenish": { "type": "string", "const": "delete-all" },
15
+ "selectSequentially": { "type": "integer", "minimum": 3 },
16
+ "selectRandomly": { "type": "integer", "minimum": 3 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 0 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "MediumSecurityRevokePool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "revoke" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "revoke" } },
8
+ "algo": { "type": "string", "enum": ["SHA-256", "SHA-512"] },
9
+ "rounds": { "type": "integer", "minimum": 10 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 200 },
14
+ "replenish": { "type": "string", "const": "delete-all" },
15
+ "selectSequentially": { "type": "integer", "minimum": 20 },
16
+ "selectRandomly": { "type": "integer", "minimum": 20 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 0 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "HighSecuritySignPool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "default" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "sign" } },
8
+ "algo": { "type": "string", "const": "SHA-512" },
9
+ "rounds": { "type": "integer", "minimum": 4 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 1000 },
14
+ "replenish": { "type": "string", "const": "top-up" },
15
+ "selectSequentially": { "type": "integer", "minimum": 10 },
16
+ "selectRandomly": { "type": "integer", "minimum": 10 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 16 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "LowSecuritySignPool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "default" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "sign" } },
8
+ "algo": { "type": "string", "const": "SHA-256" },
9
+ "rounds": { "type": "integer", "minimum": 2 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 20 },
14
+ "replenish": { "type": "string", "const": "top-up" },
15
+ "selectSequentially": { "type": "integer", "minimum": 1 },
16
+ "selectRandomly": { "type": "integer", "minimum": 1 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 3 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "MediumSecuritySignPool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "default" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "sign" } },
8
+ "algo": { "type": "string", "enum": ["SHA-256", "SHA-512"] },
9
+ "rounds": { "type": "integer", "minimum": 2 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 200 },
14
+ "replenish": { "type": "string", "const": "top-up" },
15
+ "selectSequentially": { "type": "integer", "minimum": 5 },
16
+ "selectRandomly": { "type": "integer", "minimum": 5 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 10 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "HighSecuritySyncPool",
4
+ "type": "object",
5
+ "properties": {
6
+ "id": { "type": "string", "const": "sync" },
7
+ "allowedVerbs": { "type": "array", "items": { "const": "sync" } },
8
+ "algo": { "type": "string", "const": "SHA-512" },
9
+ "rounds": { "type": "integer", "minimum": 4 },
10
+ "behavior": {
11
+ "type": "object",
12
+ "properties": {
13
+ "size": { "type": "integer", "minimum": 2000 },
14
+ "replenish": { "type": "string", "const": "top-up" },
15
+ "selectSequentially": { "type": "integer", "minimum": 10 },
16
+ "selectRandomly": { "type": "integer", "minimum": 10 },
17
+ "targetBindingCount": { "type": "integer", "minimum": 16 }
18
+ },
19
+ "required": ["size", "replenish", "selectSequentially", "selectRandomly", "targetBindingCount"]
20
+ }
21
+ },
22
+ "required": ["id", "allowedVerbs", "algo", "rounds", "behavior"]
23
+ }