38
cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft Research)

cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

cTPM: A Cloud TPM for Cross-Device Trusted Applications

Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman

(Microsoft Research)

Page 2: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

§  People  are  using  more  than  one  mobile  device  

 §  Mobile  devices  have  started  to  use  trusted  hardware  

Motivation

A  few  examples:    •  Pasture,  Kotla  et  al.  [OSDI’12]  •  Trusted  sensors,  Liu  et  al.  [Mobisys’12]  •  TLR,  Santos  et  al.  [ASPLOS’14]  

 4/23/14   2  

Chromebook  

Industry   Research  Prototypes  

Page 3: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Cross-device Data Sharing is Easy

4/23/14   3  

Page 4: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

TPM-protected Data Sharing is Hard

4/23/14   4  

Page 5: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Challenge: Sharing Keys across TPMs

4/23/14   5  

§  TPM  root  key  never  leaves  the  chip  §  Key  migraQon  requires  PKI  +  secure  execuQon  mode    

Page 6: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Main Research Question

§  What  is  the  minimal  change  to  the  TPM  design  to  enable  data  sharing  across  TPMs?  

4/23/14   6  

Page 7: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Our Solution: cTPM

§  cTPM  =  TPM  +  addiQonal  root  key  pre-­‐shared  with  cloud  

4/23/14   7  

TPM  Emulator  

TPM  Emulator  

Secure  Channel  

Sharing TPM-protected data is easy!  

Page 8: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

cTPM: Two Additional Benefits

1.  Fast  and  large  “remote”  NVRAM  storage  

4/23/14   8  

Page 9: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

cTPM: Two Additional Benefits

1.  Fast  and  large  NVRAM  storage  2.  Trusted  clock  

4/23/14   9  

Page 10: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Talk Outline

§  MoQvaQon  §  Background  &  Design  alternaQves  §  Design  &  ImplementaQon  §  EvaluaQon  §  Conclusion  

4/23/14   10  

Page 11: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

§  Trusted  Plaeorm  Module  (TPM):  secure  co-­‐processor  §  Crypto  primiQves:  SHA1,  RSA,  …  §  Code  measurement  and  ajestaQon  

§  Trust  CompuQng  Group  (TCG)  defines  TPM  specificaQons:  §  TPM  1.2:  widely  deployed  today  §  TPM  2.0:  emerging  new  standard  to  replace  TPM  1.2  

TPM Background

4/23/14   11  

cTPM  is  based  on  TPM  2.0  

Page 12: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Threat Model & Trust Assumptions

§  Threat  model  §  In-­‐scope:  somware-­‐based  ajacks:  e.g.,  malware  §  Out-­‐of-­‐scope:  physical  hardware  ajacks  on  TPM  

§  Dual  relaQonship  with  the  cloud:  §  We  trust  cloud  with  cTPM  shared  root  key  §  We  do  not  trust  the  cloud  with  existent  TPM  root  keys  

 

§  Future  work:  securing  cloud-­‐side  of  cTPM  4/23/14   12  

Compromised  Compromised  

Safe  

Page 13: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

SEM: TPM’s extensibility mechanism

§  SEM:  Secure  ExecuQon  Mode  (aka.  Intel  TXT)  §  Implements  a  CPU-­‐based  reboot  §  Run  trusted  code  in  an  isolated  environment  

§  Implement  addiQonal  TPM  funcQonality  with  SEM:  §  Step  1:  Suspend  OS,  Enter  SEM,  Run  addiQonal  trusted  code  §  Step  2:  Cleanup,  Exit  SEM,  Resume  OS  

§  Very  challenging  to  use  SEM    §  Performance  overhead,  engineering  issues  §  Lack  of  support  on  mobile  devices  §  No  producQon  somware  today  uses  SEM  

4/23/14   13  

Page 14: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Talk Outline

§  MoQvaQon  §  Background  &  Design  alternaQves  §  Design  &  ImplementaQon  §  EvaluaQon  §  Conclusion  

4/23/14   14  

Page 15: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

cTPM Design Challenges

§  Provisioning  pre-­‐shared  root  keys  in  cTPM  

§  Secure  key  sharing  across  cTPMs  

§  Secure  communicaQon  channel  

§  Cloud-­‐side  NV  storage  

§  Trusted  clock  4/23/14   15  

Page 16: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Provision cTPM Root-of-Trust

§  We  provision  each  cTPM  with  a  cloud  seed:          Unique  random  value  pre-­‐shared  with  cloud  

§  iPhones,  iPads  share  their  seeds  with  iCloud  §  Microsom  Surfaces  share  their  seeds  with  Azure  

§  On  boot-­‐up,  cTPM  determinisQcally  generates  two  keys:  §  Cloud  Root  Key  (CRK)  protects  all  cross-­‐device  secrets    §  Cloud  CommunicaQon  Key  (CCK)  protects  all  communicaQon  

4/23/14   16  

Page 17: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Secure Key Sharing

4/23/14   17  

Page 18: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Communication Methodology

