The Ascend Secure Processor. Christopher Fletcher MIT

Size: px
Start display at page:

Download "The Ascend Secure Processor. Christopher Fletcher MIT"

Transcription

1 The Ascend Secure Processor Christopher Fletcher MIT 1

2 Joint work with Srini Devadas, Marten van Dijk Ling Ren, Albert Kwon, Xiangyao Yu Elaine Shi & Emil Stefanov David Wentzlaff & Princeton Team (Mike, Tri, Jonathan, Alexey, Yaosheng) Omer Khan 2

3 MEE Last talk: Intel SGX Data Integrity Address Timing 3

4 Ascend Processor This talk Data Memory controller Integrity Address Timing 4

5 Outline Motivation + Oblivious RAM (ORAM) primer ORAM in Hardware Demo 5

6 Op Address Time R 0 1 W 1 10 R 5 15 R 6 16 R 7 17 If (secret variable) { scan memory } Binary search SGX broken through page faults Shared library usage Search queries [Xu et al. 15] [Zhuang et al. 04] [Islam et al. 12] 6

7 Oblivious RAM (ORAM) [Goldreich-Ostrovsky 96] On-chip Chip pins Cache miss ORAM Controller Shuffled Provably removes all access pattern leakage 7

8 ORAM security definition Access is 3 tuple: (op = Read/write, address, data) Consider access sequences A and A A = [ (op 1, address 1, data 1 ), (op 2, address 2, data 2 ), ] A = [ (op 1, address 1, data 1 ), (op 2, address 2, data 2 ), ] If A == A then ORAM(A) ORAM(A ) 8

9 Path ORAM [CCS 13] ORAM Controller (on-chip) Chip pins Read/writes The ORAM 9

10 Block assigned to random path. Block lives on that path. PosMap A, 2 B, 3 A, 2 B, 3 Off-chip Path

11 Chip pins Not Encrypted Encrypted PosMap Empty space = dummy encryptions Off-chip B, 3 A, 2 B, 3 A, 2 dummy dummy dummy dummy dummy Path

12 Path ORAM Access: Read+write the path the block is assigned to. 12

13 Path ORAM Access: Read+write the path the block is assigned to. Off-chip PosMap dummy B, 3 A, 2 B, 3 4 dummy A, 2 dummy A, 4 Stash B, 3 dummy dummy dummy dummy Path

14 Typically, 4 slots per bucket Z=4 Z=1 Off-chip B, 3 for simplicity dummy dummy dummy dummy dummy Path

15 Too big! Off-chip B, 3 A, 4 B, 3 A, 4 15

16 Map recursion [Shi et al., 11] PosMap ORAMBlock PosMap ORAM 2 On-chip Map On-chip Map A, 4 B, 3 Smaller Small enough 16

17 Map recursion [Shi et al., 11] On-chip PosMap Data ORAM PosMap ORAM 1 PosMap ORAM 2 17

18 Path ORAM summary Blocks assigned to paths. B Access block: Read+write path Adversary sees: random paths. 18

19 ORAM in Hardware 19

20 First ORAM in silicon Ascend in silicon Collaboration with David Wentzlaff s Princeton MIT Team 20

21 First silicon fully 500 MHz &.9 V Design (Verilog) Open Source 21

22 Blocks must live on assigned path or in stash. Can overflow Off-chip PosMap A, 4 B, 2 A, 4 Stash B, 2 Path

23 Blocks must live on assigned path or in stash. PosMap Off-chip Bottleneck in prior work [Maas et al. 13] Causes 3 X avg. slowdown on SPEC. A, 4 B, 2 A, 4 Stash B, 2 Path

24 Bit blasted stash eviction [FCCM 15] def evict(path block, Path evict, occ): t 1 = Path block Path evict t 2 = bit_reverse( ( (t 1 Ʌ t 1 ) 1) Ʌ occ ) ret bit_reverse( t 2 Ʌ t 2 ) Can be pipelined ~ Bit vectors Path block, Path evict, occ evict() circuit greatest common prefix occ 24

25 Simple design, no performance bottleneck. 25

26 ORAM Integrity protection for ORAM Cache miss Shuffled Overlay Hash tree 26

27 ORAM logic Test harness SHA-3 One SHA-3 unit FPGA Prototype 27

28 Cheap Integrity Scheme [ASPLOS 15] Per-block MAC {Block data, Hash(Block data, Block addr, counter)} Good: Hash 1 block, NOT path Bad: Need to store counters on-chip Replace entries in map with counters! 28

29 Want: Path P = PosMap[A] Algorithm: Given A: derive A, A, A P = PRF(A PosMap[A ] = Counter) P = PRF(A ORAMAccess(A, P )) P = PRF(A ORAMAccess(A, P )) Data = ORAMAccess(A, P) A +1 A Block A MAC K (Counter A data) Counter for A + 1 Counter for A PosMap ORAM 2 PosMap ORAM 1 Block A Data ORAM A Counter P Block A P P Block (A, D) Problem: C > P On-chip PosMap (root of trust) More schemes to get C < P Integrity checks

30 Cheap Integrity Scheme [ASPLOS 15] Result: Hashing decreased by 68 X, simple design 30

31 ORAM randomizes data layout. Computer architecture assumes data locality. ISCA 13 Subtree size = row size 31

32 # Row misses: ~ tree height ~ tree height subtree height 32

33 Row misses: 60% overhead 13% overhead 33

