SlideShare a Scribd company logo
1 of 42
Download to read offline
Secure  Computa-on  and  
Oblivious  RAM
Secure  Compu-ng
•  Nowadays,	
  concept	
  of	
  computa2on	
  out-­‐sourcing	
  is	
  wide	
  spread	
  
•  Especially	
  for	
  mobile	
  
•  How	
  can	
  we	
  ensure	
  the	
  confiden2al	
  
•  Compu2ng	
  Outsourced	
  
ServerClient
•  Trusted	
  Compu2ng	
  Base	
  
CPU Memory
Thread  Model
•  Securely	
  Outsourcing	
  Data	
  -­‐	
  Store,	
  access,	
  and	
  update	
  data	
  on	
  an	
  
untrusted	
  server.	
  
•  What’s	
  untrusted	
  mean?	
  
•  Honest	
  –	
  server	
  never	
  modify	
  the	
  data,	
  integrity	
  OK	
  
•  Curious	
  –	
  server	
  try	
  to	
  monitor	
  the	
  data	
  access,	
  not	
  Confiden2al
Untrusted	
  
Trusted	
  Zone	
  
Secure  Func-on  Evalua-on
•  How	
  to	
  hide	
  the	
  data	
  content	
  	
  
•  Simple	
  Encryp2on	
  ?	
  	
  
•  No,	
  the	
  other	
  party	
  need	
  to	
  do	
  some	
  	
  
computa2on	
  on	
  the	
  data	
  
•  Secure	
  func2on	
  evalua2on	
  (SFE)	
  
•  how	
  two	
  par2es	
  can	
  collaborate	
  to	
  correctly	
  compute	
  func2on	
  without	
  	
  
reveal	
  their	
  inputs	
  to	
  the	
  func2on	
  
•  E.g.	
  Yao’s	
  Garbled	
  Circuit,	
  homomorphic	
  encryp2on	
  
ServerClient
Yao’s  Garbled  Circuit
•  A	
  method	
  that	
  enables	
  two	
  par2es	
  with	
  private	
  inputs	
  x	
  and	
  y	
  to	
  
jointly	
  compute	
  a	
  func2on	
  f(x,y)	
  	
  
•  Privacy	
  -­‐	
  Nothing	
  is	
  learned	
  from	
  the	
  protocol	
  other	
  than	
  the	
  output	
  
•  Base	
  on	
  the	
  Boolean	
  Circuit	
  	
  
•  A	
  garbled	
  boolean	
  circuit	
  is	
  a	
  collec2on	
  of	
  garbled	
  boolean	
  gates.	
  	
  
•  Construct	
  en2re	
  garbled	
  circuit	
  from	
  boolean	
  circuit	
  	
  
AND  Gate
x	
   y	
   z	
  
0	
   0	
   0	
  
0	
   1	
   0	
  
1	
   0	
   0	
  
1	
   1	
   1	
  INPUT	
  wires	
  
OUTPUT	
  
wires	
  
Encrypted  AND  Gate
•  For	
  each	
  wire	
  x,y,z,	
  specify	
  two	
  random	
  values,	
  corresponding	
  to	
  0	
  
and	
  1	
  	
  
Value	
  0	
   Value	
  1	
  
x	
   k0
x	
   k1
x	
  
	
  
y	
   k0
y	
  
	
  
k1
y	
  
	
  
z	
   k0
z	
  
	
  
k1
z	
  
	
  
Construct  GCT
•  Garbled	
  Computa2on	
  Table	
  (GCT)	
  
•  “associate”	
  kz0,	
  kz1	
  with	
  kx0,	
  kx1,	
  ky0,	
  ky1	
  
•  Given	
  two	
  input	
  keys	
  kxa	
  and	
  kyb,	
  only	
  one	
  row	
  of	
  the	
  GCT	
  can	
  be	
  decrypted	
  
correctly,	
  namely:	
  E	
  a(E	
  b(kg(a,b))).	
  	
  
•  	
  
	
  
Construc-on  of  a  Garbled  Gate  
1.  Alice	
  picks	
  two	
  random	
  keys	
  for	
  each	
  wire	
  thus	
  she	
  has	
  6	
  keys	
  in	
  
total	
  
2.  She	
  encrypts	
  each	
  row	
  of	
  the	
  table,	
  crea2ng	
  the	
  GCT	
  	
  
Transfer  Data  to  Untrusted  User
•  She	
  permutes	
  it	
  (rearranges	
  it),	
  so	
  that	
  the	
  key’s	
  posi2on	
  reveals	
  
nothing	
  about	
  the	
  value	
  that	
  it	
  is	
  associated	
  with.	
  	
  
•  She	
  sends	
  it	
  over	
  to	
  Bob,	
  along	
  with	
  her	
  input	
  key	
  kbʹ′,	
  with	
  bʹ′	
  her	
  
input	
  value.	
  	
  
