slalom
play

Slalom: Fast, Verifiable and Private Execution of Neural Networks - PowerPoint PPT Presentation

Slalom: Fast, Verifiable and Private Execution of Neural Networks in Trusted Hardware F LORIAN T RAMR & D AN B ONEH ICLR, New Orleans May 7 th 2019 2 Securely outsourcing ML inference with hardware isolation - Intel SGX input X -


  1. Slalom: Fast, Verifiable and Private Execution of Neural Networks in Trusted Hardware F LORIAN T RAMÈR & D AN B ONEH ICLR, New Orleans May 7 th 2019

  2. 2 Securely outsourcing ML inference with hardware isolation - Intel SGX input X - Sanctum (RISC-V), - TrustZone (ARM), ... Hardware enclave X Y output Y Special-purpose General-purpose CPU hardware (e.g., GPU) provides no security Ø Integrity : Cloud cannot tamper with computation Ø Privacy : Integrity + Cloud does not learn inputs Ø Model Privacy : Cloud does not learn model

  3. 3 Slalom: Outsource ML from CPU enclave to special-purpose hardware input X Public model Crypto Hardware enclave X Y output Y Leverage special- purpose hardware for higher efficiency Ø Integrity : Cloud cannot tamper with computation Ø Privacy : Integrity + Cloud does not learn inputs Ø Model Privacy : Cloud does not learn model

  4. 4 Outsourcing ML inference using cryptography Slalom uses cryptographic protocols to securely Enclave outsource all linear layers from the enclave to a GPU. secure § Crypto protocols have high communication costs outsourcing › Enclave processor and GPU are co-located Conv › For VGG16, Slalom sends 50MB of data from the enclave to the GPU per inference ReLU secure outsourcing § Crypto protocols are very efficient for securely Conv outsourcing linear functions ReLU › Most of the computation in a DNN is linear (convolutions, dense, etc.) ... › E.g., ~99% for VGG16 and MobileNet

  5. 5 How to securely outsource a matrix product random one-time pad 𝒀 + 𝑺 𝒀 Linear layer with kernel W + 𝑺 $ 𝑿 𝒁 𝒁 precomputed § Integrity : › Verify that 𝒁 = 𝒀 $ 𝑿 Verify a matrix product with a › Check 𝒁 · 𝒔 ≟ 𝒀 · (𝑿 · 𝒔) [Freivalds 1977] few inner products (generalizes to arbitrary linear layer) § Privacy : › Evaluate model on random data 𝑺 in offline pre-processing phase › Store ( 𝑺 , 𝑺 $ 𝑿 ) in the enclave and use these to encrypt & decrypt the communication with the GPU

  6. 6 Evaluation Evaluate DNN in TEE § Intel SGX + Nvidia Titan XP § Throughput for ImageNet inference § Goal: Slalom (TEE ⟷ GPU) ≫ TEE baseline 10x 10x 8.0 19.8 6.0 20x Throughput Higher 4.6 4.1 10.4 5x 5x relative to is 10x baseline better 0x 0x 0x VGG16 MobileNet ResNet 152 Slalom with integrity Slalom with integrity and privacy Slalom is 10-20x slower than evaluating on GPU (with no security guarantees) Þ But, Slalom only utilizes the GPU ~10% of the time Þ Multiple CPU enclaves can outsource to the same GPU

  7. 7 Conclusions & Open Problems § Slalom allows efficient and secure outsourcing of sensitive DNN computations to the cloud › Hardware isolation protects privacy & integrity, but is slow › Slalom uses cryptography to leverage fast special-purpose hardware without any isolation guarantees § What about training? Poster @4:30 - Great Hall BC #44 › Integrity: Freivalds’ still works J › Privacy: Model itself should remain secret L https://arxiv.org/abs/1806.03287 https://github.com/ftramer/slalom https://floriantramer.com

  8. How to securely outsource a linear layer § Quantization : Evaluate a DNN over ℤ p for a large prime p Maybe I’ll compute X · W incorrectly Integrity : Freivalds’ 1977 § Linear layer X with kernel W Y ≟ X · W Y check Y · r ≟ X · ( W · r ) random Verify any linear layer with a vector few inner products ≈ O(n 2 ) instead of O(n 3 ) § Privacy : precomputed “one-time pads” Evaluate model on random data in offline preprocessing phase › See paper for details

  9. Privacy with precomputed one-time pads random one-time pad X + R Linear layer with kernel W Y = W · ( X + R ) W · X = Y -( W · R ) precompute this

Recommend


More recommend