DuoKey

Microsoft 365 Double Key Encryption

DuoKey vs Cosmian

Cosmian KMS, now documented as Eviden KMS, exposes DKE endpoints from a KMS server the customer runs on premises or as a marketplace VM in its own cloud account. DuoKey is a Swiss DKE service operated by DuoKey (ISO 27001, SOC 2, TISAX AL3) or deployed on your own infrastructure, with keys protected by Multi-Party Computation or an HSM backend.

DuoKey

30 / 33

Cosmian

9 / 33

Compared capabilities supported, based on public documentation.

Only DuoKey

  • 24/7 support with SLA response times
  • Evaluation or trial licence
  • Decrypt authorized by Entra ID groups
  • Multi-tenant and partner (B2B) tenants
  • Fine-grained administrator RBAC
  • Quorum (four-eyes) approval
  • Contextual access on key use
  • Built-in monitoring dashboard
  • Block rules that override allows
  • Tamper-evident audit log
  • Optional mTLS on decrypt calls
  • Built-in end-to-end key test
  • Multi-site or geo-redundant deployment
  • Key backup and recovery procedure
  • Rotation without a new Purview label
  • Vendor-hosted DKE service (SaaS)
  • Automatic Entra ID app registration
  • No end-of-life runtime or OS
  • FIPS 140 Level 3 key storage
  • Key never assembled in one place
  • Vendor ISO/IEC 27001 certified
  • Customer chooses the hosting region

Feature by feature

DuoKey and Cosmian, side by side

CapabilityDuoKeyCosmian

Vendor and support

124/7 support with SLA response times

Round-the-clock support with contractual response times for critical incidents.

Yes24/7 on Platinum, 1-hour critical responseSource
Not documentedOnly GitHub Issues documentedSource

2Evaluation or trial licence

A free trial or proof-of-concept licence to test before buying.

YesFree 30-day proof of conceptSource
PartialSource-available downloads; no trial termsSource

Microsoft DKE coverage

3Native Microsoft 365 DKE endpoint

Serves the Microsoft GetKey and Decrypt calls used by Word, Excel, PowerPoint and Outlook.

YesOffice for Windows onlySource

4Decrypt authorized by Entra ID groups

The key service itself restricts decryption to members of directory groups or roles.

YesEntra ID or Okta group rulesSource
PartialEntra ID token checked; per-user key grantsSource

5Multi-tenant and partner (B2B) tenants

One key service shared with several Entra ID tenants or external partners.

Not documented

Administration and access control

6Admin SSO and MFA

Administrators sign in through the corporate identity provider with multi-factor authentication.

YesOIDC, TOTP and passkeysSource
YesOIDC with optional TOTPSource

7Fine-grained administrator RBAC

Custom roles and permissions scoped to keys, services or organisational units.

YesRoles scoped to organisational unitsSource
PartialOperator and CryptoOfficer rolesSource

8Quorum (four-eyes) approval

Sensitive key operations need approval from several administrators.

YesM-of-N on key and vault deletion, vault rotationSource
PartialKey ceremony to activate CryptoOfficerSource

9Contextual access on key use

Decrypt allowed or denied by IP range, country or time of day.

YesIP, country and time rulesSource
Not documentedNo IP, country or time rulesSource

Monitoring

10Audit logs exported to a SIEM

Key and admin events forwarded to Splunk, Sentinel, QRadar or syslog.

YesSplunk, Sentinel, QRadar, syslog/CEFSource
YesCEF over syslog, Splunk, QRadarSource

11Built-in monitoring dashboard

Health and usage dashboard shipped with the product.

YesPer-service health, GetKey and Decrypt countersSource
PartialGrafana with the monitoring stackSource

12SNMP monitoring

SNMP polling or traps for the operations team.

Not documentedNot in public docs
Not documented

Zero Trust and audit

28Access rules changed live

DKE access rules are edited in a UI or API and apply at once, without config files or redeployment.

YesPolicies apply without restartSource
YesPer-user key grants via ckms or UISource

29Block rules that override allows

Explicit deny rules to cut decrypt access for a user, group, network or country during an incident.

YesBypass > Block > Allow > default denySource
PartialRevoke a user's key grantSource

30Several identity providers

Entra ID plus Okta, Keycloak or other OIDC providers for sign-in and group-based rules.

YesEntra ID, Okta, Keycloak and other OIDCSource
YesPlatform: several JWT providersSource

31Tamper-evident audit log

Each audit record is signed or hash-chained, so edits and deletions are detectable.

YesHMAC-SHA256 per record plus SHA-256 chainSource
PartialHash chain for KMIP, off by defaultSource

32Optional mTLS on decrypt calls

A client-certificate check on DKE decrypt calls, on top of the Entra ID token.