Evalua-on  The  Secret  Func-on
•  Bob	
  now	
  has	
  kbʹ′	
  ,	
  kb	
  and	
  the	
  GCT	
  and	
  he	
  can	
  compute	
  the	
  gate	
  by	
  
decryp2ng	
  GCT.	
  
•  He	
  can	
  decrypt	
  only	
  one	
  line	
  of	
  the	
  GCT,	
  exactly	
  because	
  of	
  its	
  
construc2on.	
  	
  
•  Sends	
  output	
  kg(bʹ′,b)	
  to	
  Alice	
  and	
  the	
  computa2on	
  of	
  the	
  z	
  garbled	
  gate	
  is	
  
over.	
  	
  
•  What	
  Alice	
  have	
  in	
  the	
  end?	
   •  What	
  Bob	
  can	
  observe?	
  
•  GCT	
  
Yao’s  Garbled  Circuit
•  Yao’s	
  Garbled	
  Circuit	
  can	
  do	
  simple	
  computa2on	
  
•  We	
  can	
  construct	
  more	
  complicated	
  circuit	
  by	
  simplest	
  one	
  
•  Without	
  the	
  limita2on	
  of	
  space	
  and	
  2me,	
  Yao’s	
  Garbled	
  Circuit	
  can	
  
help	
  us	
  to	
  do	
  any	
  computa2on	
  	
  
•  Without	
  revealing	
  the	
  input	
  data	
  
TinyGarble:  Highly  Compressed  
and  Scalable  Sequen-al  Garbled  
Circuits
Shortcomings  of  Exis-ng  Approaches
•  Poor	
  scalability	
  
•  Preven2ng	
  large	
  circuit	
  genera2on	
  
•  Manual	
  circuit	
  op2miza2on	
  
•  Not	
  prac2cal	
  
•  High-­‐level	
  abstrac2on	
  
•  Inefficient	
  op2miza2on	
  
Approach
•  Genera2ng	
  op2mized	
  and	
  compact	
  circuits	
  
•  Adap2ng	
  classic	
  hardware	
  synthesis	
  techniques	
  
•  Sequen2al	
  logic	
  descrip2on	
  for	
  func2ons	
  
Op-mize  Flow
Sequen-al  Circuit
•  Combina2onal	
  circuit	
  
•  Output	
  are	
  only	
  func2ons	
  of	
  inputs	
  
•  Sequen2al	
  circuit	
  	
  
•  Output	
  are	
  func2ons	
  of	
  both	
  input	
  and	
  circuit	
  state	
  
Compact  Circuit  Size
•  Decrease	
  circuit	
  size	
  by	
  some	
  sequen2al	
  circuit	
  
Summary
•  Adap2on	
  of	
  established	
  HDL	
  synthesis	
  techniques	
  to	
  compile	
  and	
  
op2mize	
  a	
  func2on	
  into	
  a	
  netlist	
  of	
  gates	
  for	
  use	
  in	
  secure	
  
computa2on	
  protocols	
  
•  Ship	
  tradi2onal	
  circuit	
  op2miza2on	
  to	
  construct	
  garbled	
  circuit	
  
Secure  Enough?
•  Now,	
  the	
  data	
  can	
  be	
  stored	
  in	
  the	
  untrusted	
  storage	
  with	
  some	
  
simple	
  computa2on	
  
•  But	
  the	
  access	
  trace	
  may	
  leave	
  some	
  clue	
  
•  E.g.	
  only	
  few	
  client	
  will	
  access	
  to	
  certain	
  field	
  
•  Therefore,	
  we	
  want	
  to	
  hide	
  the	
  access	
  trace	
  next.	
  
Access  Trace  Hidden
•  	
  Client	
  wants	
  to	
  hide	
  access	
  pacern	
  to	
  untrusted	
  storage	
  	
  
Core  Concept
•  Dummy	
  Read	
  
•  Read	
  mul2ple	
  data	
  once,	
  so	
  acacker	
  cannot	
  guess	
  the	
  real	
  data	
  
•  Dummy	
  Write	
  
•  To	
  make	
  read/write	
  dis2nguish,	
  every	
  opera2on	
  contain	
  both	
  read/write	
  
opera2on	
  	
  
•  Afer	
  a	
  read,	
  a	
  block	
  must	
  relocate	
  
•  If	
  we	
  leave	
  data	
  in	
  the	
  fixed	
  loca2on,	
  it	
  can	
  be	
  frequency	
  analysis	
  
•  Against	
  frequency	
  analysis	
  
Path  ORAM
•  Data	
  in	
  memory	
  is	
  organized	
  in	
  the	
  Binary	
  Tree	
  format	
  
•  Each	
  node	
  is	
  called	
  bucket,	
  which	
  can	
  save	
  several	
  data	
  
•  CPU	
  maintain	
  the	
  private	
  informa2on,	
  posi2on	
  map	
  
•  Posi2on	
  map	
  save	
  the	
  path	
  the	
  corresponding	
  data	
  locate	
  
Basic  Format
d1	
  
d5	
  
