Appendix 3.B Departures from MS-DTYP

KACS uses the binary formats MS-DTYP specifies, so a descriptor authored by a Windows domain controller and replicated through Samba is evaluated without translation. PCDS specifies those formats normatively.

Evaluator behaviour is a separate question. Given the same token, descriptor and desired mask, KACS generally reaches the same decision MS-DTYP describes — which is what makes policy authored in an AD environment behave predictably here — but it departs deliberately in the following places.

AreaDepartureWhy
Conditional ACE @Local.Resolved from an AccessCheck parameter rather than a token fieldThe context is per-call and varies between checks.
Virtual groups in expressionsMember_of({S-1-3-4}) returns true for the ownerKeeps the SID matcher and the expression evaluator semantically consistent.
INT64/UINT64 promotionRelational operators promote between the twoWithout promotion, UINT64 claims cannot be used in conditions at all.
Member_of filteringFiltered by ACE polarity, so deny-only groups do not satisfy allow-ACE conditionsConsistent with deny-only group semantics everywhere else.
Exists scopeExtended to all four attribute namespacesNo reason to restrict existence tests to Local and Resource.
ACE mask mappingACE masks are mapped through GenericMapping at evaluation timeRequired for GENERIC_ALL in central access policy recovery ACEs (§3.8.8).
MAXIMUM_ALLOWEDFirst-writer-wins for targeted and maximum-allowed requestsEliminates disagreement between "what can I do?" and "can I do this?" on a non-canonically ordered DACL.
Zero desired maskSucceeds rather than returning access denied"Asked for nothing, got nothing" is a valid answer.
Alarm ACEsRepurposed for continuous per-operation auditing (§3.8.9)Reserved but never implemented in the reference model.
Multiple scoped policy ACEsSeveral permitted per SACLAND semantics make composition safe.
Mandatory policy mutabilitymandatory_policy is immutable on the token (§3.2.2)A mutable policy reduces MIC to advisory.
Impersonation integrity ceilingEnforced unconditionally; SeImpersonatePrivilege does not bypass it (§3.5.2)MIC is a real boundary precisely because the mandatory policy is immutable.
Impersonation origin checkDroppedEliminates hidden impersonation paths.
PIP determinationKernel-only, from the binary signature, with no parent input (§3.3.2)One input, one answer, no ambiguity.
Object type list validationDuplicate GUIDs and level gaps rejected (§3.8.5)Prevents node lookup returning the wrong node and propagation becoming undefined.
Composite equalityElement-wise ordered comparisonNever over-grants.

3.B.1 Features handled elsewhere #

Several capabilities relevant to a complete security posture are not KACS's, and are named here so their absence is not mistaken for a gap. Kerberos and NTLM authentication, S4U, and credential storage and protection belong to authd, as do Resource-Based Constrained Delegation and Authentication Policies and Silos through the KDC. Active Directory replication is Samba's. Group Policy distribution goes through the registry and roles. Network share permissions belong to the Samba SMB layer. An Encrypting File System is a future service.

Edit this page