Skip to content

Commit 43d253d

Browse files
committed
feat: Plan out eacn talk
1 parent c19dd28 commit 43d253d

File tree

1 file changed

+299
-0
lines changed

1 file changed

+299
-0
lines changed

2024-09-20-eacn/readme.md

+299
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,299 @@
1+
# Computational, Authenticated Key Distribution
2+
3+
Encryption, the old-fashioned way
4+
5+
## Value statement
6+
7+
- Computational cryptography secures communication using modest computational resources
8+
- It is deployed on a vast share of the worlds computational resources
9+
- From a practical standpoint, computational cryptography is superior to QKD in all use cases without exception
10+
- There are some features, computational cryptography can only provide by incorporating QKD
11+
12+
Handshake graphic
13+
14+
- Introduce the methods used in cryptography
15+
- Identify the value statement QKD can provide given the above constraints
16+
- Contrast QKD and computational cryptography
17+
18+
## About me
19+
20+
My picture
21+
22+
- Karolin Varner
23+
- Spent a decade as a Software Engineer in industry working for Startups and Corporate Behemoths
24+
- Started a cryptography research project in 2021
25+
- Researcher Engineer at Max Planck Institute for Security and Privacy
26+
- Research interests: Key exchange protocols, computer-aided proofs of security, decryption despite error
27+
- Main founder of Rosenpass e.V.; founded to support interdisciplinary work
28+
29+
## Rosenpass
30+
31+
… Rosenpass slide
32+
+ Interdisciplinary
33+
34+
## Cryptography Science Workflow
35+
36+
:::info
37+
38+
@mullana
39+
40+
This might be to complex as it is here in writing.
41+
I can create a template graphic for you.
42+
43+
44+
Swirls
45+
46+
- Identify goals colloquially "Secure communication"
47+
- Operationalize goals "Authenticity, Secrecy"
48+
(Philosophical)
49+
50+
- Formalize security notions "IND-CCA2, forward secrecy"
51+
- Compare contrast and compose "eCK-PFS-PSK"
52+
(Mathematical)
53+
54+
- Develop mathematical construction (e.g. Noise-IK)
55+
- Create security proof
56+
(Mathematical)
57+
58+
- Implement concrete protocol (e.g. WireGuard)
59+
- Optimize concrete protocol
60+
- Find & Attack implementation flaws
61+
(Computer science)
62+
63+
- Analyze practical security concerns (e.g. side-channel attacks)
64+
- Analyze usability of implementation
65+
(Computer science, Electrical Engineering, Physics, etc.)
66+
67+
- Disseminate
68+
- Deploy
69+
- Analyze practical security aspects
70+
- Improve usability
71+
(Operations, Psychology, Social sciences, Human interface design)
72+
73+
- Analyze social impact
74+
(Social sciences)
75+
76+
Lots of circles in one bigger circle spiraling out.
77+
Each subcirle has an arrow going out "novel attacks"
78+
79+
:::
80+
81+
## Math proofs are fundamental to cryptography
82+
83+
Reduction to mathematical problem:
84+
85+
1. Assume attacker (stateful function) against cryptographic system
86+
2. Construct algorithm that solves mathematical problem using assumed attacker
87+
88+
Information theoretic.
89+
90+
1. Formulate cryptosystems as a function where
91+
* K – key material – represents any secret information held by all parties
92+
* D – protected information – represents any information to be protected
93+
* C – leaked information – represents any information known to the attacker after execution of the cryptosystem
94+
95+
$F : K \times D \to C$
96+
97+
2. Show that every every possible value of the leaked information, every possible protected information is equally likely
98+
99+
$\forall c : C, d_1 : D, d_2 : D; |{ k \in K | F(k, d_1) = c }| = |{ k \in K | F(k, d_1) = c }|$
100+
101+
Functional correctness of implementations:
102+
103+
1. Using formal methods from computer science to show that a cryptographic implementation is equivalent to its specification
104+
105+
Implementation security:
106+
107+
1. Using mechanized verification to show that an implementation fulfills security properties such as
108+
- Timing side-channel resistance (certain assembly operations are forbidden)
109+
- Memory-safety (utilize advanced programming languages such as Rust to avoid buffer overflow and other memory safety errors)
110+
111+
Efficiency of implementation:
112+
113+
2. Using complexity analysis to show that an implementation's resource usage is efficient-enough
114+
115+
## Practical Security essential in cryptography
116+
117+
- Protection against timing side-channels
118+
- Power side-channels
119+
- Hardware bugs such as Rowhammer, Meltdown or Spectre are analyzed
120+
- User error through analysis of how cryptography is used (usable security)
121+
122+
- => Its odd when QKD considers itself to be outside of cryptography; the field is quite comprehensive
123+
124+
## Open-source & Open-Science: Secure cryptography as a community process
125+
126+
1. Cryptography is ultimately about creating trust
127+
2. Efficient, incremental peer review of implementations is essential
128+
3. Review of cryptographic proofs is essential
129+
4. Its not enough to say "I made this, this is secure"
130+
131+
:::info
132+
133+
@mullana Comic strip style illustration of cryptography as a community process
134+
135+
Panel:
136+
- Single person saying: "Trust me, I built this, this is secure"
137+
- Other person saying: "Can I see it"; single person: "No, its a secret!"; "but what if you made a mistake"
138+
- Single person saying: "Just trust me already!"
139+
- (Narration: Its not enough for a single person to just build something)
140+
141+
GAP
142+
143+
- Cryptographer saying: "Don't trust me, please review my code. I might have made a mistake."
144+
- Big choir of cryptographers saying, single cryptographer: "Lets build it together to catch all our mistakes"
145+
- (Narration: All cryptographers make mistakes. The best ones are those who trust their work the least and who work together to build better code)
146+
147+
:::
148+
149+
## CAKD: Computational, Authenticated Key Distribution
150+
151+
graphic representing TLS.
152+
153+
Usually called a "key exchange".
154+
155+
- Cheap
156+
- Fast
157+
- Secure
158+
- Extremely well analyzed
159+
160+
## Key exchange – Security against quantum computers
161+
162+
Graphic representing Rosenpass.
163+
164+
- Most contemporary cryptography is not secure against quantum attacks
165+
- Migration is possible, Rosenpass is an example
166+
- Modest increase in resource usage
167+
168+
## Security properties: Active vs passive
169+
170+
:::info
171+
172+
@mullana Two strip-style graphics to represent passive and active security.
173+
174+
Passive – eavesdropping: Graphic of alice and bob communicating; attacker trying to listen in
175+
176+
Active – man in the middle: Graphic of alice communicating with attacker; attacker communicating with bob
177+
178+
:::
179+
180+
## Security properties: Secrecy & Authenticity
181+
182+
:::info
183+
184+
@mullana Two strip-style graphics
185+
186+
Secrecy: Panel of attacker trying to pry into a delivery package.
187+
188+
Authenticity: Panel of attacker glueing a patch over the package address, but package contains a certificate when bob takes it out.
189+
190+
:::
191+
192+
## Security properties: Identity hiding, deniability
193+
194+
:::info
195+
196+
@mullana Three strip-style graphics
197+
198+
Identity hiding: Panels of klandestine package-dropoff, delivery. Panel of empty address field. Panel of secret service delivery man being asked who is communicating: "I could tell you but I would have to kill you".
199+
200+
Deniability: Panel of Bob going to a judge: "Alice sent me this". Panel of judge looking at package (with a spyglass?) "I can see no fingerprings. Guess you can't prove it".
201+
202+
Non-repudiation: Panel of Bob going to a judge: "Alice sent me this". Panel of judge looking at a certificate: "This is clearly Alice's seal!"
203+
204+
:::
205+
206+
## Security properties: Forward secrecy
207+
208+
:::info
209+
210+
@mullana Three strip-style graphics
211+
212+
Forward secrecy: Panel of package being received; panel of it being destroyed; panel of burglers not finding the package
213+
214+
Forward secrecy provides no security against active attacks: Panel of burglars stealing the package during delivery.
215+
216+
Forward secrecy can be broken when a cryptographic scheme itself is broken: Picture of burglars analyzing the remains of the destroyed package in a lab.
217+
218+
:::
219+
220+
## Everlasting secrecy: QKD improves on forward secrecy
221+
222+
:::info
223+
224+
@mullana One strip style illustration; one comic-style scientific illustration.
225+
226+
Everlasting secrecy: Picture of destroying the package using some quantum device. Picture of attacker dissapointed at the remains being quantum. "Damn, these are quantum ashes."
227+
228+
Comic style scientific illustration:
229+
A computer network of machines (feel free to represent as dots or circles),
230+
alice & bob communicating through multiple nodes on that network.
231+
The path through that network is marked one color; annotated "Software encryption".
232+
The path through that network is also marked in another color, but this path is interrupted at each node. Labeled "QKD".
233+
One of the nodes contains a graphic representing the attacker.
234+
235+
Subtitle: Software encryption is end-to-end, but QKD is not. What if an attacker manages to take over a node.
236+
237+
:::
238+
239+
- We can not get end-to-end everlasting secrecy, so the forward secrecy that software provides probably still does more for practical security.
240+
241+
## Limitations of QKD
242+
243+
- Usually not open-source
244+
- Usually not open-hardware
245+
- Usually not peer-reviewed
246+
- Expensive
247+
- Inefficient
248+
249+
| Security property | QKD | Software encryption |
250+
| --- | --- | --- |
251+
| Post-Quantum | check Green | Possibly Green |
252+
| Attacker-mode | passive RED | Active Green
253+
| Forward-secrecy | Pairwise Yellow | Green |
254+
| Everlasting-Secrecy | Pairwise Yellow | No Red |
255+
| Authenticity | cross Red | check Green |
256+
| Deniability | cross Red | check Green |
257+
| Non-repudiation | cross Red | check Green |
258+
| Identity hiding | cross Red | check Green |
259+
260+
## QKD as a measure of hardware security
261+
262+
:::info
263+
264+
@mullana Once comic-strip style illustration
265+
266+
Strip: Physical data cable connecting alice and bob across multiple nodes (computers).
267+
The entire cable and all nodes are protected by a wall and some guards. At some point the wall ends;
268+
instead each node – computer – now connects to an adjacent QKD device. The now QKD-protected cable (maybe with a glow
269+
in the previous qkd color) now exits the wall and enters another wall where it is terminated by a qkd device.
270+
Panel with engineer: "We managed to cut some costs by switching to QKD devices instead of guarding the entire length of the cable".
271+
272+
:::
273+
274+
## Hybrid QKD & Cryptography
275+
276+
:::info
277+
278+
@mullana Once comic-strip style illustration
279+
280+
Graphic/strip: The aforementioned cable being attacked by burglars; they overwhelm the guards and hack the devices.
281+
Panel with engineer: "Our cable was attacked! Good thing we also used cryptography to protect the data."
282+
283+
:::
284+
285+
| Security property | QKD | Software encryption | Hybrid |
286+
| --- | --- | --- |
287+
| Post-Quantum | check Green | Supported Green | Supposed Green |
288+
| Attacker-mode | passive RED | Active Green | Active Green |
289+
| Forward-secrecy | Pairwise Yellow | Green | check green
290+
| Everlasting-Secrecy | Pairwise Yellow | No Red | Pairwise Yellow |
291+
| Authenticity | cross Red | check Green | check green |
292+
| Deniability | cross Red | check Green | check green |
293+
| Non-repudiation | cross Red | check Green | check Green |
294+
| Identity hiding | cross Red | check Green | check Green |
295+
296+
297+
- Expensive
298+
- Inefficient
299+
- Even if QKD devices are not well-reviewed, no security is lost by using them.

0 commit comments

Comments
 (0)