d0	
   d1	
   d2	
   d3	
   d4	
   d5	
   d6	
   d7	
   d8	
  
1	
   2	
  
PosiDon	
  Map	
  
D1	
  is	
  saved	
  in	
  
some	
  node	
  in	
  
path	
  1	
  
0	
   1	
   2	
   3	
  memory	
  
CPU	
  
Read  A  Data  Record  D1
d1	
  
d5	
  
d0	
   d1	
   d2	
   d3	
   d4	
   d5	
   d6	
   d7	
   d8	
  
1	
   2	
  
PosiDon	
  Map	
  
0	
   1	
   2	
   3	
  memory	
  
CPU	
  
We	
  can	
  find	
  D1	
  
along	
  the	
  Path	
  1	
  
Reinjec-on  the  Data
d1	
  
d5	
  
d0	
   d1	
   d2	
   d3	
   d4	
   d5	
   d6	
   d7	
   d8	
  
2	
   2	
  
PosiDon	
  Map	
  
0	
   1	
   2	
   3	
  memory	
  
CPU	
  
Choose	
  other	
  path	
  
Reinjec-on  the  Data
•  We	
  will	
  move	
  the	
  data	
  D1	
  to	
  some	
  node	
  of	
  path	
  2	
  
•  However	
  if	
  we	
  write	
  some	
  value	
  in	
  path	
  2,	
  acacker	
  can	
  observe	
  some	
  
data	
  move	
  from	
  path	
  1	
  to	
  path	
  2	
  
•  The	
  rela2onship	
  may	
  be	
  reveal	
  
•  The	
  only	
  node	
  can	
  put	
  D1	
  is	
  the	
  root	
  node	
  
Reinjec-on  the  Data
d1	
  
d5	
  
d0	
   d1	
   d2	
   d3	
   d4	
   d5	
   d6	
   d7	
   d8	
  
2	
   2	
  
PosiDon	
  Map	
  
0	
   1	
   2	
   3	
  memory	
  
CPU	
  
Choose	
  other	
  path	
  
Problem
•  Acack	
  can	
  guess	
  the	
  most	
  recent	
  access	
  node	
  is	
  put	
  in	
  root	
  
•  The	
  root	
  have	
  limited	
  size	
  bucket	
  to	
  save	
  data	
  
•  To	
  solve	
  both	
  problem,	
  evic2on	
  is	
  used	
  
•  In	
  briefly,	
  evic2on	
  is	
  to	
  move	
  the	
  overflow	
  data	
  into	
  child	
  bucket	
  
Reinjec-on  the  Data
….	
  
d1	
  
d5	
  
d0	
   d1	
   d2	
   d3	
   d4	
   d5	
   d6	
   d7	
   d8	
  
2	
   2	
  
PosiDon	
  Map	
  
0	
   1	
   2	
   3	
  memory	
  
CPU	
  
Choose	
  other	
  path	
  
If	
  root	
  node	
  overflow,	
  	
  
1.  Make	
  a	
  real	
  write	
  
2.  Make	
  the	
  dummy	
  write	
  
Dummy	
  Write	
  
Summary  Path-­‐based  ORAM
1.  Save	
  data	
  in	
  the	
  node	
  among	
  the	
  path	
  
•  Path	
  depend	
  on	
  the	
  secret	
  posi2on	
  map	
  in	
  CPU	
  
2.  Afer	
  each	
  access,	
  re-­‐inject	
  it	
  to	
  the	
  new	
  path	
  
•  Also	
  update	
  posi2on	
  map	
  
3.  Evic2on	
  
•  Check	
  the	
  bucket	
  size,	
  move	
  the	
  overflow	
  data	
  to	
  the	
  leaf	
  
Summary  Path-­‐based  ORAM
•  Save	
  data	
  among	
  the	
  path	
  
•  Acacker	
  cannot	
  iden2fy	
  which	
  one	
  is	
  real	
  data	
  
•  Re-­‐inject	
  the	
  data	
  
•  Data	
  reloca2on,	
  access	
  history	
  give	
  no	
  informa2on	
  to	
  acacker	
  –	
  oblivious	
  
•  Evic2ons	
  
•  Move	
  data	
  move	
  down	
  to	
  the	
  tree	
  leaf,	
  leave	
  no	
  rela2on	
  for	
  acacker	
  
ObliVM:  A  Programming  
Framework  for  Secure  
Computa-on
Problem
•  	
  There	
  is	
  the	
  gap	
  between	
  programmer	
  and	
  cryptographer	
  
•  Impera2ve	
  languages	
  
•  Circuit	
  Model	
  
•  ObliVM	
  
•  A	
  tool	
  to	
  convert	
  C-­‐like	
  
program	
  to	
  garbled	
  circuit	
  
Bridge  the  Gap
•  ObliVM	
  
•  A	
  tool	
  to	
  convert	
  C-­‐like	
  program	
  to	
  garbled	
  circuit	
  
	
  