YesClient CA, allowed subjects, headerSource
Not documentedClient certificate is an alternative, not addedSource

33Built-in end-to-end key test

The key and backend are tested with a wrap/unwrap round-trip before the service goes live.

YesPreflight wrap/unwrap checkSource
Not documented

Availability and key lifecycle

13High-availability cluster

Active-active nodes so the key service survives a node failure.

YesN+1 Cockpit, 3+ MPC nodesSource
YesStateless nodes behind a load balancerSource

14Multi-site or geo-redundant deployment

Survives the loss of a whole data centre.

YesThree-site MPC clusterSource
Not documented

15Key backup and recovery procedure

Documented backup and restore of keys after an incident.

PartialDatabase backupsSource

16Old documents open after rotation

Content protected with a previous key version stays readable.

YesRotated keys kept decrypt-onlySource
YesWhile the old key is keptSource

17Rotation without a new Purview label

Rotating the key does not require a new label or a relabelling campaign.

YesLabel URL unchanged since Cockpit 2.0.8Source
NoNew label for each rotationSource

18Scheduled key rotation

Automatic rotation on a schedule.

Not documentedManual one-click rotation documented
PartialGeneric scheduler; DKE needs new labelSource

Hosting and deployment

19Vendor-hosted DKE service (SaaS)

The vendor runs the DKE endpoint; nothing for the customer to host.

YesOperated by DuoKeySource
Not documentedSelf-hosted or marketplace VMSource

20On-premises option

Run the whole DKE stack inside your own perimeter.

YesOpenShift or VMsSource

21Automatic Entra ID app registration

The DKE app registration is created for you instead of manual portal steps.

YesCreated through Microsoft GraphSource
NoFollow Microsoft's manual docsSource

22No end-of-life runtime or OS

The documented deployment does not depend on an unsupported framework or operating system.

YesSupported OpenShift 4.xSource
PartialUbuntu 22.04 / RHEL 9; image OS not statedSource

Key storage, compliance and exit

23FIPS 140 Level 3 key storage

Keys protected by a FIPS 140-2 or 140-3 Level 3 validated module.

YesWith an HSM backend such as SecurosysSource
PartialOpenSSL FIPS provider; level not statedSource

24Key never assembled in one place

Multi-Party Computation or threshold cryptography: no single node holds the whole key.

YesWith the MPC key backendSource
Not documented

25Vendor ISO/IEC 27001 certified

The vendor's own operations are ISO/IEC 27001 certified.

YesISO 27001, SOC 2, TISAX AL3Source
Not documented

26Customer chooses the hosting region

Pick where the key service and keys are hosted.

YesEU, Switzerland or USSource
PartialSelf-hosted or your cloud accountSource

27Key export in standard formats

Reversibility: keys can be exported through KMIP, PKCS#8 or PKCS#12.

Not documentedKeys marked non-extractableSource
YesKMIP, PKCS#8, PKCS#1Source

Why teams choose DuoKey

Key differences with Cosmian

01

Zero Trust beyond the token

Since Cosmian KMS 5.22 (May 2026) the DKE endpoints sit behind the KMS authentication stack: the Entra ID token is validated and per-user key grants apply. Rules stop there, with no group, IP, country or time conditions. DuoKey validates the token and then applies group, IP, country and time rules, with Block rules, to every decrypt.

02

Rotation without a new label

Cosmian's documented DKE rotation requires a new sensitivity label and moving users to it. DuoKey rotates without touching the label.

03

A service, not a server to run

Cosmian is self-hosted with manual Azure setup. DuoKey runs the DKE service, creates the app registration and supports partner tenants.

04

Coverage

Cosmian's DKE page limits support to Office for Windows and asks for co-authoring to stay off. DuoKey serves the standard Microsoft DKE protocol to all supported Microsoft 365 desktop apps.

What Cosmian does well

Cosmian's KMS is source-available, supports KMIP and standard key export formats, scales horizontally and exports audit logs to SIEMs. It suits teams that want to self-operate a French KMS.

FAQ

Is DuoKey an alternative to Cosmian for Microsoft 365 DKE?

Yes. DuoKey provides the customer-held second key and the DKE service that Microsoft 365 calls, operated by DuoKey or deployed on your own infrastructure.

Can I migrate from Cosmian to DuoKey?

Yes. Create a DuoKey DKE service and a sensitivity label for new content, and keep the existing Cosmian service running for documents already protected with it until they are re-labelled or reach the end of retention.

How were these criteria chosen?

They follow the sections of a customer DKE and key management RFP: support, Microsoft DKE coverage, administration, monitoring, availability, hosting, key storage and exit. Every cell links to the public document it is based on.

Evidence

Every claim on this page, sourced

