Partisan: Scaling the Distributed Actor Runtime
https://www.usenix.org/system/files/atc19-meiklejohn.pdf
- Developer can specify network overlay -> better scalability
- Default: unidirectional async messages between actors
- independent queue
- multiplexing into single queue per node
- Default doesn’t fit all usecases
- Customization:
- parallelism (increase the number of channels between nodes)
- named channels to separate different types of messages
- affinity scheduler to partition traffic across channels depending on source, destination and type
- No changes to Erlang VM
- Contribution:
- Design of Partisan
- Open Source implementation
- Ported Riak from Distributed Erlang to Partisan, analysis of the process
- Benchmarks
Key Negotiation of Bluetooth Attack: Breaking Bluetooth Security
https://knobattack.com
- Bluetooth uses “encryption key negotiation protocol” to agree on the entropy of the link-layer encryption key
- All versions of the Bluetooth REQUIRE to use entropy values between 1 and 16 bytes
- Alice proposes 16 bytes
- Bob agrees or proposes lower value (1 - N-1) or aborts
- Alice agrees
- The entropy negotiation is performed over the Link Manager Protocol (LMP), it is not encrypted and not authenticated
- LMP is transparent to the user as LMP packets are managed by the firmware and not propagated to higher layers
- Attack: Key Negotiation Of Bluetooth (KNOB)
- Charles makes the victims negotiate an encryption key with 1 byte of entropy
- Charles brute-forces the encryption key in real time
- Charles decrypts messages and inject valid messages
- Nobody notices it