Skip to content

API security

Generic

SC001: API specifications MUST comply with Dutch NCSC guidelines for web applications

The Dutch governmental organization NCSC (National Cyber Security Centre) has specified IT Security Guidelines for Web Applications (Dutch). The API specifications MUST comply with these guidelines.

Compliance check will be limited to a confirmation by the specifier.

Applicable roles API specifier
Standardization levels OA, TSA, FSA
Status Final
Since version 1.0.0

SC002: API implementations MUST comply with Dutch NCSC guidelines for web applications

The Dutch governmental organization NCSC (National Cyber Security Centre) has specified IT Security Guidelines for Web Applications (Dutch). The API implementations MUST comply with these guidelines.

Compliance check will be limited to a confirmation by the server developer.

Applicable roles API server developer
Standardization levels OA, TSA, FSA
Status Final
Since version 1.0.0

SC003: API deployments MUST comply with Dutch NCSC guidelines for web applications

The Dutch governmental organization NCSC (National Cyber Security Centre) has specified IT Security Guidelines for Web Applications (Dutch). The API deployments MUST comply with these guidelines.

Compliance check will be limited to a confirmation by the server deployer.

Applicable roles API server deployer
Standardization levels OA, TSA, FSA
Status Final
Since version 1.0.0

SC004: API deployments MUST comply with Dutch NCSC guidelines for Transport Layer Security

The Dutch governmental organization NCSC (National Cyber Security Centre) has specified IT Security Guidelines for Transport Layer Security (TLS). The API deployments MUST comply with these guidelines.

Compliance check will be limited to a confirmation by the server deployer.

Applicable roles API server deployer
Standardization levels OA, TSA, FSA
Status Final
Since version 1.0.0

Sub-requirements

  • SC004.001: The status of used TLS versions, algorithms, key size & choice of groups and options SHOULD at least be Sufficient
    • The secure configuration of TLS is important to secure network connections. TLS has secure and less secure settings. Legacy software does not always support the most secure settings. Use Good settings when possible and complement these with Sufficient settings to support legacy software. Do you need to support a lot of legacy software? Then use a broad palette of Sufficient settings and complement it with Good settings where possible. Use Phase out settings only whilst you have a further need for client compatibility and set clear criteria for their deprecation. Do not use Insufficient settings.

SC005: An API MUST provide audit logging conforming to NEN 7513

The audit logging should conform to what is described in NEN 7513, at least the content matches to what is described in the same NEN 7513.

Applicable roles API server deployer
Standardization levels OA, TSA, FSA
Status Final
Since version 1.0.0

SC006: Specifications for 'System APIs' MUST use authentication and authorization models that are not specific to a use case or (type of) client or user

To ensure the disconnection between System APIs and other types of APIs, the authentication and authorization models used by System APIs cannot be specific to a use case or (type of) client or user.

Applicable roles API specifier
Standardization levels TSA, FSA
Status Final
Since version 1.0.0

SC007: APIs MUST use fully standardized models for identification and authentication

Applicable roles API specifier
Standardization levels FSA
Status Final
Since version 1.0.0

SC008: All tokens used for client authentication MUST be signed using asymmetrical encryption

Applicable roles API specifier
Standardization levels TSA, FSA
Status Final
Since version 1.0.0

SC009: When generic services/functions are nationally prescribed for use, APIs MUST use these generic services/functions

Applicable roles API specifier
Standardization levels TSA, FSA
Status Final
Since version 1.0.0

Examples

Examples of generic services/functions could be:

  • Patient Consent
  • Addressing
  • Authorization models

SOAP

SC-S001: APIs SHOULD use WS-Security to ensure message confidentiality and integrity for adding security tokens

Applicable roles API specifier
Standardization levels TSA, FSA
Status Final
Since version 1.0.0

SC-S002: APIs SHOULD use the SAML Token Security Model

SAML is commonly used in SOAP APIs.

Applicable roles API specifier
Standardization levels TSA, FSA
Status Final
Since version 1.0.0

RESTful

SC-R001: APIs MUST comply with RFC 7523 or its successor for client authentication and for requesting OAuth 2 access tokens

RFC 7523 describes the JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants.

Applicable roles API specifier
Standardization levels TSA, FSA
Status Final
Since version 1.0.0

SC-R002: APIs SHOULD use OpenID Connect to achieve Single-Sign-On when requesting OAuth access tokens

As far as existing regulations allow.

Applicable roles API specifier
Standardization levels TSA, FSA
Status Final
Since version 1.0.0

SC-R003: JWT tokens used for client authentication and authorization grants MUST comply with RFC 7515 and RFC 7518, or its successors

RFC 7515 describes the JSON Web Signature (JWS), a data structure representing a digitally signed or MACed (Message Authentication Codes) message.

RFC 7518 describes the JSON Web Algorithms (JWA).

Applicable roles API specifier
Standardization levels TSA, FSA
Status Final
Since version 1.0.0