34 .5 mm 6 mm 460M transistors AES rounds Stash evict() ORAM PLL Tile 0 Tile 1 Tile 2 Tile 3 Tile 4 Tile 5 Tile 6 Tile 7 Tile 8 Tile 9 Encryption Stash Recursion, PLB, Integrity Tile 10 Tile 15 Tile 11 Tile 16 Tile 12 Tile 17 Tile 13 Tile 18 Tile 14 Tile 19 2 mm Hash unit Tile 20 Tile 21 Tile 22 Tile 23 Tile 24 6 mm 34

35 Slowdown (X) Slowdown vs. insecure 2 DRAM channels, In-order core, 2-level cache hierarchy, 1 MByte last-level cache ORAM = 1208 cycles / tree lookup 11 1 tpcc ycsb astar bzip2 gcc gob h264 libq mcf omnet perl sjeng avg 35

36 Demo 36

37 Backup 37

Design and Implementation of the Ascend Secure Processor. Ling Ren, Christopher W. Fletcher, Albert Kwon, Marten van Dijk, Srinivas Devadas

Design and Implementation of the Ascend Secure Processor. Ling Ren, Christopher W. Fletcher, Albert Kwon, Marten van Dijk, Srinivas Devadas Design and Implementation of the Ascend Secure Processor Ling Ren, Christopher W. Fletcher, Albert Kwon, Marten van Dijk, Srinivas Devadas Agenda Motivation Ascend Overview ORAM for obfuscation Ascend:

More information

Ascend: Architecture for Secure Computation on Encrypted Data Oblivious RAM (ORAM)

Ascend: Architecture for Secure Computation on Encrypted Data Oblivious RAM (ORAM) CSE 5095 & ECE 4451 & ECE 5451 Spring 2017 Lecture 7b Ascend: Architecture for Secure Computation on Encrypted Data Oblivious RAM (ORAM) Marten van Dijk Syed Kamran Haider, Chenglu Jin, Phuong Ha Nguyen

More information

Searchable Encryption Using ORAM. Benny Pinkas

Searchable Encryption Using ORAM. Benny Pinkas Searchable Encryption Using ORAM Benny Pinkas 1 Desiderata for Searchable Encryption Security No leakage about the query or the results Functionality Variety of queries that are supported Performance 2

More information

Protecting Private Data in the Cloud: A Path Oblivious RAM Protocol

Protecting Private Data in the Cloud: A Path Oblivious RAM Protocol Protecting Private Data in the Cloud: A Path Oblivious RAM Protocol Nathan Wolfe and Ethan Zou Mentors: Ling Ren and Xiangyao Yu Fourth Annual MIT PRIMES Conference May 18, 2014 Outline 1. Background 2.

More information

Design space exploration and optimization of path oblivious RAM in secure processors

Design space exploration and optimization of path oblivious RAM in secure processors Design space exploration and optimization of path oblivious RAM in secure processors The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters.

More information

Freecursive ORAM: [Nearly] Free Recursion and Integrity Verification for Position-based Oblivious RAM

Freecursive ORAM: [Nearly] Free Recursion and Integrity Verification for Position-based Oblivious RAM Freecursive ORAM: [Nearly] Free Recursion and Integrity Verification for Position-based Oblivious RAM Christopher W. Fletcher, Ling Ren, Albert Kwon, Marten van Dijk, Srinivas Devadas Massachusetts Institute

More information

arxiv: v1 [cs.ar] 4 Nov 2016

arxiv: v1 [cs.ar] 4 Nov 2016 Flat ORAM: A Simplified Write-Only Oblivious RAM Construction for Secure Processor Architectures Syed Kamran Haider University of Connecticut Email: syed.haider@uconn.edu Marten van Dijk University of

More information

Onion ORAM: Constant Bandwidth ORAM Using Additively Homomorphic Encryption Ling Ren

Onion ORAM: Constant Bandwidth ORAM Using Additively Homomorphic Encryption Ling Ren Onion ORAM: Constant Bandwidth ORAM Using Additively Homomorphic Encryption Ling Ren Joint work with: Chris Fletcher, Srini Devadas, Marten van Dijk, Elaine Shi, Daniel Wichs Oblivious RAM (ORAM) Client

More information

Design Space Exploration and Optimization of Path Oblivious RAM in Secure Processors

