Computersystemsicherheit学习笔记
1.Verlässliche System
1.1 Security和Safety的区别
1.2 Fault,Error和Failure的区别
举例如下:
1.3 Verfügbarkeit
例题:
1.4 Verlässlichkeit
MTTF的计算:
串联和并联的成功失败概率:
1.5 Fehlererkennung und -behandlung
Fehlererkennung:
Redundanz:
投票机制:
一般情况下投票计算:
二项分布再求和,R(t) ist p, nämlich Wahrscheinlichkeit von Erfolg. Wenn ich i=k=2,n=3 ersetzen, Ergebis ist 3p^2 (1-p)+p^3.
信息冗余错误模型:
奇偶校验:
缺陷如下:
2.Grundlagen der Kryptographie
2.1 Wesentliche Grundbegriffe der Kryptographie
概念:
2.2 Caesar-Chiffre加密的例子:
Entschlüsselung第一个解密结果是 AND ALL I ASK IS A TALL SHIP
第二个结果是 AND A STAR TO STEER HER BY
2.3 Mathematische Grundlagen
2.3.1 LOGIK, MENGEN UND FUNKTIONEN
Logische Operatoren:
Mengennotation:
{x:P(x)}表示所有满足P(x)的x的集合。
所谓幂集(Power Set/Potenz Menge), 就是原集合中所有的子集(包括全集和空集)构成的集族。
笛卡尔积:
Mengendifferenz意思是补集。
gebräuchliche Notation:
Funktionen:
向上向下取整:
逆象:
单向函数:
单向函数 (One-way function)是一种具有下述特点的单射函数:对于每一个输入,函数值都容易计算(多项式时间),但是给出一个随机输入的函数值,算出原始输入却比较困难。
单射injektiv、双射surjektiv、满射bijektiv:
2.3.2 TEILBARKEIT
Teilbarkeit的性质:
商和取余:
正数除法与负数除法:
表示法:
取余运算法则
补充:
\(a^b\) mod n = \((a\quad mod\quad n)^b\) mod n
负数取余运算规则不统一,只需要掌握正数取余。
上述两公式的证明:
最大公约数(ggT)
用欧几里得算法求最大公约数:
改进后的欧几里得算法:
最大公约数一些性质:
diophantischer Gleichungen:
扩展欧几里得算法:
Erweiterter Euklidischer Algorithmus (EEA)逆运算:
运算技巧:抛开复杂的公式不看,逆运算(Rueckwaertseinsetzen)要将余数r转化称a-qb的形式,不可以将qb转化成a-r形式,因为这是无意义的循环运算。并且要向数字大的方向转换,不可向数字小的方向转换,同理是循环无意义运算。
2.3.4 Primzahl
欧几里得原则:
整数的分解:
互质(无最大公约数):
2.3.5 MONOIDE UND GRUPPEN
幺半群:
例子:
Z0,Z1和Z2分别表示0,1,2个顺序元素
组:
欧几里得-费马:
因为有φ(n)个m,所以是m^(φ(n)),两边同乘左边的倒数,结果为1约去,得结果。
Zyklische Gruppen:
Ordnung:
Ordnung einer Gruppe: Anzahl der Elemente
Ordnung eines Elements: die kleinste natürliche Zahl n, sodass gn (also n-mal g multipliziert) das neutrale Element ist.
Beispiel 3.82三个都是Gruppe,所以反映的是元素个数,第一个是Z的数量,所以是无穷;第二个是(Zn+0) mod n,即n个数对n取余的数量是n;第三个是(Zn^x*1) mod n,这个数字不确定,所以是φ(n).
注:Zn^x定义见Definition 3.75
Diskreter Logarithmus:
Beispiel zum diskreten Logarithmus:
3.Symmetrische Systeme
3.1 Formale Definition eines symmetrischen Kryptosystem
3.2 Nützliche Funktionen
3.3 Verschiebechiffre
3.4 Vigenère-Chiffre
3.5 PERFEKTE UND SEMANTISCHE SICHERHEIT
3.5.1 One Time Pad Konstruktion
3.5.2 Bitketten XOR und (Bitketten) One Time Pad
Pr是概率的意思。
3.5.3 Perfekte Sicherheit
3.5.4 BLOCKCHIFFREN
3.5.5 Aktuell verwendete kryptographische Verfahren
3.5.6 Electronic Codebook (ECB) Modus
Definition:
Auffüllfunktion:
Das erste Beispiel ist eine Auffüllfunktion die so viele Nullen hinschreibt wie minimal nötig sind um auf die Blocklänge zu kommen. Die zweite Funktion schreibt erst eine Eins und dann wieder so viele Nullen wie noch minimal hingeschrieben werden müssen um auf die Blocklänge zu kommen. 将长度凑成n。
(Bitketten-)Blockchiffre:
Cipher Block Chaining (CBC) Modus:
3.6 Randomisierte Kryptosysteme
3.6.1 Cipher Block Chaining (CBC)
3.6.2 Counter (CTR) Modus
3.6.3 Randomisierter Zähler
3.7 STROMCHIFFREN
3.7.1 伪随机数
3.7.2 Stromchiffre
Hier ist x die Nachricht und z der Schlüssel.
(Z2)^k 和(Z2)^*的解释
Das sind die multiplikativ Inversen des Restklassenrings nach Definition 3.75 für n = 2.
4.Asymmetrische Systeme
4.1 Schlüssel und Schlüsselverteilung
4.2 Verschiedene Schlüssel
4.3 非对称加密数学定义
4.4 DAS RSA-KRYPTOSYSTEM
4.4.1 RSA密钥生成
4.4.2 Ver- und Entschlüsselung
4.4.3 Erweiterter Euklidischer Algorithmus (EEA)
Euklidischer Algorithmus: Beispiel:
Dabei ist φ die eulersche Phi-Funktion nach Def. 3.59. In unserem Beispiel ist das 240120.
φ(240120) = φ(460)φ(522)
= φ(23)φ(20)×φ(261)φ(2)
= φ(23)φ(4)φ(5)×φ(261)φ(2)
= 22(φ(2))^3φ(5)φ(26)
= 22φ(8)φ(5)φ(26)
= 2244*168
= 59136
4.4.4 RSA: Beispiel(上接4.4.1密钥生成)
4.5 DAS ELGAMAL-KRYPTOSYSTEM
5^7 mod 23 = 17
4.6 HASHFUNKTIONEN UND MESSAGE AUTHENTICATION CODES
4.6.1 Kompressionsfunktion, Hashfunktion,Kollisionsresistenz
4.6.2 Merkle-Damgård-Hashfunktionen
4.6.3 HMAC-Konstruktion
5. Digitale Signaturen
5.1 Einleitung der digitale Signaturen
Digitale Signaturen können für verschiedene Zwecke benutzt werden
5.2 Signieren
5.3 Sicherheit
Die existentielle Fälschung einer Nachricht kann
als Spiel charakterisiert werden
Man kann zeigen, dass die RSA-Signatur unter bestimmten Annahmen sicher ist.
5.4 DSA (Digital Signature Algorithm)
Eine Alternative zur RSA-Signatur ist der Digital Signature Algorithm (DSA)
计算过程解释???
Beispiel zum Signieren durch DSA (1):
Beispiel zum Signieren durch DSA (2):
\(k^{-1}\) = \(36^{57}\) mod 59 = 41
Beispiel zum Signieren durch DSA (3):
6. Schluesselverteilung und Schluesselaustausch
6.1 Schlüsselverteilung
6.1.1 Arten von Schlüsseln
6.1.2 Die Verwaltung der öffentlichen Schlüssel
6.1.3 Wahl eines dezentralen Ansatz
6.1.4 Probleme bei beiden Verfahren
6.2 Schlüsselaustausch
6.2.1 GRUNDLAGEN UND NAIVE PROTOKOLLE
Wir betrachten nun einfache Protokolle mit einer vertrauenswürdigen Partei
6.2.2 DIE NEEDHAM-SCHROEDERPROTOKOLLE
Wir betrachten nun ein real genutztes Protokoll für Schlüsselaustausch und Authentifikation
Es gibt auch eine asymmetrische Variante dieses Protokolls
6.2.3 DAS DIFFIE-HELLMAN-PROTOKOLL
Die Grundidee des Diffie-Hellman-Protokolls veranschaulicht (1):
Die Grundidee des Diffie-Hellman-Protokolls veranschaulicht (2):
Das Diffie-Hellman-Protokoll auf Restklassengruppen:
Diffie-Hellman-Schlüsselaustausch: Beispiel:
Die Sicherheit dieses Verfahrens basiert dabei auf dem CDH-Problem:
Ohne zusätzlichen Schutz ist auch ein einfacher MitM-Angriff möglich:
Beim Station-to-Station-Protokoll wird dieser Angriff verhindert:
7. Kryptographie: Ausblick
7.1 INTEGRITÄTSSCHUTZ MIT VERSCHLÜSSELUNG
Oft möchte man Integritätsschutz und Vertraulichkeit kombinieren:
Man kann AE durch Kombination von Verschlüsselung und MACs erreichen:
Der Galois/Counter-Mode funktioniert mit Blockchiffren der Blocklänge 128 Bit:
Die GCTR-Funktion von GCM:
Die GHASH-Funktion von GCMCounter-Modus für Blockchiffren:
\(F_{2}^{128}\)怎么来的???
Beides kombiniert ergibt dann den Galois/Counter-Modus:
Verschlüsselung und MAC-Berechnung können dabei parallel erfolgen:
7.2 SECRET SHARING
Zugrunde liegende Idee ist bei Secret Sharing das Aufteilen des Schlüssels auf alle Teilnehmer:
Statt dessen möchte man auch mit einem Teil der Gruppe entschlüsseln können:
Ein solches Schwellwert-Kryptosystem kann man wie folgt konstruieren:
Wie benötigen einen vertrauenswürdigen Dealer und sichere Kommunikationskanäle:
Shamirs Secret Sharing Protokoll:
Um den Schlüssel zu erhalten, muss aus den Funktionswerten das Polynom berechnet werden
Lagrange-Interpolation:
Beispiel:
例子的ji'suan计算如何得出的???
求逆元的公式:x \(\equiv\) \(a^{b-2}\) (mod b)
Eigenschaften von Shamirs Secret Sharing Protokoll:
7.3 POST-QUANTEN-KRYPTOGRAPHIE
Grovers Algorithmus:
Shors Algorithmus:
Als Beispiel der PQ-Kryptographie betrachten wir die Hashbasierte Kryptographie (1):
Als Beispiel der PQ-Kryptographie betrachten wir die Hashbasierte Kryptographie (2):
Als Beispiel der PQ-Kryptographie betrachten wir die Hashbasierte Kryptographie (3):
Als Beispiel der PQ-Kryptographie betrachten wir die Hashbasierte Kryptographie (4):
为什么0010和0111可以使0110和0011签名???
Anschauliches Beispiel zu ZK-Beweisen:
Mathematisch kann man ZK-Beweise über Graphenisomorphismen konstruieren (1):
Mathematisch kann man ZK-Beweise über Graphenisomorphismen konstruieren (2):
8. zugriffskontrolle
8.1 EINLEITUNG
In der heutigen Vorlesung beschäftigen wir uns mit Zugriffskontrollmodellen:
Schutzziele der Zugriffskontrolle sind Integrität und Vertraulichkeit:
Modelle sind die formale Abstraktion von Sicherheitsrichtlinien und Kontrollprinzipien:
Ein geeignetes Modell wird dann zum Erreichen der Schutzziele implementiert:
Wir betrachten im folgenden drei verschiedene Modelle:
8.2 BENUTZERBESTIMMBARE ZUGRIFFSKONTROLLE (DAC)
Discretionary Access Control lässt sich mit einer Zugriffsmatrix beschreiben:
Diese Art der Zugriffskontrolle ist flexibel und einfach zu implementieren:
Statt in einer Matrix stellt man DAC oft mit Zugriffskontrolllisten (ACL) dar:
Auch die einfachen Dateizugriffsrechte in UNIX-Systemen sind als ACL interpretierbar:
Zugriffsrechte können dabei nur an Besitzer,Gruppe und andere vergeben werden:
Man kann DAC auch durch zeilenweise Speicherung der Zugriffsmatrix implementieren:
8.3 ROLLENBASIERTE ZUGRIFFSKONTROLLE (RBAC)
Mit rollenbasierter Zugriffskontrolle lassen sich leicht Organisationsstrukturen abbilden:
Formal lässt sich die rollenbasierte Zugriffskontrolle (RBAC) wie folgt definieren:
P是Potenz Menge,pr是Permission
Eine Sitzung mit aktiven Rollen lässt sich auch schematisch darstellen:
Als Beispiel betrachten wir die Rollen und Berechtigungen in einem Krankenhaus:
Eine Erweiterung von RBAC erlaubt die Vererbung von Rechten:
Partielle Ordnungen sind dabei formal eine spezielle Art von Relationen:
Für die Implementierung von RBAC müssen bestimmte Eigenschaften eingehalten werden:
Constraints: Mit RBAC lässt sich Rollentrennung auf zwei Arten umsetzen:
Abschließend fassen wir die Vorteile von RBAC noch einmal zusammen:
8.4 SYSTEMBESTIMMTE ZUGRIFFSKONTROLLE (MAC)
Systembestimmte Zugriffskontrolle (MAC) beschäftigt sich mit Informationsflüssen:
Das Bell-La Padula Modell regelt die Vertraulichkeit von Informationsflüssen:
Als Beispiel betrachten wir eine militärische Anwendung:
Bell-La Padula erweitert eine einfache Zugriffsmatrix um Sicherheitseigenschaften:
Simple-security (No-read-up):
*-Property (No-write-down): Verhindert leaks aus geheimen Daten:
Zusammenfassend betrachten wir die Vorund Nachteile des Bell-La Padula Modells:
Als duales Modell zu Bell-La Padula sichert das Biba Modell die Integrität von Daten:
9. Authentifizierung
9.1 EINLEITUNG
Wir beschäftigen uns in dieser Vorlesung mit Überprüfung und Bestätigung einer Identität:
Authentifizierung kann durch mehrere Ansätze in Computersystemen implementiert werden:
Heutzutage verwendet man dazu normalerweise Mehrfaktor-Verfahren:
Wir unterscheiden zwischen einseitiger und wechselseitiger Authentifizierung:
9.2 AUTHENTISIERUNG DURCH WISSEN
Gängigste Methode zur Authentisierung durch Wissen sind Passwörter:
Authentifikation mit Passwörtern: Plaintext:
Authentifikation mit Passwörtern: TLS:
Authentifikation mit Passwörtern: gehashte Passwörter:
Authentifikation mit Passwörtern: gehashter Passwörter mit Salt:
Authentifizierung durch Wissen funktioniert auch mit Challenge-Response-Verfahren:
Challenge-Response-Verfahren (CHAP):
Auch diese Verfahren müssen jedoch sorgfältig gegen Angriffe geschützt werden:
Beispiel: SMB-Relay mit NTLMv2:
9.3 AUTHENTISIERUNG DURCH BESITZ
Grundlage der Authentifizierung durch Besitz sind sogenannte „Token“:
Ein Beispiel für ein dynamisches HardwareToken ist die Athene-Karte der TU Darmstadt:
Die aktuelle Athene-Karte hat nur noch einen kontaktlosen Chip:
Mit einem Kryptoprozessor lassen sich leicht Challenge-Response-Verfahren realisieren:
Authentifikation durch Besitz: Probleme
9.4 AUTHENTISIERUNG DURCH MERKMALE
Bei biometrischen Verfahren findet die Authentifizierung über Merkmale statt:
Problematisch ist dabei die möglichst fehlerfreie Erkennung der Merkmale:
Man muss die Fehlerraten für den Anwendungsfall gegeneinander abwägen
Als Beispiel für ein biometrisches Merkmal betrachten wir Fingerabdrücke:
Bei allen biometrischen Verfahren muss man die Vertraulichkeit beachten
Ein Problem ist dabei auch die Sicherstellung der Authentizität der Merkmale:
9.5 SINGLE-SIGN-ON / KERBEROS
Als spezielle Anwendung betrachten wir nun Kerberos als Single-Sign-On Dienst:
Pro Domäne gibt es bei Kerberos ein vertrauenswürdiges Key Distribution Center:
Der Ticket Granting Server (TGS) verteilt sogenannte Tickets:
Diese Tickets dienen zur Authentisierung bei anderen Diensten:
Angriffe Kerberos: Offline Cracking:
Angriffe Kerberos: Overpass the Hash:
Angriffe Kerberos: Pass the Ticket:
Angriffe Kerberos: Golden Ticket:
Angriffe Kerberos: Silver Ticket:
10. Softwaresicherheit:
10.1 Malware
Trojaner:
Viren:
Viren Executable infectors:
Viren Encrypted viruses:
Viren Polymorpic viruses:
Würmer:
Ausbreitung von Würmern:Code Red (v2):
Ransomware:
Erkennungsmöglichkeiten:
EICAR-Testsignatur:
10.2 SCHWACHSTELLEN: BUFFER OVERFLOWS
Buffer Overflows:
Buffer Overflows: Demo (1):
Der Stack in C:
Stack Smashing:
Buffer Overflows: Demo (2):
Buffer Overflows: Zusammenfassung:
11. Websicherheit
11.1 EINLEITUNG
Heutzutage werden hauptsächlich nur noch Web Anwendungen benutzt:
Die Architektur von Web Anwendungen:
…birgt eine Fülle an Sicherheitsproblemen:
Verteilung von verschiedenen Angriffen:
11.2 BROWSER SECURITY
Browser vs. Web Application Security:
Sicherheit im Browser (hier nur HTTPS):
Sicherheit auf den ersten Blick Prüfmethoden für Website-Zertifikate:
Weitere Schutzmechanismen (nicht im Detail in dieser Vorlesung):
11.3 WEB APPLICATION SECURITY
Browser Security vs. Web Application Security:
Exkursion: HTML – Basic Was sollte man beachten?
PHP: Hypertext Preprocessor für dynamische Erzeugung von Inhalten:
OWASP Top 10:
11.4 SQL INJECTION
Was ist SQL?
SQL Injections:
SQL Injection Beispiele:
immer "false"可以让UNION ALL后面的语句执行
Gegenmaßnahmen, um sich vor SQL Injection zu schützen:
11.5 CROSS SITE SCRIPTING (XSS)
Kurze Einführung in JavaScript:
Cross-Site-Scripting (XSS) führt Scripte auf dem Rechner des Opfers aus:
Cross Site Scripting (XSS) (Non-)Persistent:
Persistent (stored) XSS:
Non-Persistent (reflected) XSS:
Einfaches Beispiel: Reflected XSS:
Es gibt viele verschiedene Wege um JavaScript auszuführen und zu nutzen:
Gegenmaßnahmen:
Warum blacklisten keine gute Idee ist…:
MySpace Worm Samy: What XSS can do ?
12. Netzwerkgrundlagen
12.1 EINLEITUNG
Physical Layer:
Application Layer:
Presentation Layer:
Session Layer:
Transport Layer:
Network Layer:
Verbindung von 3 Netzen:
Data link layer:
Wie funktioniert ein Switch?
Ziel: Alice möchte mit Bob kommunizieren:
Physical Layer:
Verschachtelung der einzelnen Schichten..:
Kennzeichnung:
MAC Adressen:
IP Subnetze:
Ports:
Ports (Beispiel):
12.2 SPOOFING
MAC Spoofing:
IP Auflösung:
IP Auflösung Beispiel:
ARP Spoofing (IP Spoofing):
Dynamic Host Configuration Protocol (DHCP):
DHCP Spoofing:
Domain Name System (DNS):
Spoofen von Metadaten:
12.3 DENIAL OF SERVICE ANGRIFFE
Ziel von DoS-Angriffen:
Allgemeine Technik von DoS-Angriffen:
Internet Control Message Protocol (ICMP):
Ping of Death (PoD):
Smurf Attack (Broadcast Attack):
Transmission Control Protocol (TCP):
SYN Flood:
攻击服务器使其不能再提供服务。
SYN-ACK Flood (SYN Reflection Attack):
12.4 FIREWALLS, INTRUSION DETECTION UND PREVENTION SYSTEME
Firewalls im Schichtenmodell:
Firewall Typen:
Zustandsloser Paketfilter:
Beispiel: Linux-basierte Netwerk-Firewalls per iptables:
Intrusion Detection und Prevention Systeme (IDS/IPS):
13. DNS
13.1 DNS BASICS
Das Domain Name System (DNS):
DNS Records – Allgemeines Format:
DNS Records – Record-Typen:
DNS Records – RRsets:
DNS Nachrichtenübermittlung:
DNS Nachrichtenformat:
RRset = Menge von DNS Records (>=1) mit selben Werten in Name, Type, Class und TTL
DNS Nachrichten in der Praxis:
Namensauflösung – Typischer Ablauf:
步骤12345678之后ABC
Namensauflösung – Caches: Gecachete Antwortdaten:
Namensauflösung – Caches: Gecachete Infrastrukturdaten:
Namensauflösung – Rekursive und Iterative Anfragen:
rd,qr,ra是什么??
13.2 SICHERHEIT DES DNS
DNS Cache Poisoning:
DNS Cache Poisoning im Auflösevorgang:
Historisches DNS Cache Poisoning:
Historisches DNS Cache Poisoning Bailiwick-Regel:
Off-Path DNS Cache Poisoning:
Off-Path DNS Cache Poisoning Kaminskys Angriff (2008):
Off-Path DNS Cache Poisoning Kaminskys Angriff (2009):
Man-in-the-Middle DNS Cache Poisoning:
Man-in-the-Middle DNS Cache Poisoning:Mögliche Angriffe:
Man-in-the-Middle DNS Cache Poisoning:Gegenmaßnahmen: DNSSEC:
信任链
Man-in-the-Middle DNS Cache Poisoning Gegenmaßnahmen: DoH/DoT:
Weitere Angriffe auf das DNS:
13.3 BEEINFLUSSUNG DER SICHERHEIT VON DRITTSYSTEMEN DURCH DAS DNS
DNS Amplification DDoS:
DNS Amplification DDoS – Abmilderungen:
DNS Tunneling:
SPF – Sender Policy Framework:
Weitere Sicherheitsmechanismen:
Zusammenfassung:
14. Border Gateway Protocol (BGP)
14.1 EINLEITUNG
Routing: Lokale Netzwerke:
14.2 BORDER GATEWAY PROTOCOL
BGP: Autonome Systeme:
BGP: Realer Netzwerkgraph:
BGP: Abstraktion in Autonome Systeme:
BGP: Announcements:
BGP Routing:
BGP: Sub-prefix Hijacking:
BGP Hijacking:
BGP Hijacking: Gegenmaßnahmen (1):
BGP Hijacking: Gegenmaßnahmen (2):
15. Sichere Verbindungen
15.1 EINLEITUNG
Sichere Verbindungen gibt es auf verschiedenen Ebenen:
15.2 TLS
TLS: Einleitung:
Cipher Suites:
TLS: Vereinfachte Übersicht:
TLS: Zertifizierung:
TLS-Zertifikat: Beispiel:
TLS: Prüfung der Identität:
TLS auf Anwendungsebene:
TLS Zusammenfassung:
TLS: Sichere Verbindung auf Applikationsebene:
15.3 Sichere Verbindungen IPSEC/VPN
Site-to-Site VPN (Virtual Private Network):
IPSec: Transport vs. Tunnelmodus:
Remote Access VPN:
TLS vs. VPN:
Meta-Daten in sicheren Verbindung:
15.4 Sichere Verbindungen ONION ROUTING/TOR
Onion-Routing via TOR:
The Onion Routing:
Anonymität durch TOR?
作者:Rest探路者
出处:http://www.cnblogs.com/Java-Starter/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意请保留此段声明,请在文章页面明显位置给出原文连接
Github:https://github.com/cjy513203427