Giter Site home page Giter Site logo

femsmahus2's Introduction

Fem små hus

Fem små hus är ett internetinfrastruktur-projekt med mål att designa och ta fram en robust infrastruktur för Internet i Sverige. Den tar avstamp i Internetmodellen med IPv6 som centralt protokoll för paketförmedling, och är baserad på en princip av att nätet ska gå fortare att laga än vad en antagonist kan ha sönder det.

English

Fem små hus, literally five small houses, is a Swedish Internet infrastructure design project. This repository belongs to the second cycle of the project, called Robust Internet.

Detta repo

I undermappar här finns (utkast) på specifikationer på delar av en robust internetinfrastruktur. Specifikationerna är skrivna i markdown (.md-filer) som med hjälp av pandoc och indirekt lualatex genererar färdiga pdf:er. De figurer som förekommer är beroende av mermaid och mermaid-cli.

Installation av beroenden

Ubuntu

Följande installerar nödvändiga beroenden på Ubuntu 22.04:

apt install -y pandoc # övergripande ramverk för att generera
apt install -y texlive-latex-base texlive-latex-extra texlive-lang-european texlive-luatex # texlive och andra beroenden
apt install -y librsvg2-bin # resurser för svg:er som behövs för att generera pdf:erna
apt install -y npm # behövs för mermaid-cli
npm install -g @mermaid-js/mermaid-cli # används för att generera figurer
node /usr/local/lib/node_modules/@mermaid-js/mermaid-cli/node_modules/puppeteer/install.js # installerar puppeteer ordentligt

MacOS

Följande installerar nödvändiga beroenden på MacOS givet att Homebrew (brew) är installerat:

brew install pandoc npm # pandoc och npm
brew install --cask tex-live-utility
npm install -g @mermaid-js/mermaid-cli # används för att generera figurer

Sedan behöver du hämta ytterligare resurser med tlmgr (dvs tex-live-utility från ovan).

sudo tlmgr install luatexbase babel-swedish biblatex fontspec hyphen-swedish

femsmahus2's People

Contributors

flindeberg avatar dansarie avatar gloinul avatar oej avatar

Stargazers

Movitz Sunar avatar  avatar Wilhelm avatar Joachim Strömbergson avatar  avatar  avatar

Watchers

 avatar Leif Johansson avatar Patrik Fältström avatar  avatar  avatar  avatar

Forkers

gloinul

femsmahus2's Issues

Essentials: T-shirt

Varje seriöst projekt kräver t-shirts. Jag har en lång tradition med sådana men slut på ideer...

IMG_8910

Colors och vlan

Vi stryker colours och att inte begränsa användningen VLAN enligt diskussion på mötet.

Kvar att göra med specifikationen

Tydliggör i Internetspecifikationen:

  • målgrupper, vilka ska tänkas läsa denna spec
  • bättre introduktion så att man förstår hur den passar in i helheten
  • figurer som introducerar hur saker hänger ihop

RFC för "colors"

På arbetsmöten har det diskuterats att det finns en RFC för standardiserad VLAN-taggning, s.k. "colors".

Vilken RFC är detta?

Integrate mobile access

Use cases

  • Fixed wireless access: A broadband router in a home
  • Mobile telephone Internet access
  • IoT box with sim card

Kryptolåda: Lista med antaganden, frågor och funderingar för lådan

Nedan följer lista med saker jag antar bör gälla, samt frågor jag ställer mig när jag funderar på kravställning systemering, design och implementation av lådan. Alla frågor behöver absolut inte vara besvarade innan man börjar spreca eller bygga. Men bra att iaf göra antaganden om vad svaret på frågor är. Vissa frågor är mycket viktigare än andra. Listan är antagligen inte heller komplett. Men listan kan förhoppningsvis vara ett stöd för att se att saker inte missas.

Mina antaganden

  • Följer, använder standardiserade funktioner, mekanismer så mycket vi kan

    • Vi ska skapa tillit till lådan, inte väcka frågor och tveksamhet
    • Vi ska inte vara för smarta och uppfinningsrika
  • Vara konservativa, men medvetna om dagens (publika) kunskaper

    • Inte använda gamla lösningar, men beprövade som litas på
    • Hellre lite för mycket säkerhet än för lite
    • Så länge vi möter prestandakrav
    • Etablerad AEAD-mod, eller iaf samma struktur
  • Det vi bygger ska gå att:

    • POC:a
    • Modellera
    • Testa (enskilda komponenter, delsystem, hela klabbet)
    • Verifiera (testbänkar för alla komponenter)
    • Granska, validera, testa av tredje part