Design Space Exploration and Optimization of Path Oblivious RAM in Secure Processors Design Space Exploration and Optimization of Path Oblivious RAM in Secure Processors Ling Ren, Xiangyao Yu, Christopher W. Fletcher, Marten van Dijk and Srinivas Devadas MIT CSAIL, Cambridge, MA, USA {renling,

More information

A HIGH-PERFORMANCE OBLIVIOUS RAM CONTROLLER ON THE CONVEY HC-2EX HETEROGENEOUS COMPUTING PLATFORM

A HIGH-PERFORMANCE OBLIVIOUS RAM CONTROLLER ON THE CONVEY HC-2EX HETEROGENEOUS COMPUTING PLATFORM A HIGH-PERFORMANCE OBLIVIOUS RAM CONTROLLER ON THE CONVEY HC-2EX HETEROGENEOUS COMPUTING PLATFORM BASED ON PHANTOM: PRACTICAL OBLIVIOUS COMPUTATION IN A SECURE PROCESSOR FROM CCS-2013! Martin Maas, Eric

More information

at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 2016 Signature redacted

at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 2016 Signature redacted Oblivious RAM: From Theory to Practice by Christopher W. Fletcher B.S. in Electrical Engineering and Computer Science, University of California, Berkeley (2010) S.M. in Electrical Engineering and Computer

More information

Exploring Timing Side-channel Attacks on Path-ORAMs

Exploring Timing Side-channel Attacks on Path-ORAMs Exploring Timing Side-channel Attacks on Path-ORAMs Chongxi Bao, and Ankur Srivastava Dept. of ECE, University of Maryland, College Park Email: {borisbcx, ankurs}@umd.edu Abstract In recent research, it

More information

Architecture- level Security Issues for main memory. Ali Shafiee

Architecture- level Security Issues for main memory. Ali Shafiee Architecture- level Security Issues for main memory Ali Shafiee Aganda Replay- A;ack (bonsai) merkle tree NVM challenages Endurance stealing Side- channel A;ack due to resource sharing Time channel a;ack

More information

Secure Remote Storage Using Oblivious RAM

Secure Remote Storage Using Oblivious RAM Secure Remote Storage Using Oblivious RAM Giovanni Malloy Mentors: Georgios Kellaris, Kobbi Nissim August 11, 2016 Abstract Oblivious RAM (ORAM) is a protocol that allows a user to access the data she

More information

Asymptotically Tight Bounds for Composing ORAM with PIR

Asymptotically Tight Bounds for Composing ORAM with PIR Asymptotically Tight Bounds for Composing ORAM with PIR Ittai Abraham 1, Christopher W. Fletcher 2, Kartik Nayak 3, Benny Pinkas 4, and Ling Ren 5 1 VMware Research, Israel iabraham@vmware.com, 2 University

More information

Memory Defenses. The Elevation from Obscurity to Headlines. Rajeev Balasubramonian School of Computing, University of Utah

Memory Defenses. The Elevation from Obscurity to Headlines. Rajeev Balasubramonian School of Computing, University of Utah Memory Defenses The Elevation from Obscurity to Headlines Rajeev Balasubramonian School of Computing, University of Utah Image sources: pinterest, gizmodo 2 Spectre Overview Victim Code x is controlled

More information

Secure DIMM: Moving ORAM Primitives Closer to Memory

Secure DIMM: Moving ORAM Primitives Closer to Memory Secure DIMM: Moving ORAM Primitives Closer to Memory Ali Shafiee, Rajeev Balasubramonian, Feifei Li School of Computing University of Utah Salt Lake City, Utah, USA Email: {shafiee,rajeev,lifeifei}@cs.utah.edu

More information

Ring ORAM: Closing the Gap Between Small and Large Client Storage Oblivious RAM

Ring ORAM: Closing the Gap Between Small and Large Client Storage Oblivious RAM Ring ORAM: Closing the Gap Between Small and arge Client Storage Oblivious RAM ing Ren, Christopher W. Fletcher, Albert Kwon, Emil Stefanov, Elaine Shi Marten van Dijk, Srinivas Devadas Massachusetts Institute

More information

PageVault: Securing Off-Chip Memory Using Page-Based Authen?ca?on. Blaise-Pascal Tine Sudhakar Yalamanchili

PageVault: Securing Off-Chip Memory Using Page-Based Authen?ca?on. Blaise-Pascal Tine Sudhakar Yalamanchili PageVault: Securing Off-Chip Memory Using Page-Based Authen?ca?on Blaise-Pascal Tine Sudhakar Yalamanchili Outline Background: Memory Security Motivation Proposed Solution Implementation Evaluation Conclusion

More information

GP-ORAM: A Generalized Partition ORAM

GP-ORAM: A Generalized Partition ORAM Computer Science Technical Reports Computer Science Summer 8-8-2015 GP-ORAM: A Generalized Partition ORAM Zhang Jinsheng Department of Computer Science, alexzjs@alumni.iastate.edu Zhang Wensheng Iowa State

More information

An Accountability Scheme for Oblivious RAMs

An Accountability Scheme for Oblivious RAMs Computer Science Technical Reports Computer Science 2013 An Accountability Scheme for Oblivious RAMs Ka Yang Iowa State University Zhang Jinsheng Iowa State University, alexzjs@alumni.iastate.edu Zhang

More information

Cooperative Path-ORAM for Effective Memory Bandwidth Sharing in Server Settings

Cooperative Path-ORAM for Effective Memory Bandwidth Sharing in Server Settings 2017 IEEE International Symposium on High Performance Computer Architecture Cooperative Path-ORAM for Effective Memory Bandwidth Sharing in Server Settings Rujia Wang Youtao Zhang Jun Yang Electrical and

More information

6.857 L17. Secure Processors. Srini Devadas

6.857 L17. Secure Processors. Srini Devadas 6.857 L17 Secure Processors Srini Devadas 1 Distributed Computation Example: Distributed Computation on the Internet (SETI@home, etc.) Job Dispatcher Internet DistComp() { x = Receive(); result = Func(x);

More information

Efficient Memory Integrity Verification and Encryption for Secure Processors

Efficient Memory Integrity Verification and Encryption for Secure Processors Efficient Memory Integrity Verification and Encryption for Secure Processors G. Edward Suh, Dwaine Clarke, Blaise Gassend, Marten van Dijk, Srinivas Devadas Massachusetts Institute of Technology New Security

More information

Getting to Work with OpenPiton

Getting to Work with OpenPiton Getting to Work with OpenPiton Jonathan Balkind, Michael McKeown, Yaosheng Fu, Tri Nguyen, Yanqi Zhou, Alexey Lavrov, Mohammad Shahrad, Adi Fuchs, Samuel Payne, Xiaohua Liang, Matthew Matl, David Wentzlaff

More information

Architectural Primitives for Secure Computation Platforms

Architectural Primitives for Secure Computation Platforms University of Connecticut OpenCommons@UConn Doctoral Dissertations University of Connecticut Graduate School 8-25-2017 Architectural Primitives for Secure Computation Platforms Syed Kamran Haider University

More information

Cache-Oblivious and Data-Oblivious Sorting and Applications

Cache-Oblivious and Data-Oblivious Sorting and Applications Cache-Oblivious and Data-Oblivious Sorting and Applications T-H. Hubert Chan, Yue Guo, Wei-Kai Lin, and Elaine Shi Jan, 2018 External Memory Model Cache efficiency: # of blocks Time: # of words Memory

More information

Abstract. 1 Introduction

Abstract. 1 Introduction Suppressing the Oblivious RAM Timing Channel While Making Information Leakage and Program Efficiency Trade-offs.. Christopher W. Fletcher t: Ling Ren t, Xiangyao Yu t, Marten Van DIJk :j:, Orner Khan :j:,

More information

On the (In)security of Hash-based Oblivious RAM and a New Balancing Scheme

On the (In)security of Hash-based Oblivious RAM and a New Balancing Scheme On the (In)security of Hash-based Oblivious RAM and a New Balancing Scheme Eyal Kushilevitz Steve Lu Rafail Ostrovsky Abstract With the gaining popularity of remote storage (e.g. in the Cloud), we consider

More information

Bucket ORAM: Single Online Roundtrip, Constant Bandwidth Oblivious RAM

Bucket ORAM: Single Online Roundtrip, Constant Bandwidth Oblivious RAM Bucket ORAM: Single Online Roundtrip, Constant Bandwidth Oblivious RAM Christopher Fletcher MIT cwfletch@mit.edu Muhammad Naveed Cornell/UIUC naveed2@illinois.edu Elaine Shi Cornell elaine@cs.cornell.edu

More information

Multi-Client Oblivious RAM Secure Against Malicious Servers

Multi-Client Oblivious RAM Secure Against Malicious Servers Multi-Client Oblivious RAM Secure Against Malicious Servers Erik-Oliver Blass 1, Travis Mayberry 2, and Guevara Noubir 3 1 Airbus Group Innovations, Munich, Germany erik-oliver.blass@airbus.com 2 US Naval

More information

Oblivious Computation with Data Locality

Oblivious Computation with Data Locality Oblivious Computation with Data Locality Gilad Asharov T-H. Hubert Chan Kartik Nayak Cornell Tech The University of Hong Kong UMD asharov@cornell.edu hubert@cs.hku.hk kartik@cs.umd.edu Rafael Pass Ling

More information

Banshee: Bandwidth-Efficient DRAM Caching via Software/Hardware Cooperation!

Banshee: Bandwidth-Efficient DRAM Caching via Software/Hardware Cooperation! Banshee: Bandwidth-Efficient DRAM Caching via Software/Hardware Cooperation! Xiangyao Yu 1, Christopher Hughes 2, Nadathur Satish 2, Onur Mutlu 3, Srinivas Devadas 1 1 MIT 2 Intel Labs 3 ETH Zürich 1 High-Bandwidth

More information

AEGIS: Architecture for Tamper-Evident and Tamper-Resistant Processing

AEGIS: Architecture for Tamper-Evident and Tamper-Resistant Processing AEGIS: Architecture for Tamper-Evident and Tamper-Resistant Processing G. Edward Suh, Dwaine Clarke, Blaise Gassend, Marten van Dijk, Srinivas Devadas Massachusetts Institute of Technology L C S Cases

More information

TSKT-ORAM: A Two-Server k-ary Tree Oblivious RAM without Homomorphic Encryption

TSKT-ORAM: A Two-Server k-ary Tree Oblivious RAM without Homomorphic Encryption future internet Article TSKT-ORAM: A Two-Server k-ary Tree Oblivious RAM without Homomorphic Encryption Jinsheng Zhang 1, Qiumao Ma 1, Wensheng Zhang 1, * and Daji Qiao 2 1 Department of Computer Science,

More information

Indexing. Jan Chomicki University at Buffalo. Jan Chomicki () Indexing 1 / 25

Indexing. Jan Chomicki University at Buffalo. Jan Chomicki () Indexing 1 / 25 Indexing Jan Chomicki University at Buffalo Jan Chomicki () Indexing 1 / 25 Storage hierarchy Cache Main memory Disk Tape Very fast Fast Slower Slow (nanosec) (10 nanosec) (millisec) (sec) Very small Small

More information

SGX Security Background. Masab Ahmad Department of Electrical and Computer Engineering University of Connecticut

SGX Security Background. Masab Ahmad Department of Electrical and Computer Engineering University of Connecticut SGX Security Background Masab Ahmad masab.ahmad@uconn.edu Department of Electrical and Computer Engineering University of Connecticut 1 Security Background Outline Cryptographic Primitives Cryptographic

More information

SGX Enclave Life Cycle Tracking TLB Flushes Security Guarantees

SGX Enclave Life Cycle Tracking TLB Flushes Security Guarantees CSE 5095 & ECE 4451 & ECE 5451 Spring 2017 Lecture 3b SGX Enclave Life Cycle Tracking TLB Flushes Security Guarantees Slide deck extracted from Kamran s tutorial on SGX and Chenglu s security analysis

More information

Recursive ORAMs with Practical Constructions

Recursive ORAMs with Practical Constructions Recursive ORAMs with Practical Constructions Sarvar Patel Giuseppe Persiano Kevin Yeo September 30, 2017 Abstract We present Recursive Square Root ORAM (R-SQRT), a simple and flexible ORAM that can be

More information

Topic 21: Memory Technology

Topic 21: Memory Technology Topic 21: Memory Technology COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Old Stuff Revisited Mercury Delay Line Memory Maurice Wilkes, in 1947,

More information

Topic 21: Memory Technology

Topic 21: Memory Technology Topic 21: Memory Technology COS / ELE 375 Computer Architecture and Organization Princeton University Fall 2015 Prof. David August 1 Old Stuff Revisited Mercury Delay Line Memory Maurice Wilkes, in 1947,

More information

Simple and Efficient Two-Server ORAM

Simple and Efficient Two-Server ORAM Simple and Efficient Two-Server ORAM Xiao Wang Dov Gordon Jonathan Katz Abstract We show a protocol for two-server oblivious RAM (ORAM) that is simpler and more efficient than the best prior work. Our

More information

Constructing Virtual Architectures on Tiled Processors. David Wentzlaff Anant Agarwal MIT

Constructing Virtual Architectures on Tiled Processors. David Wentzlaff Anant Agarwal MIT Constructing Virtual Architectures on Tiled Processors David Wentzlaff Anant Agarwal MIT 1 Emulators and JITs for Multi-Core David Wentzlaff Anant Agarwal MIT 2 Why Multi-Core? 3 Why Multi-Core? Future

More information

ObfusMem: A Low-Overhead Access Obfuscation for Trusted Memories

ObfusMem: A Low-Overhead Access Obfuscation for Trusted Memories ObfusMem: A Low-Overhead Access Obfuscation for Trusted Memories Amro Awad 1, Yipeng Wang 2, Deborah Shands 3, Yan Solihin 2 1 Sandia National Laboratories 2 North Carolina State University 3 National

More information

Usable PIR. Network Security and Applied. Cryptography Laboratory.

Usable PIR. Network Security and Applied. Cryptography Laboratory. Network Security and Applied Cryptography Laboratory http://crypto.cs.stonybrook.edu Usable PIR NDSS '08, San Diego, CA Peter Williams petertw@cs.stonybrook.edu Radu Sion sion@cs.stonybrook.edu ver. 2.1

More information

Decoupled Compressed Cache: Exploiting Spatial Locality for Energy-Optimized Compressed Caching

Decoupled Compressed Cache: Exploiting Spatial Locality for Energy-Optimized Compressed Caching Decoupled Compressed Cache: Exploiting Spatial Locality for Energy-Optimized Compressed Caching Somayeh Sardashti and David A. Wood University of Wisconsin-Madison 1 Please find the power point presentation

More information

TWORAM: Efficient Oblivious RAM in Two Rounds with Applications to Searchable Encryption

TWORAM: Efficient Oblivious RAM in Two Rounds with Applications to Searchable Encryption TWORAM: Efficient Oblivious RAM in Two Rounds with Applications to Searchable Encryption Sanjam Garg 1, Payman Mohassel 2, and Charalampos Papamanthou 3 1 University of California, Berkeley 2 Yahoo! Labs

More information

TIME TRAVELING HARDWARE AND SOFTWARE SYSTEMS. Xiangyao Yu, Srini Devadas CSAIL, MIT

TIME TRAVELING HARDWARE AND SOFTWARE SYSTEMS. Xiangyao Yu, Srini Devadas CSAIL, MIT TIME TRAVELING HARDWARE AND SOFTWARE SYSTEMS Xiangyao Yu, Srini Devadas CSAIL, MIT FOR FIFTY YEARS, WE HAVE RIDDEN MOORE S LAW Moore s Law and the scaling of clock frequency = printing press for the currency

More information

Dual-Core Execution: Building A Highly Scalable Single-Thread Instruction Window

Dual-Core Execution: Building A Highly Scalable Single-Thread Instruction Window Dual-Core Execution: Building A Highly Scalable Single-Thread Instruction Window Huiyang Zhou School of Computer Science University of Central Florida New Challenges in Billion-Transistor Processor Era

More information

Refresher: Applied Cryptography

Refresher: Applied Cryptography Refresher: Applied Cryptography (emphasis on common tools for secure processors) Chris Fletcher Fall 2017, 598 CLF, UIUC Complementary reading Intel SGX Explained (ISE) Victor Costan, Srini Devadas https://eprint.iacr.org/2016/086.pdf

More information

Getting to Work with OpenPiton

Getting to Work with OpenPiton Getting to Work with OpenPiton Jonathan Balkind, Michael McKeown, Yaosheng Fu, Tri Nguyen, Yanqi Zhou, Alexey Lavrov, Mohammad Shahrad, Adi Fuchs, Samuel Payne, Xiaohua Liang, Matthew Matl, David Wentzlaff

More information

Memories: Memory Technology

Memories: Memory Technology Memories: Memory Technology Z. Jerry Shi Assistant Professor of Computer Science and Engineering University of Connecticut * Slides adapted from Blumrich&Gschwind/ELE475 03, Peh/ELE475 * Memory Hierarchy

More information

I/O Model. Cache-Oblivious Algorithms : Algorithms in the Real World. Advantages of Cache-Oblivious Algorithms 4/9/13

I/O Model. Cache-Oblivious Algorithms : Algorithms in the Real World. Advantages of Cache-Oblivious Algorithms 4/9/13 I/O Model 15-853: Algorithms in the Real World Locality II: Cache-oblivious algorithms Matrix multiplication Distribution sort Static searching Abstracts a single level of the memory hierarchy Fast memory

More information

AEGIS Secure Processor

AEGIS Secure Processor AEGIS Secure Processor G. Edward Suh, Dwaine Clarke, Blaise Gassend, Marten van Dijk, Srinivas Devadas L C S Cases for Physical Security Applications on untrusted hosts with untrusted owners Digital Rights

More information

Sanctum: Minimal HW Extensions for Strong SW Isolation

Sanctum: Minimal HW Extensions for Strong SW Isolation CSE 5095 & ECE 4451 & ECE 5451 Spring 2017 Lecture 7a Sanctum: Minimal HW Extensions for Strong SW Isolation Marten van Dijk Syed Kamran Haider, Chenglu Jin, Phuong Ha Nguyen Department of Electrical &

More information

Distributed Oblivious RAM for Secure Two-Party Computation

Distributed Oblivious RAM for Secure Two-Party Computation Distributed Oblivious RAM for Secure Two-Party Computation Steve Lu Rafail Ostrovsky Abstract Secure two-party computation protocol allows two players, Alice with secret input x and Bob with secret input

More information

A Comparison of Capacity Management Schemes for Shared CMP Caches

A Comparison of Capacity Management Schemes for Shared CMP Caches A Comparison of Capacity Management Schemes for Shared CMP Caches Carole-Jean Wu and Margaret Martonosi Princeton University 7 th Annual WDDD 6/22/28 Motivation P P1 P1 Pn L1 L1 L1 L1 Last Level On-Chip

More information

Cache-Oblivious String Dictionaries

Cache-Oblivious String Dictionaries Cache-Oblivious String Dictionaries Gerth Stølting Brodal University of Aarhus Joint work with Rolf Fagerberg #"! Outline of Talk Cache-oblivious model Basic cache-oblivious techniques Cache-oblivious

More information

PanORAMa: Oblivious RAM with Logarithmic Overhead

PanORAMa: Oblivious RAM with Logarithmic Overhead PanORAMa: Oblivious RAM with Logarithmic Overhead Sarvar Patel 1, Giuseppe Persiano 1,2, Mariana Raykova 1,3, and Kevin Yeo 1 1 Google LLC 2 Università di Salerno 3 Yale University Abstract We present

More information

Database Technology. Topic 7: Data Structures for Databases. Olaf Hartig.

Database Technology. Topic 7: Data Structures for Databases. Olaf Hartig. Topic 7: Data Structures for Databases Olaf Hartig olaf.hartig@liu.se Database System 2 Storage Hierarchy Traditional Storage Hierarchy CPU Cache memory Main memory Primary storage Disk Tape Secondary

More information

A 400Gbps Multi-Core Network Processor

A 400Gbps Multi-Core Network Processor A 400Gbps Multi-Core Network Processor James Markevitch, Srinivasa Malladi Cisco Systems August 22, 2017 Legal THE INFORMATION HEREIN IS PROVIDED ON AN AS IS BASIS, WITHOUT ANY WARRANTIES OR REPRESENTATIONS,

More information

Lectures 6+7: Zero-Leakage Solutions

Lectures 6+7: Zero-Leakage Solutions Lectures 6+7: Zero-Leakage Solutions Contents 1 Overview 1 2 Oblivious RAM 1 3 Oblivious RAM via FHE 2 4 Oblivious RAM via Symmetric Encryption 4 4.1 Setup........................................ 5 4.2

More information

Secure Two-Party Computation in Sublinear (Amortized) Time

Secure Two-Party Computation in Sublinear (Amortized) Time Secure Two-Party omputation in Sublinear (Amortized) Time S. Dov Gordon olumbia University gordon@cs.columbia.edu Jonathan Katz University of Maryland jkatz@cs.umd.edu Fernando Krell olumbia University

More information

Indexing and Hashing

Indexing and Hashing C H A P T E R 1 Indexing and Hashing This chapter covers indexing techniques ranging from the most basic one to highly specialized ones. Due to the extensive use of indices in database systems, this chapter

More information

Virtualized ECC: Flexible Reliability in Memory Systems

Virtualized ECC: Flexible Reliability in Memory Systems Virtualized ECC: Flexible Reliability in Memory Systems Doe Hyun Yoon Advisor: Mattan Erez Electrical and Computer Engineering The University of Texas at Austin Motivation Reliability concerns are growing

More information

Burst ORAM: Minimizing ORAM Response Times for Bursty Access Patterns

Burst ORAM: Minimizing ORAM Response Times for Bursty Access Patterns Burst ORAM: Minimizing ORAM Response Times for Bursty Access Patterns Jonathan Dautrich, University of California, Riverside; Emil Stefanov, University of California, Berkeley; Elaine Shi, University of

More information

Caches II CSE 351 Spring #include <yoda.h> int is_try(int do_flag) { return!(do_flag!do_flag); }

Caches II CSE 351 Spring #include <yoda.h> int is_try(int do_flag) { return!(do_flag!do_flag); } Caches II CSE 351 Spring 2018 #include int is_try(int do_flag) { return!(do_flag!do_flag); } Memory Hierarchies Some fundamental and enduring properties of hardware and software systems: Faster

More information

Efficient Private Information Retrieval

Efficient Private Information Retrieval Efficient Private Information Retrieval K O N S T A N T I N O S F. N I K O L O P O U L O S T H E G R A D U A T E C E N T E R, C I T Y U N I V E R S I T Y O F N E W Y O R K K N I K O L O P O U L O S @ G

More information

Memory Hierarchy. Mehran Rezaei

Memory Hierarchy. Mehran Rezaei Memory Hierarchy Mehran Rezaei What types of memory do we have? Registers Cache (Static RAM) Main Memory (Dynamic RAM) Disk (Magnetic Disk) Option : Build It Out of Fast SRAM About 5- ns access Decoders

More information

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology

Multilevel Memories. Joel Emer Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology 1 Multilevel Memories Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology Based on the material prepared by Krste Asanovic and Arvind CPU-Memory Bottleneck 6.823

More information

HOP: Hardware makes Obfuscation Practical

HOP: Hardware makes Obfuscation Practical HOP: Hardware makes Obfuscation Practical Kartik Nayak 1, Christopher W. Fletcher 2, Ling Ren 3, Nishanth Chandran 4, Satya Lokam 4, Elaine Shi 5, and Vipul Goyal 4 1 UMD kartik@cs.umd.edu 2 UIUC cwfletch@illinois.edu

More information

arxiv: v1 [cs.cr] 19 Sep 2017

arxiv: v1 [cs.cr] 19 Sep 2017 BIOS ORAM: Improved Privacy-Preserving Data Access for Parameterized Outsourced Storage arxiv:1709.06534v1 [cs.cr] 19 Sep 2017 Michael T. Goodrich University of California, Irvine Dept. of Computer Science

More information

Advanced Database Systems

Advanced Database Systems Lecture IV Query Processing Kyumars Sheykh Esmaili Basic Steps in Query Processing 2 Query Optimization Many equivalent execution plans Choosing the best one Based on Heuristics, Cost Will be discussed

More information

Kathleen Durant PhD Northeastern University CS Indexes

Kathleen Durant PhD Northeastern University CS Indexes Kathleen Durant PhD Northeastern University CS 3200 Indexes Outline for the day Index definition Types of indexes B+ trees ISAM Hash index Choosing indexed fields Indexes in InnoDB 2 Indexes A typical

More information

The DragonBeam Framework: Hardware-Protected Security Modules for In-Place Intrusion Detection

The DragonBeam Framework: Hardware-Protected Security Modules for In-Place Intrusion Detection : Hardware-Protected Security Modules for In-Place Intrusion Detection Man-Ki Yoon, Mihai Christodorescu, Lui Sha, Sibin Mohan University of Illinois at Urbana-Champaign Qualcomm Research Silicon Valley

More information

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy Chapter 5B Large and Fast: Exploiting Memory Hierarchy One Transistor Dynamic RAM 1-T DRAM Cell word access transistor V REF TiN top electrode (V REF ) Ta 2 O 5 dielectric bit Storage capacitor (FET gate,

More information

Lecture 12. Lecture 12: The IO Model & External Sorting

Lecture 12. Lecture 12: The IO Model & External Sorting Lecture 12 Lecture 12: The IO Model & External Sorting Lecture 12 Today s Lecture 1. The Buffer 2. External Merge Sort 2 Lecture 12 > Section 1 1. The Buffer 3 Lecture 12 > Section 1 Transition to Mechanisms

More information

Find the block in which the tuple should be! If there is free space, insert it! Otherwise, must create overflow pages!

Find the block in which the tuple should be! If there is free space, insert it! Otherwise, must create overflow pages! Professor: Pete Keleher! keleher@cs.umd.edu! } Keep sorted by some search key! } Insertion! Find the block in which the tuple should be! If there is free space, insert it! Otherwise, must create overflow

More information

Crypto Background & Concepts SGX Software Attestation

Crypto Background & Concepts SGX Software Attestation CSE 5095 & ECE 4451 & ECE 5451 Spring 2017 Lecture 4b Slide deck extracted from Kamran s tutorial on SGX, presented during ECE 6095 Spring 2017 on Secure Computation and Storage, a precursor to this course

More information

Intel Software Guard Extensions (Intel SGX) Memory Encryption Engine (MEE) Shay Gueron

Intel Software Guard Extensions (Intel SGX) Memory Encryption Engine (MEE) Shay Gueron Real World Cryptography Conference 2016 6-8 January 2016, Stanford, CA, USA Intel Software Guard Extensions (Intel SGX) Memory Encryption Engine (MEE) Shay Gueron Intel Corp., Intel Development Center,

More information

Cache-Oblivious Algorithms A Unified Approach to Hierarchical Memory Algorithms

Cache-Oblivious Algorithms A Unified Approach to Hierarchical Memory Algorithms Cache-Oblivious Algorithms A Unified Approach to Hierarchical Memory Algorithms Aarhus University Cache-Oblivious Current Trends Algorithms in Algorithms, - A Unified Complexity Approach to Theory, Hierarchical

More information

Practical Dynamic Searchable Encryption with Small Leakage

Practical Dynamic Searchable Encryption with Small Leakage Practical Dynamic Searchable Encryption with Small Leakage Emil Stefanov UC Berkeley emil@cs.berkeley.edu Charalampos Papamanthou University of Maryland cpap@umd.edu Elaine Shi University of Maryland elaine@cs.umd.edu

More information

Ming Ming Wong Jawad Haj-Yahya Anupam Chattopadhyay

Ming Ming Wong Jawad Haj-Yahya Anupam Chattopadhyay Hardware and Architectural Support for Security and Privacy (HASP 18), June 2, 2018, Los Angeles, CA, USA Ming Ming Wong Jawad Haj-Yahya Anupam Chattopadhyay Computing and Engineering (SCSE) Nanyang Technological

More information

Efficient Oblivious Data Structures for Database Services on the Cloud

Efficient Oblivious Data Structures for Database Services on the Cloud Efficient Oblivious Data Structures for Database Services on the Cloud Thang Hoang Ceyhun D. Ozkaptan Gabriel Hackebeil Attila A. Yavuz Abstract Database-as-a-service (DBaaS) allows the client to store

More information

Storage hierarchy. Textbook: chapters 11, 12, and 13

Storage hierarchy. Textbook: chapters 11, 12, and 13 Storage hierarchy Cache Main memory Disk Tape Very fast Fast Slower Slow Very small Small Bigger Very big (KB) (MB) (GB) (TB) Built-in Expensive Cheap Dirt cheap Disks: data is stored on concentric circular

More information

PacketShader: A GPU-Accelerated Software Router

PacketShader: A GPU-Accelerated Software Router PacketShader: A GPU-Accelerated Software Router Sangjin Han In collaboration with: Keon Jang, KyoungSoo Park, Sue Moon Advanced Networking Lab, CS, KAIST Networked and Distributed Computing Systems Lab,

More information

Raccoon: Closing Digital Side-Channels through Obfuscated Execution

Raccoon: Closing Digital Side-Channels through Obfuscated Execution Raccoon: Closing Digital Side-Channels through Obfuscated Execution Ashay Rane, Calvin Lin, Mohit Tiwari The University of Texas at Austin Secure code? Instruction Pointer if (secret_bit == 1) { z = (msg

More information

Material You Need to Know

Material You Need to Know Review Quiz 2 Material You Need to Know Normalization Storage and Disk File Layout Indexing B-trees and B+ Trees Extensible Hashing Linear Hashing Decomposition Goals: Lossless Joins, Dependency preservation

More information

Improving Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Highly-Associative Caches

Improving Cache Performance and Memory Management: From Absolute Addresses to Demand Paging. Highly-Associative Caches Improving Cache Performance and Memory Management: From Absolute Addresses to Demand Paging 6.823, L8--1 Asanovic Laboratory for Computer Science M.I.T. http://www.csg.lcs.mit.edu/6.823 Highly-Associative

More information

Practical Oblivious RAM and its Applications

Practical Oblivious RAM and its Applications NORTHEASTERN UNIVERSITY Practical Oblivious RAM and its Applications by Travis Mayberry A thesis submitted in partial fulfillment for the degree of Doctor of Philosophy in the Department of Computer Science

More information

Eindhoven University of Technology MASTER. Evolution of oblivious RAM schemes. Teeuwen, P.J.P. Award date: 2015

Eindhoven University of Technology MASTER. Evolution of oblivious RAM schemes. Teeuwen, P.J.P. Award date: 2015 Eindhoven University of Technology MASTER Evolution of oblivious RAM schemes Teeuwen, P.J.P. Award date: 2015 Disclaimer This document contains a student thesis (bachelor's or master's), as authored by

More information

Indexing and Hashing

Indexing and Hashing C H A P T E R 1 Indexing and Hashing Solutions to Practice Exercises 1.1 Reasons for not keeping several search indices include: a. Every index requires additional CPU time and disk I/O overhead during

More information

Lecture 16: On-Chip Networks. Topics: Cache networks, NoC basics

Lecture 16: On-Chip Networks. Topics: Cache networks, NoC basics Lecture 16: On-Chip Networks Topics: Cache networks, NoC basics 1 Traditional Networks Huh et al. ICS 05, Beckmann MICRO 04 Example designs for contiguous L2 cache regions 2 Explorations for Optimality

More information

Hardware Enclave Attacks CS261

Hardware Enclave Attacks CS261 Hardware Enclave Attacks CS261 Threat Model of Hardware Enclaves Intel Attestation Service (IAS) Process Enclave Untrusted Trusted Enclave Code Enclave Data Process Process Other Enclave OS and/or Hypervisor

More information

Chapter 12: Indexing and Hashing. Basic Concepts

Chapter 12: Indexing and Hashing. Basic Concepts Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition

More information

CMSC424: Database Design. Instructor: Amol Deshpande

CMSC424: Database Design. Instructor: Amol Deshpande CMSC424: Database Design Instructor: Amol Deshpande amol@cs.umd.edu Databases Data Models Conceptual representa1on of the data Data Retrieval How to ask ques1ons of the database How to answer those ques1ons

More information

ZeroTrace: Oblivious Memory Primitives from Intel SGX

ZeroTrace: Oblivious Memory Primitives from Intel SGX ZeroTrace: Oblivious Memory Primitives from Intel SGX Sajin Sasy University of Waterloo sajin.sasy@gmail.com Sergey Gorbunov University of Waterloo sergey.gorbunov@uwaterloo.ca Christopher W. Fletcher

More information

roram: Efficient Range ORAM with O(log 2 N) Locality

roram: Efficient Range ORAM with O(log 2 N) Locality 1 roram: Efficient Range ORAM with O(log 2 N) Locality Anrin Chakraborti, Adam J. Aviv, Seung Geol Choi, Travis Mayberry, Daniel S. Roche, Radu Sion Stony Brook University, {anchakrabort, sion}@cs.stonybrook.edu

More information

B-Trees. CS321 Spring 2014 Steve Cutchin

B-Trees. CS321 Spring 2014 Steve Cutchin B-Trees CS321 Spring 2014 Steve Cutchin Topics for Today HW #2 Once Over B Trees Questions PA #3 Expression Trees Balance Factor AVL Heights Data Structure Animations Graphs 2 B-Tree Motivation When data

More information

Marten van Dijk Syed Kamran Haider, Chenglu Jin, Phuong Ha Nguyen. Department of Electrical & Computer Engineering University of Connecticut

Marten van Dijk Syed Kamran Haider, Chenglu Jin, Phuong Ha Nguyen. Department of Electrical & Computer Engineering University of Connecticut CSE 5095 & ECE 4451 & ECE 5451 Spring 2017 Lecture 5a Caching Review Marten van Dijk Syed Kamran Haider, Chenglu Jin, Phuong Ha Nguyen Department of Electrical & Computer Engineering University of Connecticut

More information