§  Send/Recv  =  NV_Write/NV_Read  §  Device-­‐side  cache  masks  transient  connecQvity  loss  

§  Uses  secure  synchronizaQon  protocol  

4/23/14   18  

Cloud-­‐side  NVRAM  Device-­‐side  cache  

Sync.  NV_Write  

NV_Read  

NV_Read  NV_Write  

Page 19: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Synchronization Protocol

§  Pull  

   §  Push  

4/23/14   19  

Cloud-­‐side  NVRAM  Device-­‐side  Cache  

Device-­‐side  Cache   Cloud-­‐side  NVRAM  

Page 20: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

§  TPM  alone  can’t  establish  connecQon  with  cloud  

TPM Usage Model

TPM   Caller  App  

cmd  

results  

Block  other    commands  

4/23/14   20  

Page 21: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

§  Design  asynchronous  commands:  bejer  availability  and  responsiveness  §  Establish  secure  channel  out  of  untrusted  enQQes  

Untrusted  

Secure Asynchronous Communication

cTPM   Caller  App  cmd  blob  

Cloud  

blob’  results  

blob  

blob’  Phase  2  

Phase  1  

Phase  3  

4/23/14   21  Local  Device  

Trusted  blob  =    TPM2_Sync_Begin(RD,  NV42)  

blob’  =    TPM2_Sync_Proc(blob)  

RET_CODE  =  TPM2_Sync_End(blob’)  

Page 22: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Cloud-backed NV Storage

§  Local  cached  NV  entries  have  TTLs  §  Once  TTL  expires,  NV  entry  in  the  cache  becomes  invalid  §  Apps  can  re-­‐sync  with  cloud  to  refresh  TTL  

§  cTPM  Qmeout  can  abort  pending  cloud  commands  §  Cloud  can  adjust  this  Qmeout,  default  value  is  5  minutes  

§  Trusted  clock:  “special”  NV  entry  updated  by  cloud  §  Clock  accuracy  controlled  by  separate  clock  Qmeout  §  Default  Qmeout  value  is  1  second  

4/23/14   22  

Page 23: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Implementation Details

§  3  new  commands  (TPM  2.0  has  108  commands)  §  TPM2_Sync_Begin()  §  TPM2_Sync_End()  §  TPM2_Sync_Proc()  

§  cTPM  is  based  on  TPM2.0  §  1,304  lines  of  code  (TPM  2.0  is  23,163  LoC)  

§  cTPM  versions  of:  §  Pasture,  Kotla  et  al.  [OSDI’12]  §  TrInc,  Levin  et  al.  [NSDI’09]  

4/23/14   23  

Page 24: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Talk Outline

§  MoQvaQon  §  Background  &  Design  alternaQves  §  Design  &  ImplementaQon  §  EvaluaQon  §  Conclusion  

4/23/14   24  

Page 25: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Evalution Setup

4/23/14   25  

Wide-­‐area  Network  Emulator  (NEWT)  

Used  3G  and  Wi-­‐Fi  typical  RTTs  (reported  by  J.  Huang  et  al.  [Mobisys’12])  

TPM  Emulator  

Page 26: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Evaluation Questions

 §  Are  the  cTPM  protocols  secure?  

§  What  is  the  performance  of  crypto  operaQons?  

4/23/14   26  

Page 27: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Protocol Verification

§  Verified  correctness  of  sync.  protocols  with  ProVerif  

§  Ajacker  model:  §  Ajacker  has  unrestricted  access  to  OS,  applicaQons  &  network  

§  We  did  not  verify  the  correctness  of  implementaQon  

4/23/14   27  

Page 28: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Latency of RSA-2048 key creation

§  CreaQng  RSA-­‐2048  key  in  the  cloud  is  12X  faster  than  on  local  device    

4/23/14   28  

Page 29: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Conclusions

§  cTPM:  Shared  cloud  seed  in  TPM  2.0  §  Small  design  change  to  support  cross-­‐device  scenarios  

§  AddiQonal  cTPM  benefits:  §  High  performance  NV  storage  §  Trusted  clock  

§  Full  implementaQon  of  cTPM  in  TPM  2.0  §  Implemented  Pasture  and  TrInc  on  top  of  cTPM  

 

4/23/14   29  

Page 30: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Thank you

§  Chen  Chen  (ETH  Zurich):  [email protected]  

4/23/14   30  

TPM  Emulator  

TPM  Emulator  

Secure  Channel  

Page 31: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Backup #1: Related Work §  [Kotla,  2012]  R.  Kotla,  T.  Rodeheffer,  I.  Roy,  P.  Stuedi,  and  B.  Wester.  Pasture:  Secure  Offline  Data  

Access  Using  Commodity  Trusted  Hardware.  In  Proc.  of  10th  USENIX  Symposium  on  Opera<ng  Systems  Design  and  Implementa<on  (OSDI),  Hollywoood,  CA,  2012.    

 §  [Liu,  2012]  H.  Liu,  S.  Saroiu,  A.  Wolman,  and  H.  Raj.  Somware  AbstracQons  for  Trusted  Sensors.  In  

