MEMeC methodology

CCN-STIC 2100: how MEMeC evaluates cryptographic mechanisms

CCN-STIC 2100 defines how to verify that cryptography implemented in a product uses mechanisms accepted by the CCN, operates correctly and avoids implementation flaws that could expose sensitive information.

What CCN-STIC 2100 is

CCN-STIC 2100 sets out the Cryptographic Mechanisms Evaluation Methodology (MEMeC). It provides a common method for evaluating cryptographic implementations included in products following Common Criteria, LINCE or STIC certification.

The MEMeC evaluation is performed separately and in parallel with the main process. It must not be confused with MEC, the cryptographic evaluation module integrated into the LINCE methodology.

The evaluation examines the product's actual implementation. Naming a recognised algorithm is not enough: the mechanism, its parameters, how it is called and the controls protecting keys and other sensitive parameters must be assessed.

CCN-STIC 221 lists the cryptographic mechanisms and parameters accepted by the CCN. CCN-STIC 2100 turns those criteria into evaluation tasks that verify how they are implemented and parameterised in the product.

Technical scope

What a MEMeC evaluation verifies

The methodology combines document review, implementation analysis and testing. The exact scope depends on the assigned level, but the work is organised around four areas.

Mechanisms and protocols

Primitives, constructions, protocols and declared parameters are checked against the cryptographic criteria set out in CCN-STIC 221.

Conformity testing

Test vectors are used to confirm that each mechanism returns the expected results with the evaluated parameterisation.

Implementation

The assessment looks for common pitfalls that could affect the mechanism or expose data, keys or other security parameters.

Additional controls

Depending on the level, self-tests, sensitive parameter management and protections against implementation attacks are also reviewed.

Evaluation process

From vendor inputs to the technical outcome

Section 1.5 of CCN-STIC 2100 sets out how the evaluation proceeds once the vendor inputs have been received. The work is tailored to CL1, CL2 or CL3 and to the mechanisms implemented by the product.

  1. 1. Inputs and scope

    The questionnaires, cryptographic inventory, version, interfaces and available evidence are reviewed.

  2. 2. Applicable tasks

    Mandatory tasks and those that depend on functionality present in the TOE are selected.

  3. 3. Technical evaluation

    Requirements, mechanisms and parameters, conformity, self-tests and implementation pitfalls are assessed.

  4. 4. Results documentation

    The performed tasks, evidence, results, non-conformities and remediation verification are documented.

The outcome maintains traceability between the performed tasks, reviewed evidence, tests and remediation verified during the evaluation.

MEMeC assurance levels: CL1, CL2 and CL3

CCN-STIC 2100 defines three increasing assurance levels. The selected level determines the depth of analysis and the evidence the vendor must provide.

Level 1

CL1

Checks mechanisms and protocols accepted by the CCN and runs conformity tests. A reduced vendor questionnaire is available for this level.

Level 2

CL2

Covers every task in the methodology. For sensitive parameter management, it requires evidence of secure zeroisation.

Level 3

CL3

Applies all tasks and requires evidence covering the complete lifecycle of sensitive parameters, from generation through destruction.

What the vendor must provide

Preparation matters because the laboratory needs to reach each mechanism and reproduce the tests using a known configuration. CCN-STIC 2100 identifies eight input groups that should be prepared as a coherent set.

  • Vendor questionnaire and supporting technical documentation
  • Operational and test interfaces providing access to cryptographic primitives
  • Test harnesses, scripts and instructions for conformity testing
  • Response files generated from the test vectors
  • Evidence showing that implementation pitfalls have been avoided
  • Implementation representation, including code, firmware or hardware designs where applicable
  • Vectors used by the product's cryptographic self-tests
  • A dedicated random number generation questionnaire

Issues that delay the evaluation

  • An incomplete cryptographic inventory or one that differs from the actual implementation
  • Interfaces that do not provide direct access to the primitives under test
  • Conformity tools that cannot be run from the supplied instructions
  • External libraries without enough traceability over their configuration and use
  • Missing evidence for the random number generator or cryptographic self-tests
  • Inconsistencies between the questionnaire, source code and delivered version

How CYBSER helps

We analyse the product's cryptography, establish the applicable scope and level, work with your team to prepare the documentation and test interfaces, and perform the checks defined by MEMeC.

We handle the evaluation so your team can stay focused on the product.

View MEMeC evaluation service

Related

Resources related to MEMeC

CCN-STIC 2002

Explains the LINCE methodology and its MEC module, which is distinct from the MEMeC evaluation defined in CCN-STIC 2100.

Read CCN-STIC 2002 →

CCN-STIC 106

Places evaluations within the CPSTIC qualification and inclusion procedures.

Read CCN-STIC 106 →

Consult CCN-STIC 2100

This analysis is based on CCN-STIC 2100 v1.3.3 and its annexes. You can compare it with the complete version published by the Spanish National Cryptologic Centre.

Consult CCN-STIC 2100 →

Frequently asked questions about CCN-STIC 2100 and MEMeC

What is a MEMeC evaluation?
It is an evaluation of the cryptographic mechanisms implemented in a product against CCN-STIC 2100. It examines the algorithms and protocols in use, their parameterisation, conformity test results and, depending on the level, implementation details and the management of sensitive security parameters.
When does CCN-STIC 2100 apply?
The methodology is intended for cryptographic implementations within products evaluated under Common Criteria, LINCE or STIC. MEMeC is performed as a separate evaluation in parallel with the main process. Its exact scope depends on the mechanisms included in the product and the applicable assurance level.
Are MEC and MEMeC the same evaluation?
No. MEC is the cryptographic evaluation module integrated into LINCE. MEMeC is a different methodology defined in CCN-STIC 2100 and is evaluated separately, in parallel with the LINCE, Common Criteria or STIC process, to assess the cryptography implemented in the product in greater depth.
What is the difference between CL1, CL2 and CL3?
CL1 focuses on mechanisms and protocols accepted by the CCN and on conformity testing. CL2 covers all methodology tasks and requires evidence of sensitive parameter zeroisation. CL3 also requires evidence covering the complete lifecycle of those parameters.
What does the vendor need to prepare?
The vendor must accurately identify the cryptographic implementation, complete the relevant questionnaire, provide interfaces that allow the mechanisms to be tested, prepare conformity testing tools and supply the technical evidence required for the applicable level.

Do you need to evaluate your product's cryptographic mechanisms?

We review the implementation, applicable level and required evidence to prepare and perform the MEMeC evaluation.