Cosmian

  1. [1]github.comcriteria 1https://github.com/Cosmian/kms
  2. [2]docs.cosmian.comcriteria 2, 20https://docs.cosmian.com/key_management_system
  3. [3]docs.cosmian.comcriteria 3, 16, 17, 21https://docs.cosmian.com/key_management_system/integrations/cloud_providers/microsoft_365_double_key_encryption_dke/
  4. [4]github.comcriteria 4https://github.com/Cosmian/kms/blob/main/CHANGELOG.md
  5. [5]docs.cosmian.comcriteria 6, 30https://docs.cosmian.com/key_management_system/configuration/authentication.html
  6. [6]docs.cosmian.comcriteria 7, 8https://docs.cosmian.com/key_management_system/configuration/authorization/key_ceremony.html
  7. [7]github.comcriteria 9, 28, 29, 32https://github.com/Cosmian/kms/blob/main/crate/server/src/start_kms_server.rs
  8. [8]docs.cosmian.comcriteria 10https://docs.cosmian.com/key_management_system/configuration/siems.html
  9. [9]docs.cosmian.comcriteria 11https://docs.cosmian.com/key_management_system/configuration/monitoring-setup.html
  10. [10]docs.cosmian.comcriteria 31https://docs.cosmian.com/key_management_system/configuration/audit-logs.html
  11. [11]docs.cosmian.comcriteria 13, 15https://docs.cosmian.com/key_management_system/installation/high_availability_mode.html
  12. [12]docs.cosmian.comcriteria 18https://docs.cosmian.com/key_management_system/kmip_support/key_rotation/index.html
  13. [13]docs.cosmian.comcriteria 19, 26https://docs.cosmian.com/key_management_system/installation/marketplace_guide.html
  14. [14]docs.cosmian.comcriteria 22, 23https://docs.cosmian.com/key_management_system/certifications_and_compliance/fips.html
  15. [15]docs.cosmian.comcriteria 27https://docs.cosmian.com/key_management_system/kmip_support/formats.html

DuoKey

  1. [1]docs.duokey.comcriteria 1, 2https://docs.duokey.com/docs/why-mpc
  2. [2]docs.duokey.comcriteria 3https://docs.duokey.com/docs/double-key-encryption/cockpit-v2/overview
  3. [3]docs.duokey.comcriteria 4, 29https://docs.duokey.com/docs/double-key-encryption/cockpit-v2/access-policies
  4. [4]docs.duokey.comcriteria 5https://docs.duokey.com/docs/double-key-encryption/operations/b2b-collaboration
  5. [5]docs.duokey.comcriteria 6, 31https://docs.duokey.com/docs/cockpit/security
  6. [6]docs.duokey.comcriteria 7https://docs.duokey.com/docs/cockpit/administration
  7. [7]docs.duokey.comcriteria 8https://docs.duokey.com/docs/cockpit/key-policies
  8. [8]docs.duokey.comcriteria 9https://docs.duokey.com/docs/cockpit/access-policies
  9. [9]docs.duokey.comcriteria 10https://docs.duokey.com/docs/openshift-on-prem/security/compliance-audit
  10. [10]docs.duokey.comcriteria 11, 32, 33https://docs.duokey.com/docs/double-key-encryption/setup/dke-service-deployment
  11. [11]docs.duokey.comcriteria 28https://docs.duokey.com/docs/double-key-encryption/operations/zero-trust-access-control
  12. [12]docs.duokey.comcriteria 30https://docs.duokey.com/docs/developer/administration-api
  13. [13]docs.duokey.comcriteria 13https://docs.duokey.com/docs/openshift-on-prem/vm-deployment
  14. [14]docs.duokey.comcriteria 14https://docs.duokey.com/docs/openshift-on-prem/mpc-cluster
  15. [15]docs.duokey.comcriteria 15https://docs.duokey.com/docs/openshift-on-prem/operations/backup-recovery
  16. [16]docs.duokey.comcriteria 16, 17, 21https://docs.duokey.com/docs/double-key-encryption/cockpit-v2/dke-configuration
  17. [17]docs.duokey.comcriteria 19https://docs.duokey.com/docs/double-key-encryption/knowledgebase
  18. [18]docs.duokey.comcriteria 20, 22, 24https://docs.duokey.com/docs/openshift-on-prem/prerequisites
  19. [19]docs.duokey.comcriteria 23https://docs.duokey.com/docs/oracle-tde/overview
  20. [20]duokey.comcriteria 25https://duokey.com/en/compliance/iso-27001
  21. [21]docs.duokey.comcriteria 26https://docs.duokey.com/docs/double-key-encryption/faq
  22. [22]docs.duokey.comcriteria 27https://docs.duokey.com/docs/pkcs11-lib/function-coverage

Discuss the decisions that matter most to your security programme.

Tell us where control is difficult today. We will help you identify a practical next step.