Skip to content
This repository was archived by the owner on Mar 27, 2024. It is now read-only.

Conference proposal talks #2

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions decentralizing-the-net-with-dotnet.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Decentralizing the Net with .NET

## Description

Building secure E2EE P2P systems has never been simpler, with .NET and SignalR – In this talk, we will walk through the process of building a P2P backplane for SignalR, and connect our application as nodes together dynamically, discussing tradeoffs and security considerations along the way.

## Outline

- Setting the Stage
- Briefly walk through the example chat application architecture and the client-server model.
- Review the data model and specific qualities that make it translatable to peer-to-peer implicitly.
- Plan of Attack: SignalR Backplanes
- Introduce the concept of backplanes in SignalR, with the typical Redis example.
- Idea: Create a SignalR Backplane using a peer-to-peer gossip protocol
- Idea: Swap out user registry with cryptographic identities, discuss tradeoffs - how do we verify? Strategies: PKI, Web of Trust
- Implementation: Backplane
- Creating the P2P HubLifetimeManager implementation
- Hooking it up and watching it go
- Implementation: User Registry
- Cryptographic identities, how do they work?
- PKI/WoT hybrid implementation
- Implementation: Securing the protocol
- Demonstration: Bad actors - message forgeries, message censorship, message reordering, break-ins
- Adding the Triple-Ratchet algorithm
- Final notes/observations, close out
21 changes: 21 additions & 0 deletions this-message-will-self-construct-in.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# This Message Will Self-Construct In...

## Description

Building an emergency plan is more than having a bug-out bag ready to go, it needs to include contingencies in the event you may not be there. Preparing for this by giving trusted individuals passwords or encryption keys may put them in danger too, so how can we solve this? Enter Timelock puzzles, and BouncyCastle.NET to make this tricky cryptographic process dead simple.

## Outline

- Setting the Stage
- Brief example demonstrating the problem: dangerous information, dangerous people who want it.
- Answer: What if there were a way you could make decryption only possible after a certain amount of time, giving you an opportunity to subvert the danger of knowledge?
- Plan of Attack: Timelock Cryptography
- Simple demonstration of repeated squarings
- Explanation on how this maps into a simple symmetric (AES) cryptography setting.
- Implementation: Basic encryption setup
- How to use BouncyCastle to create a key and encrypt a file.
- Implementation: How to do the Timelock puzzle
- Augmenting our basic encryption setup to use timelock puzzles
- Extra: Optional disclosure
- Augmenting our timelock setup to allow passing a key to a trusted individual so they can decrypt quickly amongst others who must wait.
- Final notes/observations, close out.