Oblivious  Data  Structure
•  Security	
  labels	
  
•  secure	
  int10[	
  public	
  1000]	
  keys	
  
•  This	
  array	
  will	
  be	
  secret	
  shared	
  but	
  not	
  placed	
  in	
  ORAMs.	
  	
  
•  secure	
  int10[	
  secure	
  1000]	
  keys	
  
•  This	
  array	
  will	
  be	
  placed	
  in	
  a	
  secret-­‐shared	
  ORAM,	
  and	
  we	
  allow	
  secret	
  indices	
  into	
  the	
  
array.	
  
Phantom  Mode  Func-on
•  The	
  program	
  itself	
  must	
  be	
  memory	
  and	
  instruc2on-­‐trace	
  
obliviousness	
  
•  The	
  execu2on	
  trace	
  should	
  be	
  iden2cal	
  every	
  execu2ons	
  
•  Phantom	
  Mode	
  Func2on	
  
•  execu2ng	
  both	
  branches,	
  with	
  one	
  branched	
  really	
  executed,	
  and	
  the	
  other	
  
executed	
  phantomly
Loop  Coalescing
•  Transfer	
  nested	
  loop	
  into	
  single	
  layer,	
  using	
  concept	
  of	
  state	
  machine	
  
•  Translate	
  each	
  code	
  into	
  the	
  new	
  state	
  
•  Simulates	
  a	
  state	
  machine	
  that	
  each	
  state	
  contains	
  a	
  code	
  block	
  
•  Branching	
  statement	
  at	
  the	
  end	
  of	
  each	
  code	
  block	
  will	
  be	
  translated	
  into	
  an	
  
assignment	
  statement	
  that	
  moves	
  the	
  state	
  machine	
  into	
  a	
  next	
  state	
  
	
  
Programmer’s  Abstract
•  Cryptography	
  expert	
  programmer	
  provides	
  library	
  support	
  for	
  
implemen2ng	
  a	
  class	
  of	
  pointer-­‐based	
  data	
  structures	
  
•  non-­‐specialist	
  programmer	
  can	
  implement	
  data	
  structures	
  which	
  will	
  
be	
  compiled	
  to	
  efficient	
  oblivious	
  algorithms	
  that	
  outperform	
  generic	
  
ORAM	
  
Evalua-on
Other  Papers  
•  Privacy	
  and	
  Access	
  Control	
  for	
  Outsourced	
  Personal	
  Records	
  
•  Improve	
  the	
  tree-­‐based	
  ORAM	
  with	
  capability	
  of	
  access	
  control	
  
•  GraphSC:	
  Parallel	
  Secure	
  ComputaDon	
  Made	
  Easy	
  
•  Develop	
  graph-­‐based	
  programming	
  framework	
  based	
  on	
  ObliVM	
  

More Related Content

What's hot

232 md5-considered-harmful-slides
232 md5-considered-harmful-slides232 md5-considered-harmful-slides
232 md5-considered-harmful-slides
Dan Kaminsky
 
Introduction to Windows Dictionary Attacks
Introduction to Windows Dictionary AttacksIntroduction to Windows Dictionary Attacks
Introduction to Windows Dictionary Attacks
NetSPI
 
BlueHat v17 || Dyre to Trickbot: An Inside Look at TLS-Encrypted Command-And-...
BlueHat v17 || Dyre to Trickbot: An Inside Look at TLS-Encrypted Command-And-...BlueHat v17 || Dyre to Trickbot: An Inside Look at TLS-Encrypted Command-And-...
BlueHat v17 || Dyre to Trickbot: An Inside Look at TLS-Encrypted Command-And-...
BlueHat Security Conference
 

What's hot (20)

HSB - Secure DNS en BGP ontwikkelingen - Benno Overeinder
HSB - Secure DNS en BGP ontwikkelingen - Benno OvereinderHSB - Secure DNS en BGP ontwikkelingen - Benno Overeinder
HSB - Secure DNS en BGP ontwikkelingen - Benno Overeinder
 
Attack All the Layers: What's Working during Pentests (OWASP NYC)
Attack All the Layers: What's Working during Pentests (OWASP NYC)Attack All the Layers: What's Working during Pentests (OWASP NYC)
Attack All the Layers: What's Working during Pentests (OWASP NYC)
 
Thoughts about DNS for DDoS
Thoughts about DNS for DDoSThoughts about DNS for DDoS
Thoughts about DNS for DDoS
 
Secure360 - Attack All the Layers! Again!
Secure360 - Attack All the Layers! Again!Secure360 - Attack All the Layers! Again!
Secure360 - Attack All the Layers! Again!
 
Bh eu 05-kaminsky
Bh eu 05-kaminskyBh eu 05-kaminsky
Bh eu 05-kaminsky
 
Twitch Plays Pokémon: Twitch's Chat Architecture
Twitch Plays Pokémon: Twitch's Chat ArchitectureTwitch Plays Pokémon: Twitch's Chat Architecture
Twitch Plays Pokémon: Twitch's Chat Architecture
 
