summaryrefslogtreecommitdiff
path: root/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'index.html')
-rw-r--r--index.html234
1 files changed, 227 insertions, 7 deletions
diff --git a/index.html b/index.html
index 5bf5ec8..166f8de 100644
--- a/index.html
+++ b/index.html
@@ -5,6 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 2.0.26">
+<meta name="author" content="Stefan Schumacher">
<title>Security Architecture Notes and Patterns</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
<style>
@@ -434,15 +435,231 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
</style>
</head>
-<body class="article">
+<body class="article toc2 toc-left">
<div id="header">
<h1>Security Architecture Notes and Patterns</h1>
+<div class="details">
+<span id="author" class="author">Stefan Schumacher</span><br>
+<span id="email" class="email"><a href="mailto:public@cryptomancer.de">public@cryptomancer.de</a></span><br>
+<span id="revnumber">version 0.0.1,</span>
+<span id="revdate">2026/01/03, Entwurf</span>
+</div>
+<div id="toc" class="toc2">
+<div id="toctitle">Table of Contents</div>
+<ul class="sectlevel1">
+<li><a href="#_from_gnupg_keysigning_party_to_reproducile_builds_according_to_slsa4">1. From GnuPG Keysigning Party to Reproducile Builds according to SLSA4</a></li>
+<li><a href="#_dfd_keysigning_simple">2. DFD: Keysigning Simple</a></li>
+<li><a href="#_seq_keysigning_with_id_check_and_wot">3. SEQ: Keysigning with ID check and WoT</a></li>
+<li><a href="#_netbsd_releng_attack_stride">4. NetBSD RelEng Attack STRIDE</a></li>
+<li><a href="#_supply_chain_levels_for_software_artifacts">5. Supply-chain Levels for Software Artifacts</a>
+<ul class="sectlevel2">
+<li><a href="#_slsa_l1">5.1. SLSA L1</a></li>
+<li><a href="#_reproducible_builds_slsa_l4">5.2. Reproducible Builds SLSA L4</a></li>
+<li><a href="#_motivationbusiness_layer_risksecurity_overlay">5.3. Motivation/Business Layer: Risk/Security Overlay</a></li>
+</ul>
+</li>
+<li><a href="#_links">6. Links</a></li>
+</ul>
+</div>
</div>
<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>This is the pages version of Stefan Schumacher&#8217;s Codeberg Repository at <a href="https://codeberg.org/0xKaishakunin/Architecture" class="bare">https://codeberg.org/0xKaishakunin/Architecture</a></p>
+</div>
+<div class="paragraph">
+<p>It contains several architecural patterns and exercises with PlantUML with regards to modeling trust and zero trust architecture patterns</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_from_gnupg_keysigning_party_to_reproducile_builds_according_to_slsa4">1. From GnuPG Keysigning Party to Reproducile Builds according to SLSA4</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>I am trying to model implicit and explicit trust in Zero Trust Architecture diagrams for Threat Modeling.</p>
+</div>
+<div class="paragraph">
+<p>So I need to bring together the Blue Team/White Hat perspective and the Red Team/Black Hat stuff.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_dfd_keysigning_simple">2. DFD: Keysigning Simple</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="PlantUML-ModelingTrust/GnuPG-WoT-Download/100-GnuPG-Keysigning-DFD.png" alt="100 GnuPG Keysigning DFD">
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_seq_keysigning_with_id_check_and_wot">3. SEQ: Keysigning with ID check and WoT</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="PlantUML-ModelingTrust/GnuPG-WoT-Download/100-GnuPG-Keysigning-SEQ-KSP-WoT.png" alt="100 GnuPG Keysigning SEQ KSP WoT">
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_netbsd_releng_attack_stride">4. NetBSD RelEng Attack STRIDE</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The ISO Image is built, signed and uploaded to the WWW server, as well as the Signature file and checksums.</p>
+</div>
+<div class="paragraph">
+<p>Evil Black Hat hacks the webserver, and swaps the ISO image for a manipulated one with a valid Signature.</p>
+</div>
+<div class="paragraph">
+<p>The manipulated Signature verifies the fake-integrity of the manipulated ISO image, but not the authenticity.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="PlantUML-ModelingTrust/GnuPG-WoT-Download/300-NetBSD-RelEng-STRIDE.png" alt="300 NetBSD RelEng STRIDE">
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_supply_chain_levels_for_software_artifacts">5. Supply-chain Levels for Software Artifacts</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_slsa_l1">5.1. SLSA L1</h3>
+<div class="paragraph">
+<p>A simple threat model for SLSA Level 1:</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="PlantUML-ModelingTrust/GnuPG-WoT-Download/200-ThreatModel-SLSA1-DownloadSig.png" alt="200 ThreatModel SLSA1 DownloadSig">
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_reproducible_builds_slsa_l4">5.2. Reproducible Builds SLSA L4</h3>
+<div class="paragraph">
+<p>Modeling Trust, Trust Anchors and Boundaries and Attack Vectors for SLSA4:</p>
+</div>
+<div class="paragraph">
+<p>The whole process draws heavy inspiration from those implemented by NetBSD, Debian, NixOS and the Tor Browser!</p>
+</div>
<div class="olist arabic">
<ol class="arabic">
<li>
-<p><code>GetPlantUML-CheatSheets.sh</code></p>
+<p>general goals</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>Build process produces identical artefacts (bit-for-bit) from the same source and inputs</p>
+</li>
+<li>
+<p>independent parties can rebuild and verify outputs match the original &#8594; verify freedom from insider threat!</p>
+</li>
+<li>
+<p>require a deterministic build environments</p>
+</li>
+<li>
+<p>all build steps, dependencies, and tooling are tightly controlled and audited</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>security goals:</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>detect tampering in build pipelines or artefacts</p>
+</li>
+<li>
+<p>prevents hidden backdoors introduced during compilation or packaging by a malicious insider</p>
+</li>
+<li>
+<p>ensure integrity of supply chain, dependencies and build tools</p>
+</li>
+<li>
+<p>enables independent verification without trusting the original builder</p>
+</li>
+<li>
+<p>drastrically reduce insider and supply chain attack surface</p>
+</li>
+</ol>
+</div>
+</li>
+<li>
+<p>Zero Trust:</p>
+<div class="olist loweralpha">
+<ol class="loweralpha" type="a">
+<li>
+<p>never trust, always verify!</p>
+</li>
+<li>
+<p>verifiable evidence (rebuild &amp;&amp; compare)</p>
+</li>
+<li>
+<p>eliminates implicit trust in build pipeline</p>
+</li>
+<li>
+<p>build system considered untrustworthy</p>
+</li>
+<li>
+<p>combine with signed artefacts and attestation frameworks for full supply chain integrity</p>
+</li>
+</ol>
+</div>
+</li>
+</ol>
+</div>
+<div class="sect3">
+<h4 id="_the_whole_implementation">5.2.1. The whole implementation</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Trust Boundaries: Rectangles</p>
+</li>
+<li>
+<p>Attack Vectors: Red Arrows</p>
+</li>
+</ul>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="PlantUML-ModelingTrust/GnuPG-WoT-Download/201-ThreatModel-SLSA4-ReproducibleBuilds.png" alt="201 ThreatModel SLSA4 ReproducibleBuilds">
+</div>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Trust Anchor: Green Anchor</p>
+</li>
+</ul>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="PlantUML-ModelingTrust/GnuPG-WoT-Download/202-ThreatModel-SLSA4-ReproducibleBuilds-TrustAnchor.png" alt="202 ThreatModel SLSA4 ReproducibleBuilds TrustAnchor">
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_motivationbusiness_layer_risksecurity_overlay">5.3. Motivation/Business Layer: Risk/Security Overlay</h3>
+<div class="imageblock">
+<div class="content">
+<img src="PlantUML-ModelingTrust/GnuPG-WoT-Download/203-SLSA4-ReproducibleBuilds-L1-Motivation.png" alt="203 SLSA4 ReproducibleBuilds L1 Motivation">
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_links">6. Links</h2>
+<div class="sectionbody">
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p><a href="GetPlantUML-CheatSheets.sh">GetPlantUML-CheatSheets.sh</a></p>
<div class="olist loweralpha">
<ol class="loweralpha" type="a">
<li>
@@ -452,21 +669,21 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
</div>
</li>
<li>
-<p><code>PlantUML-ModelingTrust</code></p>
+<p><a href="PlantUML-ModelingTrust/README.html">PlantUML-ModelingTrust</a></p>
<div class="olist loweralpha">
<ol class="loweralpha" type="a">
<li>
-<p>Modeling Trust/Risk/Trust Anchors, Chains, and Boarders in Archimate</p>
+<p>Modeling Trust/Risk/Trust Anchors, Chains, and Boarders in Archimate, some TextBook patterns</p>
</li>
</ol>
</div>
</li>
<li>
-<p><code>PlantUML-ModelingTrust/GnuPG-WoT-Download/</code></p>
+<p><a href="PlantUML-ModelingTrust/GnuPG-WoT-Download/README.html">PlantUML-ModelingTrust/GnuPG-WoT-Download/README.html</a></p>
<div class="olist loweralpha">
<ol class="loweralpha" type="a">
<li>
-<p>A GnuPG Key Signing Party and Download Signatures (SLSA1) modeled in Archimate</p>
+<p>A GnuPG Key Signing Party and Download Signatures (SLSA1) as well as Reproducible Builds SLSA4 modeled in Archimate</p>
</li>
</ol>
</div>
@@ -474,9 +691,12 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
</ol>
</div>
</div>
+</div>
+</div>
<div id="footer">
<div id="footer-text">
-Last updated 2026-02-23 08:18:20 +0100
+Version 0.0.1<br>
+Last updated 2026-05-05 17:52:48 +0200
</div>
</div>
</body>