Saker jag undrar över, vill få koll på

  • Strategi och övergripande krav, förväntningar

    • Använda mekanismer från specifika organ

      • NIST, SBI, ETSI, IETF - vilka är acceptabla?
    • Ska kunna eller tom SKA formellt valideras, certifieras?

      • FIPS 140-2 (nivå X)
      • Common Criteria
  • Öppen vs proprietär?

    • Krav för att lita på cores, SW
      • Vad litar vi på, hur skapar vi tillit?
    • Hårda funktioner i kretsar
    • Utvecklingsverktyg?
  • Öppen utveckling och transparens?

  • Hotmodell

    • Vilka skyddar vi mot?

      • Nationalstater
      • Organiserad brottslighet (ev kontrollerad av nationalstat)
      • Nyfiken
      • Bedräglig användare
      • (Grävmaskin)
    • Vilka hot och attackvektorer ska vi skydda emot

      • CIA - Selbstgeklar!
      • Läckage - timing, EM, strömförbrukning
      • Fysiska attacker
        • Stöld - (informationsläckage)
        • Probing
        • Decap
      • Tidsfönster innan upptäckt
    • Miljö där kryptolådan antas befinnas sig

      • En typ av miljö - låst serverrum med larm
      • Enklare, mer publika miljöer
      • Mobila miljöer
    • Framtida hot

      • Ska tillräckligt kapabla kvantdatorer finns med i hotbilden?
  • Användare och användningsfall (Joachims CONOPS ;-)

    • Vem ska använda kryptolådan
    • Hur ska kryptolådan kunna användas
    • Vad är målet med användningen - vad vill användaren uppnå
      • Vad är denne intresserad av att få reda på, kunna styra?
  • Sessioner
    (Etablerad säker session med sessionspecifik information - ID, nycklar etc)

    • Hur ofta kommer nya sessioner att skapas?

    • Hur lång tid ska sessioner leva?

    • Hur ska sessioner etableras

      • In line med handskakning över anslutning som ska skyddas

        • TLS (Godtycklig part kan kontakta server som tredjepart går i god för)
        • SSH (Parter lär känna varandra via handskakning)
      • Sidokanal

        • Parter känner till varandra innan handskakning (pubkeys)
        • Parter känner till delad huvudhemlighet tilldelad vid tidigare tillfälle
        • Parter känner till sessionshemligheter tilldelade inför session
    • Metadata och overhead

      • Vilken metadata ska, måste finnas för session
  • Trafiktyper för session
    (Hur ska noder kunna kommunicera med varandra)

    • En till en
    • En till flera, en till alla
    • Alla inom en grupp, alla till alla
  • Management-trafik

    • In line eller separat fysiskt interface
  • Vilken långlivad information, hemligheter ska lådan innehålla

    • Hur ska dessa hemligheter skyddas
    • Personalization - hur och när
    • Ev nyckelinjektering - hur, när, metod, handhavande
  • Nyckelgenerering, hantering, derivering och slumptal

    • Rent symmetriska nycklar eller PKI

    • Protokoll för sessionsetablering (TLS, SCP03)

    • En eller flera entropikällor

      • SP 800-90 (A..C)
      • Övervakning - BSI AIS20, AIS31
      • NIST STS
    • Derivering av sessionnycklar etc

      • HKDF
    • PW -> Key

      • SCRYPT, Argon2i
    • KEM

      • AES-KEYWRAP
    • Hur ska långlivade hemligheter lagras och skyddas

    • Hur ska (om det ska kunna ske) nycklar kunna injekteras

      • Extreheras? NEJ NEJ NEJ, eller under vilka omständigheter
  • Protokoll och standarder

    • Specifika protokoll standarder (förutom lagerspecifika dataformat) måste, bör stödjas
      • Dataplan
      • Kontrollplan
  • Versioner av kryptolådan

    • En modell - superkapabel alles mädchen
    • Flera modeller - lägre kapacitet, billigare, enklare, men funktionellt ekvivalent
      • Enklare skyddsmekanismer?
  • Kapacitet och flexibilitet

    • Datatakt(er) som minst ska kunna hanteras

      • Ev olika versioner
    • Maximal latens genom lådan för etablerad session

    • Maximal fördröjning (ns, us, ms)

    • Maximal tid för att etablera en session

    • Antalet samtidiga sessioner

    • Hantering av burstar och kapacitet för buffring vid störningar

      • Out of scope för kryptolådan? Dvs sköts av annan burk
    • Skalbarhet - ska vi ta höjd för framtida ökad prestanda eller bygger man en ny låda?

    • Agilitet vad gäller kryptofuktioner (TLS 1.2 vs Wireguard)

    • Agilitet vad gäller filtrering, protokoll

      • Hur mycket, hur avancerat?
  • Antal enheter och livslängder

    • Hur många lådor ska kunna vara i användning och prata med varandra
      • 10, 100, 1000, xxxxxxx
    • Hur lång tid ska en låda kunna vara i bruk
  • Teknologival och begränsningar

    • FPGA eller ASIC

      • Ska det tas höjd för att gå till ASIC?
    • Krav, begränsningar av leverantör av ASIC

    • Krav på skydd av FPGA-bitström

    • Behov, krav på PUF:ar?

    • Skydd av ev externt minne (buffrar)

    • Ren HW, eller HW+SW-lösning

      • SW-baserat kontrollplan för styrning, konfig, övervakning ok?
        • RISC-V-propeller
        • Skyddmekanismer för exekvering
  • Uppgradering och underhåll

    • Ok att uppgradera, eller byta ut burken
    • Vilka delar ska kunna uppgraderas
    • Krav på hur, handhavande för säker uppgradering
  • Produktion och installation

    • Var och hur ska tillverkning, montering ske
      • Skydd mot trojaner i komponenter, PCB
    • Begränsningar av leverantörer och typ av komponenter
    • Krav på slutförande och produktionstest
    • Krav på konfiguration
    • Krav på installation och operativt läge
  • Systemintegritet

    • Typ av skal, kapsling, en eller flera interna zoner
    • 'Passivt eller aktivt skalskydd (FIPS 140-2, nivå X)
    • Vart ska larm skickas och hur
      • Hur snabbt
      • Vad ska larmas för
  • Debug, monitorering, larm

    • Mätning av trafikinformation
    • Debugportar
    • Nedlåsning
  • Miljökrav

    • Matning

      • trefas, nätström, batteri (hur länge)
      • Automatiskt byte vid matningsbortfall
      • Smutsig matning, kass jordning
    • Temperaturområde vid drift

      • Krav på kylning - aktiv ok, eller passiv
      • Effektbudget
    • Väder

      • Fukt, dränkning (maxtryck)
      • Stark sol
    • Robusthet

      • Vibrationer
      • Slag, stötar, fall
    • Störningar

      • EM

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.