Uncloaking IP Addresses on IRC
Uncloaking IP Addresses on IRCUncloaking IP Addresses on IRC
Uncloaking IP Addresses on IRC
 
232 md5-considered-harmful-slides
232 md5-considered-harmful-slides232 md5-considered-harmful-slides
232 md5-considered-harmful-slides
 
Series of Unfortunate Netflix Container Events - QConNYC17
Series of Unfortunate Netflix Container Events - QConNYC17Series of Unfortunate Netflix Container Events - QConNYC17
Series of Unfortunate Netflix Container Events - QConNYC17
 
Hands on with CoAP and Californium
Hands on with CoAP and CaliforniumHands on with CoAP and Californium
Hands on with CoAP and Californium
 
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack UpPushing Packets - How do the ML2 Mechanism Drivers Stack Up
Pushing Packets - How do the ML2 Mechanism Drivers Stack Up
 
Introduction to Windows Dictionary Attacks
Introduction to Windows Dictionary AttacksIntroduction to Windows Dictionary Attacks
Introduction to Windows Dictionary Attacks
 
5 sharing-app
5 sharing-app5 sharing-app
5 sharing-app
 
Pushing a camel through the eye of a needle
Pushing a camel through the eye of a needlePushing a camel through the eye of a needle
Pushing a camel through the eye of a needle
 
Part 5 : Sharing resources, security principles and protocols
Part 5 : Sharing resources, security principles and protocolsPart 5 : Sharing resources, security principles and protocols
Part 5 : Sharing resources, security principles and protocols
 
CNIT 152: 9 Network Evidence
CNIT 152: 9 Network Evidence CNIT 152: 9 Network Evidence
CNIT 152: 9 Network Evidence
 
Tickling CGI Problems (Tcl Web Server Scripting Vulnerability Research)
Tickling CGI Problems (Tcl Web Server Scripting Vulnerability Research)Tickling CGI Problems (Tcl Web Server Scripting Vulnerability Research)
Tickling CGI Problems (Tcl Web Server Scripting Vulnerability Research)
 
DevOops - Lessons Learned from an OpenStack Network Architect
DevOops - Lessons Learned from an OpenStack Network ArchitectDevOops - Lessons Learned from an OpenStack Network Architect
DevOops - Lessons Learned from an OpenStack Network Architect
 
BlueHat v17 || Dyre to Trickbot: An Inside Look at TLS-Encrypted Command-And-...
BlueHat v17 || Dyre to Trickbot: An Inside Look at TLS-Encrypted Command-And-...BlueHat v17 || Dyre to Trickbot: An Inside Look at TLS-Encrypted Command-And-...
BlueHat v17 || Dyre to Trickbot: An Inside Look at TLS-Encrypted Command-And-...
 
SANS Cloud Security Summit 2018: Forensics as a Service
SANS Cloud Security Summit 2018: Forensics as a ServiceSANS Cloud Security Summit 2018: Forensics as a Service
SANS Cloud Security Summit 2018: Forensics as a Service
 

Viewers also liked

Viewers also liked (15)

Path oram
Path oramPath oram
Path oram
 
Security events in 2014
Security events in 2014Security events in 2014
Security events in 2014
 
Addios!
Addios!Addios!
Addios!
 
Mem forensic
Mem forensicMem forensic
Mem forensic
 
Automatic tool for static analysis
Automatic tool for static analysisAutomatic tool for static analysis
Automatic tool for static analysis
 
ORAM: A Brief Overview
ORAM: A Brief OverviewORAM: A Brief Overview
ORAM: A Brief Overview
 
Inside the Matrix,How to Build Transparent Sandbox for Malware Analysis
Inside the Matrix,How to Build Transparent Sandbox for Malware AnalysisInside the Matrix,How to Build Transparent Sandbox for Malware Analysis
Inside the Matrix,How to Build Transparent Sandbox for Malware Analysis
 
Become A Security Master
Become A Security MasterBecome A Security Master
Become A Security Master
 
Android Application Security
Android Application SecurityAndroid Application Security
Android Application Security
 
HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享
 
Android system security
Android system securityAndroid system security
Android system security
 
Compilation and Execution
Compilation and ExecutionCompilation and Execution
Compilation and Execution
 
DARPA CGC and DEFCON CTF: Automatic Attack and Defense Technique
DARPA CGC and DEFCON CTF: Automatic Attack and Defense TechniqueDARPA CGC and DEFCON CTF: Automatic Attack and Defense Technique
DARPA CGC and DEFCON CTF: Automatic Attack and Defense Technique
 
Malware Detection - A Machine Learning Perspective
Malware Detection - A Machine Learning PerspectiveMalware Detection - A Machine Learning Perspective
Malware Detection - A Machine Learning Perspective
 
網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area網頁安全 Web security 入門 @ Study-Area
網頁安全 Web security 入門 @ Study-Area
 

Similar to Oram And Secure Computation