Proc.  of  10th  Interna<onal  Conference  on  Mobile  Systems,  Ap-­‐  plica<ons,  and  Services  (MobiSys),  Lake  District,  UK,  2012.    

§  [Santos,  2014]  N.  Santos,  H.  Raj,  S.  Saroiu,  and  A.  Wolman.  Trusted  Language  RunQme  (TLR):  Enabling  Trusted  ApplicaQons  on  Smartphones.  In  Proc.  of  12th  Workshop  on  Mobile  Compu<ng  Systems  and  Applica<ons  (HotMobile),  Phoenix,  AZ,  2011.    

§  [Huang,  2012]  J.  Huang,  F.  Qian,  A.  Gerber,  Z.  M.  Mao,  S.  Sen,  and  O.  Spatscheck.  A  Close  ExaminaQon  of  Performance  Power  CharacterisQcs  of  4G  LTE  Networks.  In  Proc.  of  10th  Interna<onal  Conference  on  Mo-­‐  bile  Systems,  Applica<ons,  and  Services  (MobiSys),  Lake  District,  UK,  2012.  

§  [Levin,  2009]  D.  Levin,  J.  R.  Douceur,  J.  R.  Lorch,  and  T.  Mosci-­‐  broda.  TrInc:  Small  trusted  hardware  for  large  dis-­‐  tributed  systems.  In  Proc.  of  6th  USENIX  Sympo-­‐  sium  on  Networked  Systems  Design  and  Implemen-­‐  ta<on  (NSDI),  Boston,  MA,  2009.    

4/23/14   31  

Page 32: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Backup #2: cTPM Owner Change

§  When  the  mobile  device  is  stolen  §  Ask  the  cloud  to  stop  providing  service  to  the  device  

§  When  the  mobile  device  is  sold  to  a  new  owner  §  Re-­‐keying:  

§  Hardware  method  §  The  merchant  use  a  special  device  for  re-­‐keying  

§  Somware  method  §  Implement  a  re-­‐key  protocol  in  cTPM  

4/23/14   32  

Page 33: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Backup #3: Why not a design alternative

   §  A  shared  key  with  the  cloud  in  current  domains  

§  Problem:  no  domain  to  use  §  Privacy  domain  is  for  endorsement  key  §  Owner  domain  is  cleared  when  the  owner  takes  ownership  §  Plaeorm  domain  is  used  by  the  manufacturer  for  tesQng  

4/23/14   33  

Page 34: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Backup #4: Cloud in Trust Computing Base

§  Dual  relaQonship  with  the  cloud  

§  Securing  the  cloud  is  an  acQve  area  of  research:  §  Emerging  technology  (Intel  SGX)  can  help  protect  secrets  in  the  cloud  

4/23/14   34  

Compromised  Compromised  

Safe  

Page 35: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Backup #5: Pasture with cTPM

§  SemanQcs  of  Pasture  with  cTPM  are  complex  

§  Unmodified  Pasture  with  mulQple  devices:  §  Hard  to  keep  Pasture  protocols  in  lockstep            across  mulQple  devices  

§  cTPM  Pasture  with  mulQple  devices:  §  Decisions  made  on  one  device  are  automaQcally  synced  to  all  other  devices  

4/23/14   35  

Page 36: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Backup #6: TrInc with cTPM

§  TrInc  requires  a  counter  in  NVRAM  to  solve  equivocaQon  problem  for  distributed  system  §  Each  counter  in  NVRAM  only  supports  ~10k  writes  

§  TrInc  with  cTPM  §  Provides  high  performance  counter  in  “remote”  NVRAM  §  Offers  unlimited  number  of  writes  

4/23/14   36  

Page 37: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

Backup #7: TPM 2.0

§  Offer  Algorithm  Agility  §  Offer  three  control  domains  §  TPM  2.0  specificaQon  ==  reference  implementaQon    

4/23/14   37  

Crypto  PrimiQves:  SHA1,  SHA256,  RSA,  ECC,  RC4,  …  …  

Owner  Domain  

Plaeorm  Domain  

Privacy  Domain  

Page 38: cTPM: A Cloud TPM for Cross-Device Trusted Applications...cTPM: A Cloud TPM for Cross-Device Trusted Applications Chen Chen (ETH Zurich), Himanshu Raj, Stefan Saroiu, Alec Wolman (Microsoft

§  Cloud-­‐side  NV  write  is  3.5X  faster  than  local-­‐side  

Latency of cloud-side NVRAM accesses

4/23/14   38  

0  

200  

400  

600  

800  

TPM  2.0  NVRead  

cTPM                NVRead  (3G)  

cTPM                NVRead  (WiFi)  

TPM  2.0  NVWrite  

cTPM                  NVWrite  (3G)  

cTPM                  NVWrite  (WiFi)  

Latency  (m

sec)   TPM_NV  Command  

TPM2_Sync_End  Xfer  +  TPM2_Sync_Proc  TPM2_Sync_Begin