Slide 1

Slide 1 text

Robust Composition Continuing Efforts Mark S Miller reprise by Clive Boulton 12/17 @PWL Seattle, WA

Slide 2

Slide 2 text

Multi-party computation Distributed systems Doing business with strangers! Doing business with friends... * Necessary Paranoia * Who has access?

Slide 3

Slide 3 text

Apple Root Password Vulnerability The bug meant anyone with physical access to a Mac running High Sierra could get admin access to the machine. https://twitter.com/lemiorh an/status/935581020774 117381

Slide 4

Slide 4 text

Allow access to what...

Slide 5

Slide 5 text

90% Researchers find current online applications maybe vulnerable to hackers. Ransomware...

Slide 6

Slide 6 text

143 million impacted… Equifax appears to have 618 domains, spread across 493 perimeter hosts on ipv4

Slide 7

Slide 7 text

Object-capabilities at Splash 2017

Slide 8

Slide 8 text

Mark S Miller Mark S. Miller is the main designer of the E and Dr. SES distributed object-capability programming languages, inventor of Miller Columns, a pioneer of agoric (market-based secure distributed) computing, an architect of the Xanadu hypertext publishing system, a representative to the EcmaScript committee, and a senior fellow of the Foresight Institute. https://research.google.com/pubs/author35958.html

Slide 9

Slide 9 text

Introduction to robust composition... Objects, References, Messages Object-capabilities (OCaps) Access Abstractions and Compositions Patterns of Safe Cooperation Dimensions & Taxonomy of Electronic Rights Smart Contacts [cheap machines not expensive lawyers] Composing Networks of contracts

Slide 10

Slide 10 text

How do I designate thee - The pointer --> count the ways - Two objects Bob points to Carol : By designation Bob Carol

Slide 11

Slide 11 text

How do I designate thee - The pointer --> count the ways - By introduction Bob Carol Alice FOO

Slide 12

Slide 12 text

How do I designate thee - The pointer --> count the ways - By endowment: Bob already exists, Bobs creates carol, Bob holds interface Bob Carol

Slide 13

Slide 13 text

How do I designate thee - The pointer --> count the ways - By endowment: Carol already exists, Alice creates Bob already endowed Bob Carol Alice

Slide 14

Slide 14 text

How do I designate thee - The pointer --> count the ways - Nothing exists: Bob comes into existence already points to Carol by initial conditions. Bob Carol

Slide 15

Slide 15 text

OCaps: Small step from pure objects 3 restrictions... + Memory safety and encapsulation + Effects only by using held references + No powerful references by default -------------------------------------------------------- Reference Graph === Access Graph Only connectivity begets connectivity OO expressiveness for security patterns (normally thought complex)

Slide 16

Slide 16 text

Objects as closures Examples of Dr. SES a variant of JavaScript Function makeCounter ( ) { var count = 0 return { incr: function ( ) { return ++ count:}. decr: function ( ) {return - count:} }); }

Slide 17

Slide 17 text

ECMAScript 5 Strict Mode Use strict Objects who can defend their integrity Properly defensive 7 steps of initialization is strict JS === Dr. SES

Slide 18

Slide 18 text

strict mode: ECMAScript 2015, ES6 https://devfestseattle.org/ https://github.com/GDGSeattle/h overboard

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Dr. SES - Distributed Resilient Secure EcmaScript Talk presented at the July 2017 TC39 (EcmaScript committee) meeting. https://www.youtube.com/watch?v=YQFPAyCgOlI ES2015 ES6 ES7 lands... OCap

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Frozen Realms API TC39 https://github.com/tc39/proposal-frozen-realms Maximum modularity / least coupling (as close as practical, remove destructive behavior)

Slide 26

Slide 26 text

Capabilities-based crypto-commerce...

Slide 27

Slide 27 text

What are capabilities? A capability is single thing that both designates a resource and authorizes some kind of access to it. Capabilities solve “The Confused Deputy” problem in Windows, MacOS, and Unix derived OS Linux, Android, etc. A first class move from ACL (access control lists) by closing the loopholes bad actors are exploiting in e-commerce. CB posits smart contract moves to POLA (principle of least authority) . Object capability: Smart contact blockchain capability-based.

Slide 28

Slide 28 text

Object-capabilities can provide specific access instead of access control lists. Example: Passport vs Car key. Assume my identity vs grant you access to my car.

Slide 29

Slide 29 text

Permission (ACL) or Object-capability (token)

Slide 30

Slide 30 text

Pull request

Slide 31

Slide 31 text

Doing business with strangers Hard to hold strangers accountable, capabilities-based helps crypto-commerce. http://ward.bay.wiki.org/view/agreeing-with-strangers

Slide 32

Slide 32 text

On scaling throughput during an ICO Blockchain meets Object-capability event at Berkeley, CAL via @ecsa_team pic @iC

Slide 33

Slide 33 text

Federated Wiki... Ward, does wiki deliberately avoid global locks by design? page Clive, yes, wiki enables collective behavior without any synchronization at the application level" page

Slide 34

Slide 34 text

Summary Cryptocurrencies boom makes sense when computer security in operating systems and programming languages were designed for private networks. Yet commerce now operates over public networks. Work scaling blockchain technologies perhaps is proxy for securing crypto-commerce. By addressing process, trust and access. ● Smart contracts can enforce procedures within the company. For example, say, ‘user A can only access X document with approval from user B and C’. ● In respect to trust, it allows companies to ensure that procedures are being executed in compliance with regulation. ● Web developers can implement JavaScript strict-mode now to improve current apps (more object-capabilities slated for ES7).

Slide 35

Slide 35 text

More Mark Miller’s thesis and researched links http://clive.tries.fed.wiki/view/presenting-robust-composition Clive Boulton is fostering crypto-commerce… https://www.linkedin.com/in/cliveboulton/ Tweet me at twitter.com/iC