Why the Address Translation Scheme Matters?
Why the Address Translation Scheme Matters?Why the Address Translation Scheme Matters?
Why the Address Translation Scheme Matters?
Jiaqing Du
 
I2C And SPI Part-23
I2C And  SPI Part-23I2C And  SPI Part-23
I2C And SPI Part-23
Techvilla
 
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
Art Schanz
 
8051 serial communication
8051 serial communication8051 serial communication
8051 serial communication
canh phan
 

Similar to Oram And Secure Computation (20)

Transport Layer Description By Varun Tiwari
Transport Layer Description By Varun TiwariTransport Layer Description By Varun Tiwari
Transport Layer Description By Varun Tiwari
 
Switching units
Switching unitsSwitching units
Switching units
 
I2C introduction
I2C introductionI2C introduction
I2C introduction
 
L3-.pptx
L3-.pptxL3-.pptx
L3-.pptx
 
Why the Address Translation Scheme Matters?
Why the Address Translation Scheme Matters?Why the Address Translation Scheme Matters?
Why the Address Translation Scheme Matters?
 
Serial Busses.pptx
Serial Busses.pptxSerial Busses.pptx
Serial Busses.pptx
 
serial_busses_i2c.pptx
serial_busses_i2c.pptxserial_busses_i2c.pptx
serial_busses_i2c.pptx
 
Raptor codes
Raptor codesRaptor codes
Raptor codes
 
Infrastructure API Lightning Talk by Jeremy Pollard of box.com
Infrastructure API Lightning Talk by Jeremy Pollard of box.comInfrastructure API Lightning Talk by Jeremy Pollard of box.com
Infrastructure API Lightning Talk by Jeremy Pollard of box.com
 
Spil Storage Platform (Erlang) @ EUG-NL
Spil Storage Platform (Erlang) @ EUG-NLSpil Storage Platform (Erlang) @ EUG-NL
Spil Storage Platform (Erlang) @ EUG-NL
 
I2C And SPI Part-23
I2C And  SPI Part-23I2C And  SPI Part-23
I2C And SPI Part-23
 
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.ioWhen DevOps and Networking Intersect by Brent Salisbury of socketplane.io
When DevOps and Networking Intersect by Brent Salisbury of socketplane.io
 
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
MQTC V2.0.1.3 - WMQ & TCP Buffers – Size DOES Matter! (pps)
 
High available energy management system
High available energy management systemHigh available energy management system
High available energy management system
 
Ppt seminar noc
Ppt seminar nocPpt seminar noc
Ppt seminar noc
 
Gpu with cuda architecture
Gpu with cuda architectureGpu with cuda architecture
Gpu with cuda architecture
 
Introduction to sockets tcp ip protocol.ppt
Introduction to sockets tcp ip protocol.pptIntroduction to sockets tcp ip protocol.ppt
Introduction to sockets tcp ip protocol.ppt
 
8051 serial communication
8051 serial communication8051 serial communication
8051 serial communication
 
ccna-day4-switching_1234567890123456.pdf
ccna-day4-switching_1234567890123456.pdfccna-day4-switching_1234567890123456.pdf
ccna-day4-switching_1234567890123456.pdf
 
Inter intergrated circuits-communication protocol
Inter intergrated circuits-communication protocolInter intergrated circuits-communication protocol
Inter intergrated circuits-communication protocol
 

Recently uploaded

Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 

Recently uploaded (20)

Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 

