A Cryptographic Compiler for Information-Flow Security

Subscribers:
344,000
Published on ● Video Link: https://www.youtube.com/watch?v=JSIj5PUrWL4



Category:
Guide
Duration: 58:36
274 views
0


Joint work with Tamara Rezk and Gurvan le Guernic (MSR-INRIA Joint Centre http://msr-inria.inria.fr/projects/sec) We relate two notions of security: one simple and abstract, based on information flows in programs, the other more concrete, based on cryptography. In language-based security, confidentiality and integrity policies specify the permitted flows of information between parts of a system with different levels of trust. These policies enable a simple treatment of security, but their enforcement is delicate. We consider cryptographic enforcement mechanisms for distributed programs with untrusted components. Such programs may represent, for instance, distributed systems connected by some untrusted network. We develop a compiler from a small imperative language with locality and security annotations down to cryptographic implementations in F#. In source programs, security depends on a policy for reading and writing the shared variables. In their implementations, shared memory is unprotected, and security depends instead on encryption and signing. We rely on standard primitives and hypotheses for cryptography, stated in terms of probabilistic polynomial-time algorithms and games. Relying on a new type system, we show that our compiler preserves all information-flow properties: an adversary that interacts with the trusted components of our code and entirely controls its untrusted components gains illegal information only with negligible probability.




Other Videos By Microsoft Research


2016-09-06Improving Deep Packet Inspection Through Extended Automata
2016-09-06Special vs Random Curves: Could the Conventional Wisdom Be Wrong?
2016-09-06Animating the Dead: Computational Necromancy with Reinforcement Learning [1/31]
2016-09-06Proxy-Based Peer-to-Peer Network: Analysis, Optimization and Algorithms
2016-09-06iBrain: Surviving the Technological Alteration of the Modern Mind
2016-09-06Child Sexual Abuse: Facts & Myths - What You Need To Know To Keep All Children Safe
2016-09-06Conversational Turn-Taking as a Dynamic Decision Process [1/15]
2016-09-06Directing the Datacenter with Machine Learning
2016-09-06The Unfinished Game: Pascal, Fermat & the 17th Century Letter that Made the World Modern
2016-09-06Cryptography: From Theory to Practice
2016-09-06A Cryptographic Compiler for Information-Flow Security
2016-09-06STAIR: The STanford Artificial Intelligence Robot project
2016-09-06Deniable Authentication on the Internet
2016-09-06Scalable Virtual Machine Multiplexing
2016-09-06Graph approximation and local clustering
2016-09-06The Subprime Solution: How Today's Global Financial Crisis Happened, and What to do about It
2016-09-06Real-Time Visual Localisation and Mapping with a Single Camera
2016-09-06Keeping Fit with the Jetsons
2016-09-06Linguistic Visualization for Fun and Profit
2016-09-06Rapid Language Portability for Speech Processing Systems
2016-09-06Context-Aware Scheduler: Avoiding Unfavorable Scheduling to Improve Virtual Machine Performance



Tags:
microsoft research