1 / 10

Mechanics of the pi-calculus and variants

Mechanics of the pi-calculus and variants. Avik Chaudhuri Programming Languages Project, Fall 2004. Outline. The pi -calculus Dynamics: An abstract machine Some static analysis: An attack model (and possibly,) The spi -calculus, carry ideas over A type-system: Safe programs.

gamba
Download Presentation

Mechanics of the pi-calculus and variants

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mechanics of the pi-calculus and variants Avik Chaudhuri Programming Languages Project, Fall 2004

  2. Outline • The pi-calculus • Dynamics: An abstract machine • Some static analysis: An attack model (and possibly,) • The spi-calculus, carry ideas over • A type-system: Safe programs

  3. The ’almost 24/7’-calculus • Read and write actions, parallel composition, restriction, replication • The only terms are channel names ! • Surprisingly expressive, consumes the lambda-calculus • Mobile agents, distributed computation, communication protocols • Applied variants come with a few more primitives (redundant but useful !)

  4. A fun example s k Not funny ! c k s k k c Attacker c?(x).x?(y) Program new k; (c!(k) | new s; (k!(s) | c?(x).x?(y)))

  5. Abstract machine writes reads reads (for each channel) Runqueue R (of waiting processes) Heap H (of waiting requests) Reduction rulesH, R H’, R’

  6. Loki the mischievous one Assumptions • Omnipresent, fairly potent, fairly lucky! • Goal: to know as many secrets as possible Modus operandi • Operates within the rules of the game • Maintains a set of currently known channel names • Listens on these channels, adds anything that comes by to his knowledge • Sends fresh names whenever the program is listening on these channels

  7. Loki attacks Pi Knowledge c (of known names and unknown secrets) writes reads reads (for each channel) Runqueue R (of waiting processes) Heap H (of waiting requests) Reduction rulesH, R, c H’, R’, c’

  8. Spi, abstract machine and Loki • Spi is an applied variant of pi, with cryptographic primitives, naturals, structured terms and guarded processes • Abstract machine extends • Loki’s knowledge is now a set of terms, together with rules to derive new terms from his knowledge • Loki attacks Spi, too

  9. Type system for authorization in Spi • Spi extended to include logic clauses and expectations (~assertions) • A program is safe if all expectations are derivable from the context • A program is robustly safe if the program is safe when composed with any opponent • Theorem: All well-typed programs are robustly safe.

  10. ?, ! Report*, slides, code at http://www.soe.ucsc.edu/~avik/PL/ *abridged version. Type system not shown (unpublished personal communication)

More Related