Oram And Secure Computation

  • 1. Secure  Computa-on  and   Oblivious  RAM
  • 2. Secure  Compu-ng •  Nowadays,  concept  of  computa2on  out-­‐sourcing  is  wide  spread   •  Especially  for  mobile   •  How  can  we  ensure  the  confiden2al   •  Compu2ng  Outsourced   ServerClient •  Trusted  Compu2ng  Base   CPU Memory
  • 3. Thread  Model •  Securely  Outsourcing  Data  -­‐  Store,  access,  and  update  data  on  an   untrusted  server.   •  What’s  untrusted  mean?   •  Honest  –  server  never  modify  the  data,  integrity  OK   •  Curious  –  server  try  to  monitor  the  data  access,  not  Confiden2al
  • 4. Untrusted   Trusted  Zone   Secure  Func-on  Evalua-on •  How  to  hide  the  data  content     •  Simple  Encryp2on  ?     •  No,  the  other  party  need  to  do  some     computa2on  on  the  data   •  Secure  func2on  evalua2on  (SFE)   •  how  two  par2es  can  collaborate  to  correctly  compute  func2on  without     reveal  their  inputs  to  the  func2on   •  E.g.  Yao’s  Garbled  Circuit,  homomorphic  encryp2on   ServerClient
  • 5. Yao’s  Garbled  Circuit •  A  method  that  enables  two  par2es  with  private  inputs  x  and  y  to   jointly  compute  a  func2on  f(x,y)     •  Privacy  -­‐  Nothing  is  learned  from  the  protocol  other  than  the  output   •  Base  on  the  Boolean  Circuit     •  A  garbled  boolean  circuit  is  a  collec2on  of  garbled  boolean  gates.     •  Construct  en2re  garbled  circuit  from  boolean  circuit    
  • 6. AND  Gate x   y   z   0   0   0   0   1   0   1   0   0   1   1   1  INPUT  wires   OUTPUT   wires  
  • 7. Encrypted  AND  Gate •  For  each  wire  x,y,z,  specify  two  random  values,  corresponding  to  0   and  1     Value  0   Value  1   x   k0 x   k1 x     y   k0 y     k1 y     z   k0 z     k1 z    
  • 8. Construct  GCT •  Garbled  Computa2on  Table  (GCT)   •  “associate”  kz0,  kz1  with  kx0,  kx1,  ky0,  ky1   •  Given  two  input  keys  kxa  and  kyb,  only  one  row  of  the  GCT  can  be  decrypted   correctly,  namely:  E  a(E  b(kg(a,b))).     •     
  • 9. Construc-on  of  a  Garbled  Gate   1.  Alice  picks  two  random  keys  for  each  wire  thus  she  has  6  keys  in   total   2.  She  encrypts  each  row  of  the  table,  crea2ng  the  GCT    
  • 10. Transfer  Data  to  Untrusted  User •  She  permutes  it  (rearranges  it),  so  that  the  key’s  posi2on  reveals   nothing  about  the  value  that  it  is  associated  with.     •  She  sends  it  over  to  Bob,  along  with  her  input  key  kbʹ′,  with  bʹ′  her   input  value.    
  • 11. Evalua-on  The  Secret  Func-on •  Bob  now  has  kbʹ′  ,  kb  and  the  GCT  and  he  can  compute  the  gate  by   decryp2ng  GCT.   •  He  can  decrypt  only  one  line  of  the  GCT,  exactly  because  of  its   construc2on.     •  Sends  output  kg(bʹ′,b)  to  Alice  and  the  computa2on  of  the  z  garbled  gate  is   over.    
  • 12. •  What  Alice  have  in  the  end?   •  What  Bob  can  observe?   •  GCT  
  • 13. Yao’s  Garbled  Circuit •  Yao’s  Garbled  Circuit  can  do  simple  computa2on   •  We  can  construct  more  complicated  circuit  by  simplest  one   •  Without  the  limita2on  of  space  and  2me,  Yao’s  Garbled  Circuit  can   help  us  to  do  any  computa2on     •  Without  revealing  the  input  data  
  • 14. TinyGarble:  Highly  Compressed   and  Scalable  Sequen-al  Garbled   Circuits
  • 15. Shortcomings  of  Exis-ng  Approaches •  Poor  scalability   •  Preven2ng  large  circuit  genera2on   •  Manual  circuit  op2miza2on   •  Not  prac2cal   •  High-­‐level  abstrac2on   •  Inefficient  op2miza2on  
  • 16. Approach •  Genera2ng  op2mized  and  compact  circuits   •  Adap2ng  classic  hardware  synthesis  techniques   •  Sequen2al  logic  descrip2on  for  func2ons  
  • 18. Sequen-al  Circuit •  Combina2onal  circuit   •  Output  are  only  func2ons  of  inputs   •  Sequen2al  circuit     •  Output  are  func2ons  of  both  input  and  circuit  state  
  • 19. Compact  Circuit  Size •  Decrease  circuit  size  by  some  sequen2al  circuit  
  • 20. Summary •  Adap2on  of  established  HDL  synthesis  techniques  to  compile  and   op2mize  a  func2on  into  a  netlist  of  gates  for  use  in  secure   computa2on  protocols   •  Ship  tradi2onal  circuit  op2miza2on  to  construct  garbled  circuit  
  • 21. Secure  Enough? •  Now,  the  data  can  be  stored  in  the  untrusted  storage  with  some   simple  computa2on   •  But  the  access  trace  may  leave  some  clue   •  E.g.  only  few  client  will  access  to  certain  field   •  Therefore,  we  want  to  hide  the  access  trace  next.  
  • 22. Access  Trace  Hidden •   Client  wants  to  hide  access  pacern  to  untrusted  storage    
  • 23. Core  Concept •  Dummy  Read   •  Read  mul2ple  data  once,  so  acacker  cannot  guess  the  real  data   •  Dummy  Write   •  To  make  read/write  dis2nguish,  every  opera2on  contain  both  read/write   opera2on     •  Afer  a  read,  a  block  must  relocate   •  If  we  leave  data  in  the  fixed  loca2on,  it  can  be  frequency  analysis   •  Against  frequency  analysis  
  • 24. Path  ORAM •  Data  in  memory  is  organized  in  the  Binary  Tree  format   •  Each  node  is  called  bucket,  which  can  save  several  data   •  CPU  maintain  the  private  informa2on,  posi2on  map   •  Posi2on  map  save  the  path  the  corresponding  data  locate  
  • 25. Basic  Format d1   d5   d0   d1   d2   d3   d4   d5   d6   d7   d8   1   2   PosiDon  Map   D1  is  saved  in   some  node  in   path  1   0   1   2   3  memory   CPU  
  • 26. Read  A  Data  Record  D1 d1   d5   d0   d1   d2   d3   d4   d5   d6   d7   d8   1   2   PosiDon  Map   0   1   2   3  memory   CPU   We  can  find  D1   along  the  Path  1  
  • 27. Reinjec-on  the  Data d1   d5   d0   d1   d2   d3   d4   d5   d6   d7   d8   2   2   PosiDon  Map   0   1   2   3  memory   CPU   Choose  other  path  
  • 28. Reinjec-on  the  Data •  We  will  move  the  data  D1  to  some  node  of  path  2   •  However  if  we  write  some  value  in  path  2,  acacker  can  observe  some   data  move  from  path  1  to  path  2   •  The  rela2onship  may  be  reveal   •  The  only  node  can  put  D1  is  the  root  node  
  • 29. Reinjec-on  the  Data d1   d5   d0   d1   d2   d3   d4   d5   d6   d7   d8   2   2   PosiDon  Map   0   1   2   3  memory   CPU   Choose  other  path  
  • 30. Problem •  Acack  can  guess  the  most  recent  access  node  is  put  in  root   •  The  root  have  limited  size  bucket  to  save  data   •  To  solve  both  problem,  evic2on  is  used   •  In  briefly,  evic2on  is  to  move  the  overflow  data  into  child  bucket  
  • 31. Reinjec-on  the  Data ….   d1   d5   d0   d1   d2   d3   d4   d5   d6   d7   d8   2   2   PosiDon  Map   0   1   2   3  memory   CPU   Choose  other  path   If  root  node  overflow,     1.  Make  a  real  write   2.  Make  the  dummy  write   Dummy  Write  
  • 32. Summary  Path-­‐based  ORAM 1.  Save  data  in  the  node  among  the  path   •  Path  depend  on  the  secret  posi2on  map  in  CPU   2.  Afer  each  access,  re-­‐inject  it  to  the  new  path   •  Also  update  posi2on  map   3.  Evic2on   •  Check  the  bucket  size,  move  the  overflow  data  to  the  leaf  
  • 33. Summary  Path-­‐based  ORAM •  Save  data  among  the  path   •  Acacker  cannot  iden2fy  which  one  is  real  data   •  Re-­‐inject  the  data   •  Data  reloca2on,  access  history  give  no  informa2on  to  acacker  –  oblivious   •  Evic2ons   •  Move  data  move  down  to  the  tree  leaf,  leave  no  rela2on  for  acacker  
  • 34. ObliVM:  A  Programming   Framework  for  Secure   Computa-on
  • 35. Problem •   There  is  the  gap  between  programmer  and  cryptographer   •  Impera2ve  languages   •  Circuit  Model   •  ObliVM   •  A  tool  to  convert  C-­‐like   program  to  garbled  circuit  
  • 36. Bridge  the  Gap •  ObliVM   •  A  tool  to  convert  C-­‐like  program  to  garbled  circuit    
  • 37. Oblivious  Data  Structure •  Security  labels   •  secure  int10[  public  1000]  keys   •  This  array  will  be  secret  shared  but  not  placed  in  ORAMs.     •  secure  int10[  secure  1000]  keys   •  This  array  will  be  placed  in  a  secret-­‐shared  ORAM,  and  we  allow  secret  indices  into  the   array.  
  • 38. Phantom  Mode  Func-on •  The  program  itself  must  be  memory  and  instruc2on-­‐trace   obliviousness   •  The  execu2on  trace  should  be  iden2cal  every  execu2ons   •  Phantom  Mode  Func2on   •  execu2ng  both  branches,  with  one  branched  really  executed,  and  the  other   executed  phantomly
  • 39. Loop  Coalescing •  Transfer  nested  loop  into  single  layer,  using  concept  of  state  machine   •  Translate  each  code  into  the  new  state   •  Simulates  a  state  machine  that  each  state  contains  a  code  block   •  Branching  statement  at  the  end  of  each  code  block  will  be  translated  into  an   assignment  statement  that  moves  the  state  machine  into  a  next  state    
  • 40. Programmer’s  Abstract •  Cryptography  expert  programmer  provides  library  support  for   implemen2ng  a  class  of  pointer-­‐based  data  structures   •  non-­‐specialist  programmer  can  implement  data  structures  which  will   be  compiled  to  efficient  oblivious  algorithms  that  outperform  generic   ORAM  
  • 42. Other  Papers   •  Privacy  and  Access  Control  for  Outsourced  Personal  Records   •  Improve  the  tree-­‐based  ORAM  with  capability  of  access  control   •  GraphSC:  Parallel  Secure  ComputaDon  Made  Easy   •  Develop  graph-­‐based  programming  framework  based  on  ObliVM