  Assurance cases are often required to certify critical systems. The use of
formal methods in assurance can improve automation, increase confidence, and
overcome errant reasoning. However, assurance cases can never be fully
formalised, as the use of formal methods is contingent on models that are
validated by informal processes. Consequently, assurance techniques should
support both formal and informal artifacts, with explicated inferential links
between them. In this paper, we contribute a formal machine-checked interactive
language, called Isabelle/SACM, supporting the computer-assisted construction
of assurance cases compliant with the OMG Structured Assurance Case Meta-Model.
The use of Isabelle/SACM guarantees well-formedness, consistency, and
traceability of assurance cases, and allows a tight integration of formal and
informal evidence of various provenance. In particular, Isabelle brings a
diverse range of automated verification techniques that can provide evidence.
To validate our approach, we present a substantial case study based on the
Tokeneer secure entry system benchmark. We embed its functional specification
into Isabelle, verify its security requirements, and form a modular security
case in Isabelle/SACM that combines the heterogeneous artifacts. We thus show
that Isabelle is a suitable platform for critical systems assurance.
