Gastles 3: ICT security & Blockchain Flashcards
Wat is de pragmatische definitie van information security? (3)
ICA:
- Integriteit: complete, accurate en geldige data
- Confidentialiteit: restrictie op delen v informatie?
- Availability: zijn er back-ups beschikbaar in nood?
Geeft de kwaliteit van het informatie systeem aan
Hoe maak je een infromatie systeem zo veilig mogelijk voor de blootgestelde bedreigingen? (3)
- Risicoanalyse uitvoeren
- Risico’s uitdrukken in probabiliteit en impact
- Safeguards plaatsen om de bedreigen te mitigeren
Welke safeguards kunnen integriteit en confidentialiteit ondersteunen? (3)
- Authentificatie: verifieren van identiteit
- Acces control: lezen/ schrijven wordt beperkt afhankelijk van de indentiteit v/d gebruiker
- Cryptografie controle: Hashing, elektronische handtekening en encryptie (I & C)
Hoe kan worden verzekerd dat het systeem niet kan worden aangepast door ongeauthoriseerde bronnen? (3)
Integriteit verzekeren door:
- Onderscheid maken tussen geauthoriseerd en niet geauthoriseerde bronnen, ondescheid maken tussen functies (Segregation of duties = SOD)
- Bij het verzenden van informatie: parity bits, cyclic redundancy checks of in de vorm van hashes
- Bij verzenden of opslaan van informatie: elektronische handtekening.
Wat maakt een elektronische handtekening zo interessant?
Elektronische handtekening is een private sleutel die niet kan worden ontkend. Deze verstrekt validiteit. onkenbareheid van aankomst en van ontvangst.
Welke safeguards ondersteunen confidentialiteit? (2)
Mini-primer cryptographie
- toegangscontrole (authorized vs unauthorized)
- Encryptie
Wat houdt Kerckhoff’s assumptie in?
cryptosystem should be secure even if everything about the system, except the key, is public knowledge.
Het beveiligen van cryptosystemen is gevaarlijk, je kan beter de sleutel beveiligen.
Waarom worden wereldwijd gekende algorithmes verkozen boven private algorithmes?
Gekende algorithmes zijn vele malen gestresstest door geleerden.
Wat zijn de 4 cryptografische technieken?
- Randomness: onvoorspelbare sleutel die maar eenmalig kan worden gebruikt (nonce = number only used once)
- Wordt gebruikt in challenge respons protocols bij authentificatie - Unkeyed: algorithmes zonder sleutel bv. hash functies
- wordt gebruikt bij elektronische handtekeningen - Symmetrische sleutel algorithmes: steeds dezelfde sleutel voor encryptie en decryptie
- vb. Advanced Encryption Standard Algorithme (AES) - Assymetisch sleutel algorithmes: gebruik van sleutelparen - private (PR) + publieke sleutel (PU)
- transformaties gedaan met een sleutel worden gereversed met de andere sleutel
- Sign (PR) -> Verify (PU)
- Encrypt (PU) -> Decrypt (PR)
- vb. Rivest/shamir/adlemans (RSA), Elgamal elliptic curve cryptography algorithme.
Unkeyed - Wat zijn hash functies? Welke eigenschappen heeft deze functie (5)? Welke vier soorten hash functies bestaan er?
Hash functie = functie die data van een arbitraire grootte kan mappen tot data v/e vaste grootte.
- Deze hash-waarde (digest) is even lang onafhankelijk van de input.
- Bij het aanpassen van de input zal de hash-waarden disproportioneel veranderen.
- One way functie: kan niet teug worden getransformeerd van digest naar input.
- second pre-image resistance: Gegeven een input m1 is het bijna onmogelijk om een 2de input m2 te vinden met dezelfde output.
- Collision resistance: Bijna onmogelijk om 2 inputs m1 en m2 te vinden met dezelfde output.
4 soorten hash functies:
- imperfect hash: collision tussen hash-waarden
- perfect hash: geen collision
- minimal perfect hash: geen collision + er bestaan zoveel hashwaarden als er inputs bestaan
- Hash tabel slaat informatie op in buckets.
Scenario 1: confidentialiteit via symmetrische encryptie. Leg uit.
Zelfde sleutel voor encryptie als decryptie, confidentialiteit kan worden gegarandeerd. Integriteit en non-repudiation kunnen niet worden gegarandeerd.
Scenario 2: confidentialiteit via assymmetrische encryptie. Leg uit.
We werken hier met sleutel paren: private sleutel voor eigenaar en publieke sleutel bij derde partij.
- Adhv de pu sleutel encrypteerd ene partij een boodschap, deze boodschap kan enkel worden gedecrypteerd met de bijhordende private sleutel.
- probleem: buitenstaanders kunnen de boodschap nog aanpassen maar zonder te weten wat er in staat.
confidentialiteit en gegarandeerd, integriteit niet.
Scenario 3: Integriteit via assymmetrisch handtekening (BELANGRIJK)
Stap 1: private en publieke sleutel worden gegenereed
Stap 2: Bericht wordt door A gemaakt en naar B gestuur (zonder encryptie)
Stap 3: A maakt hash-waarde voor het bericht
Stap 4: Deze hash-waarde wordt met de private sleutel van A geëncrypteerd.
Stap 5: B zal met publieke sleutel van A de hash-waarde decrypteren. en de hashwaarde van het orginele bericht creeren
Stap 6: Als de hash-waarden identiek zijn weet B zeker dat het bericht correct is aangekomen van A.
Het bericht kan door iedereen worden gelezen ( niet confidentieel) maar kan door niemand worden aangepast zonder dat B het weet (integriteit)
6 eigenschappen van de blockchain?
- Integriteit van de Blockchain wordt verzekerd idoor hash & handtekening functies
- Elke deelnemer heeft een kopie v/d blockchain
- Elke blok bevat informatie over transacties
- Nieuwe blokken worden steeds op het einde v/d keten toegevoegd adhv consensus
- De volgorde van de blokken ligt vast en kan dus niet worden gewijzigd
- Een vork kan ontstaan, regel: langste keten wint
Wat zijn de drie stappen v/h toevoegen v/e block a/d blockchain?
- Elke gebruiker (node) heeft een copy v/d blockchain
- Er gebeuren transacties ide moeten worden weggeschreven in een nieuwe blok.
- > Elke node maakt een ‘candidate block’ - Aan de hand van consensus wordt de volgende block gekozen
Hoe wordt de inhoudt van de blokken beveiligd?
Blokken worden gehandtekend en beveiligd met hashes.
Wat is het verschil tussen on-chain en off-chain?
On-chain= virtuele coins en andere contracten die een waarde voorstellen.
- Deze waarde staat weggeschreven in een blok
- Met cryptografische technieken wordt deze waarde beschermd
- Bij het overdragen v/d waarde in een transactie zullen de waarde van oudere transacties niet meer gelden
Off-chain = digitale dubbel ganger v/e fysiek item
- life cycle events van een item in de echte wereld worden gespiegeld op de blockchain. bv. gemprint: geeft code aan een diamant adhv het licht dat erdoor gaat.
- Additionele data zal ‘off-chain’ worden opgeslagen
- De blockchain bevat enkel de rechten
Wat maakt de blockchain zo veilig?
- Gebruik van wereldwijd gekende cryptografische technieken: hash functies en sleutel algorithmes
- Bij gebruik van cryptocurrencies (3 basisgebruiken)
- Identify: hash v/e publiek sleutel
- Betalingen worden ondertekend met de private sleutel
- Proof of Work (PoW) voorkomt dubbel spending - Non-cryptocurrencie ledger gebruik:
- gatekeeper functie adhv toegangscertificaten
Wat is een distributed ledger? 3 kenmerken? 2 verschijningsvormen?
Distributed ledger = een grootboek verdeeld en gesynchroniseerd over een aantal knopen
- Waar informatie kan worden gedeeld
Aanpassingen kunnen enkel achteraan worden toegevoed
- ‘immutable’= eenmaal in de chain is het niet meer aan te passen
Heeft 2 verschijningsvormen: gedistribueerde datastore en blockchain
Wat is een blockchain (definitie) ?
Blockchain = gedistribueerd ledger systeem met bevestigde blokken, deze blokken zijn verbonden met elkaar door cryptografische technieken.
- Een blockchain is een ketting van blokken in een specifieke volgorde, de eerste blok heet de genesis.
Hoe maakt een blockchain gebruik van consensus?
Blokken van Blockchain worden enkel toegevoegd als deze onder consensus worden goedgekeurd.
Wat is een digital asset?
Een digitale asset is een asset die enkel digitaal bestaat of een representatie is v/e fysieke asset
Wat is een oracle en waarom wordt het gebruikt?
Een oracle is een toestel of entiteit die een blockchain verbindt met ‘off-chain’ data. bv. aandeelkoers, uur, ..
Wat is distributed ledger technology?
Technologie die gebruikt wordt om een blockchain te bouwen, deze materialiseert het gebruik van elektronisch geld (tokens).
Welke verschillende tokens zijn er? (3)
- Payment token: Dit zijn tokens die worden geaccepteerd als betaling bv. Bitcoin Of CBDC
- Security tokens: tokens die verhandel rechten voorstellen bv. voor onderliggende collatoral
- Utility tokens: Geven toegang tot iets bv. Software, game, …
Wat is een transactie en aan wat moet het voldoen om betrouwbaar te worden aanschouwd?
Transactie = een ‘transformatie v/e toestand’
Moet voldoen aan de ACID eigenschappen:
- Atomic: ‘all or nothing’ - wordt goedgekeurd of niet
- Consistent: Als getransformeerd, moeten steeds dezelfde waarden worden gebruikt
- Isolated: Transacties kunnen nooit tegelijk gebeuren
- Durable : eenmaal aangepast blijft het zo
Transacties worden goedgekeurd adhv consensus
Op basis van wat worden de consensus aanpakken onderscheden? (2)
- Crash fault tolerant (CFT):
- Alle symptomen v/e CFT fout zijn voor alle actoren dezelfde vb. als er iets misgaat met de database. zal voor iedereen deze informatie niet meer beschikbaar zijn.
- > Leader- based consensus : kleine set van nodes die blokken zal goedkeuren, alle endere nodes volgen. - Byzantine fault tolerant (BFT)
- Fouten die verschillende symptomen naar verschillende actoren sturen vb. Dubbel spending v/ e bitcoin.
- > Totale gedecentraliseerde aanpak: alle nodes worden functioneel gelijk gemaakt.
Welke verschillende types van consensus kunnen er worden gebruikt? (4)
- Proof of Work (PoW):
- komt uit oude versie van de Nakamote consensus
- Gebruikt 2 ideeën; proof of work (PoW) en longest fork wins (LFW)
- Pow: leader based consensus: leiders worden willekeurig gekozen maar probabiliteit neemt toe voor nodes met meer mining power - Proof of Stake (PoS)
- Set nodes gaan beslissen wat de volgende blok is door voting (validation)
- Elke node heeft een gewicht, als ze een foute beslissing maken verkleint hun gewicht. - Proof of Authority (PoA)
- Geauthoriseerde signers kunnen op elk moment zelf een block creëren vb. JP Morgan - Proof of Elapsed Time (PoeT)
- Node van wie de timer afloopt mag beslissen wat de volgende block wordt
- gebaseerd op thrustworthy software.
Hoe wordt er verzekerd dat er blokken blijven worden gemined?
De blockchain werkt met een intern incentive mechanisme, diegene die de blok toevoegt krijgt betaling.
Welke 2 gebruiken hebben hashes?
- Hashing voor selectie van de appending node
- vele hashes moeten worden uitgeprobeerd voor deze aan de vereisten voldoet. - Hashing for protection
- blokken worden gelinkt met elkaar adhv hashes, ze bevatten de hash van de vorige blok en worden zelf gehashed.
Dit verklaart waarom blokken niet kunnen worden veranderd, dan veranderd de hash en is de chain ongeldig. ‘immutable’
Wat i shet verschil tussen de persistente en tijdelijke opslag bij blockchain.
Persistente opslag: Wallet applicatie met sleutelparen, mining software, netwerk software, en een full copy v/d blockchain
Tijdelijke opslag: nieuwe transacties, geminde candidate block.
Wat is Ethereum?
Ethereum is een blockchain gebruikt voor smart contract.
- Smart contracts= computerprogramma of een transactieprotocol dat bedoeld is om automatisch juridisch relevante gebeurtenissen en acties uit te voeren, te controleren of te documenteren volgens de voorwaarden van een contract of een overeenkomst.
- populairste taal om deze smart contracten te schrijven is solidity.
Ethereum simplified in 5 stappen?
- Ethereum blockchain gecreerd door genesis block
- Ontwikkelaar schrijft in solidity code voor een smart contract
- Ontwikkelaar creërt een Dapp (applicatie: klant en server)
- Eindgebruiker maakt een account (wallet) en gebruikt Dapp klant (applicatie)
- Iedreen lan de inhoud van elke blok zien
Wanneer is het nuttig om een blockchain te gebruiken? (4)
- Verschillende partijen die data willen delen en uptodate willen houden onder verificatie regels
- Voor het uitsluiten van tussenliggende partijen vb. Notaris bij het kopen van een huis, bank bij het maken van een transactie
- Als er een tijdsgevoeligheid betrokken is
- Als transactie verder bouwen op elkaar
Wat zijn de voordelen voor het gebruik van de blockchain in de supply chain van de voedingsindustrie?
- Goederen kunnen gemakkelijk worden gevolgd doorheen de SC ( sluit mooi aan bij RFID)
- Het aantal fouten kan worden gereduceerd
- Controle voor recyclability
- Alle transacties zijn te volgen, dus je weet gemakkelijk waar er iets fout gaat