Firenet – PhD semester project
Jingyue Zhao Supervisors: Prof. Bryan Ford, Prof. Katerina Argyraki
Firenet PhD semester project Jingyue Zhao Supervisors: Prof. Bryan - - PowerPoint PPT Presentation
Firenet PhD semester project Jingyue Zhao Supervisors: Prof. Bryan Ford, Prof. Katerina Argyraki Network Management 1 Network Management 2 Network Management 3 Motiv ivation Long-term goal: a transparent and secure decentralized
Jingyue Zhao Supervisors: Prof. Bryan Ford, Prof. Katerina Argyraki
1
2
3
management scheme for large-scale networks.
parts of network.
4
avoid careless or malicious actions.
5
Follower routers Admins
6
How to make the policy making process transparent and secure?
Follower routers Admins
avoid careless or malicious actions.
7
Cothority Follower routers Admins
avoid careless or malicious actions.
execute decentralized protocols
8
Cothority
[1] Syta E, Tamas I, Visher D, et al. Keeping authorities" honest or bust" with decentralized witness cosigning[C]//Security and Privacy (SP), 2016 IEEE Symposium on. Ieee, 2016: 526-545.
attacker
9
Cothority Follower routers Admins
Step 1: admins’ approval
Network policy
Admins
10
Follower routers
Key 1 Key 2 Key 4 Key 3
Network policy Admin signatures
Admins
11
Step 1: admins’ approval
Follower routers
Key 1 Key 2 Key 4 Key 3
Network policy Config file Admin signatures 12
Step 1: admins’ approval
Follower routers
Admins
Key 1 Key 2 Key 4 Key 3
Network policy Config file Admin signatures 13
Step 1: admins’ approval
Follower routers
Verify admins’ signatures & deploy the policy Admins
Key 1 Key 2 Key 4 Key 3
Network policy Config file Admin signatures
Admins
14
Step 2: cothority’s approval check and collective signing
Cothority
Follower routers
For now, the check is done by one server in the cothority, and we can design a protocol to distribute the workload.
Network policy Config file Admin signatures
Admins
15
Step 2: cothority’s approval check and collective signing (using CoSi [1])
Cothority
Network policy Config file Collective signature [1] Syta E, Tamas I, Visher D, et al. Keeping authorities" honest or bust" with decentralized witness cosigning[C]//Security and Privacy (SP), 2016 IEEE Symposium on. Ieee, 2016: 526-545.
Follower routers
Network policy Config file Admin signatures
Admins
16
Step 2: cothority’s approval check and collective signing
Cothority
Network policy Config file Collective signature
Follower routers
Verify one single co-signature & deploy the policy
Network policy Config file Previous block hash Admin signatures
Admins
17
Step 3: cothority’s appending the new policy to the chain (using Skipchain[2])
Cothority
Network policy Config
Collective signature
Block hash 1 Random ID Network policy Config Collective signature Network policy Config
Collective signature
Previous block hash Block hash 2
Follower routers
[2] Nikitin K, Kokoris-Kogias L, Jovanovic P, et al. CHAINIAC: Proactive Software-Update Transparency via Collectively Signed Skipchains and Verified Builds[J]. 2017.
Admins
18
Step 3: cothority’s appending the new policy to the chain
Cothority
Network policy Config
Collective signature
Block hash 1 Random ID Network policy Config Collective signature Network policy Config
Collective signature
Previous block hash Block hash 2 Network policy Config
Collective signature
Previous block hash Block hash 3
Follower routers
Admins
19
Step 3: cothority’s appending the new policy to the chain
Cothority
Network policy Config
Collective signature
Block hash 1 Random ID Network policy Config Collective signature Network policy Config
Collective signature
Previous block hash Block hash 2 Network policy Config
Collective signature
Previous block hash Block hash 3
Follower routers
Admins
20
Step 3: cothority’s appending the new policy to the chain
Cothority
Network policy Config
Collective signature
Block hash 1 Random ID Network policy Config Collective signature Network policy Config
Collective signature
Previous block hash Block hash 2 Network policy Config
Collective signature
Previous block hash Block hash 3
Follower routers
21
Admins Cothority
Network policy Config
Collective signature
Block hash 1 Random ID Network policy Config Collective signature Network policy Config
Collective signature
Previous block hash Block hash 2 Network policy Config
Collective signature
Previous block hash Block hash 3
Follower routers
Network policy Config file Previous block hash Admin signatures
Step 4: Follower routers’ downloading, verifying & deploying the latest policy periodically Step 1: Admins’ policy proposal & approval Step 2: Cothority’s approval check & co-signature Step 3: Cothority’s appending new policy to the chain
Property Value Matches Chain INPUT, OUTPUT, FORWARD Protocol TCP, UDP, ICMP, ALL Source IP/network x.x.x.x, x.x.x.x/x, ALL Source ports Port number(s) Destination IP/network x.x.x.x, x.x.x.x/x, ALL Destination ports Port number(s) Action ACCEPT, DROP, REJECT
22 Property Value Policy description string Number of network rules int An array of network rules Network rule 1 Network rule 2 … Network rule n
Network policy Network rule
23
24
Testbed: 32-core Intel Xeon CPU at 2.6 GHz with 66GB of RAM (one server of IC cluster)
Maximum 0.18 sec for 100 admins Maximum 20.8 sec for 128 conodes
25 ApprovalCheck 0% CoSign 20% CreateBlock 80%
0%
Genesis policy CPU time component (50 admins, 128 conodes)
ApprovalCheck CoSign CreateBlock
ApprovalCheck 0% CoSign 8% CreateBlock 0% StoreBlock 92%
0%
New policy CPU time component (50 admins, 128 conodes)
ApprovalCheck CoSign CreateBlock StoreBlock
Time cost component
26 [3] https://www.sdxcentral.com/sdn/definitions/inside-sdn-architecture/
27
28
NM APP NM APP (leader) NM APP admins NM service NM service NM service
Genesis Policy Request, New Policy Request
Validate the new policy block & append it to the chain FR APP FR APP FR APP follower routers
Get Policy Request, Verify Policy Request
Return the latest policy & validate its co-signature conodes Protocols Calling Cosi + Skipchain API push Network policy skipchain pull NM service
29