SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Correctness of a Secret Computer
Peter T. Breuer
University of Birmingham, UK
This talk is available at
http://birmingham.academia.edu/PeterBreuer/Talks/
A 'fully homomorpic crypto-
processor' design
● Paper is about a general purpose crypto-processor
● Computer that works on encrypted data
● The design in the paper is called a KPU
● Never encrypts or decrypts anything at all
Observer sees ... Garbage inGarbage out
How does it work?
● KPU has one changed component wrt CPU:
– `arithmetic/logic unit' (ALU)
⇒ Arithmetic and logic is encrypted
●
4587898 '+' 4587898  97999
(2) (2) (4)
● Implementation? For this paper, we don't care!
● Paper shows it does work, whatever the technology
 Control flow is still observable
Why should this trick not work?
● You can imagine inserting codecs
● in internal CPU data paths
● That works as an encrypted CPU design procedure
● But just changing the arithmetic works instead!
● That's unexpected - a KPU contains no codecs
Unit 1 Unit 2
Encrypted
data
Modified unit 1 Modified unit 2
In fact it does not work universally
● Only certain programs work in KPU
– Those maintain separation between
● Program addresses (not encrypted)
● Data and data addesses (encrypted)
● This property is called crypto-safe for a KPU
– Example of not crypto-safe:
● Jump to suboutine whose address is Elvis's
birthdate written backwards
– If think `obvious it will work,' need to reconsider!
http://birmingham.academia.edu/PeterBreuer/Talks/
What the paper says
1.Defines the model-theoretic notion: crypto-safety
2.Proves crypto-safe programs run correctly in KPU
where correct means 'gets the same states as in a
normal CPU, but encrypted'
You don't need to read the paper now!
http://birmingham.academia.edu/PeterBreuer/Talks/
Erratum
● Mea culpa
– A program is crypto-safe if at runtime every
instruction that expects encrypted data gets
encrypted data and every instruction that
expects unencrypted data gets unencrypted data
and every read from an encrypted address is
from the exact same encryption of the
underlying address value that was last written
to.
● I forgot to include the “aliasing-safe” bit in paper
http://birmingham.academia.edu/PeterBreuer/Talks/
What's up with 'aliasing'?
● KPU programs must be address-alias -safe
Subroutine foo:
SP -= 32 # 8 local vars
…code ...
SP += 32 # destroy frame
return
Subroutine foo:
GP = SP
SP -= 32
…code ...
SP = GP
return
● Left program returns different alias of SP to caller
● Many different encrypted values of each plain value!
GoodBad
You can imagine ...
● Values have invisible extra bits
● 42.1101101
● Represent different encryptions of '42'
● Arithmetic ignores but mutates the extra bits
● 42.1101101 + 42.1100001 = 84.0110110
● Memory unit is sensitive to the extra bits
● Can't see just '42'. It's not privvy to own decryption
● KPU needs loving care from programmer
What's with the FHE connection?
● What exactly is fully homomorphic encryption?
●
Encrypt(2) '+' encrypt(2)  encrypt(4)
● Likewise for multiplication, division …
● Good news: bank keeps a/c in your own FHE
● Does addition, interest, etc. as required
● Bank never finds out how much money you have
● Gentry (2009) discovered a feasible FHE
●
IBM has implementation in 106
-bit cipherspace
● Seconds per 1-bit addition; vector acceleration ...
It turns out that ...
● The single design principle of a KPU is that its
altered ALU does arithmetic encrypted:
1. encrypt(2) '+' encrypt(2)  encrypt(4)
2. '-' encrypt(2)  encrypt(-2)
3. encrypt(2) '<' encrypt(4) = (2 < 4)
● “The chosen encryption is a homomorphism be-
tween primitive arithmetic functions & KPU ALU”
● Supplying a KPU is supplying the 'FHE operations'
● Constructing a KPU given the encryption is easy
What is a KPU good for?
● Classic answer .. anything FHE is good for:
● Run private computations in the cloud
● Nobody else can understand your data
● Configure encrypted processor safely in the clear
● DoD ought to like it!
● Different answer for KPU:
● Bank gives away KPU on smartcard
● Customers exchange $$$ offline; doing bank's work
● Don't need full 32-bit arithmetic, 1-bit logic suffices
While a KPU is a FHE ...
● You can give the bank your KPU
● Just copy its configuration to them – we're digital!
● Implements your FHE operations for the bank's use
● A FHE is not a KPU
● FHE: 'f'(encrypt(x))  encrypt(f(x)), any formula f
● KPU: 'f'(encrypt(state))  encrypt(f(state)), any
computation f
=/
How secure is a KPU?
● Big weakness: branch test circuitry leaks info!
● encrypted(x) '<' encrypted(y) = x < y {1,0}
● x<0 reveals top bit of x
● x+x <0 reveals second from top bit ...
● Defense: attacker can't tell + from *,/,>>,...
● And no constants are known
● So attacker doesn't really know how to decrypt!
● Why isn't the code for zero obvious?
● 0=0-0=1-1=2-2=3-3=... can't be recognized
● Always are multiple codes for each plain value!
Security news
● For theoreticians ...
● Believe KPU can run emulation of a CPU in its
encrypted arithmetic subsytem, without branching
● Result is a … KPU again
● This bootstrapped KPU is better
● Does not reveal branch test results in plain sight
● Fully encrypted instructions and data, addresses ...
● Not even its control flow is visible
● Sets theoretical limit on how secure KPU may be
● Major concern is signalling via repeat memory access
Size: Back-of-Envelope Calculation
● 3 ciperspace bits = 1 plain bit
● 1-bit encrypted arithmetic
●
+ = ( 26
 3 = 192 bits of info)
● 8!/4!4! = 70 ciphers with 4 codings each of 0,1
● Use different cipher for each bit
●
7032
different ciphers of 32-bit words
● 32-bit addition needs 325 1-bit modules
● 325192 = 30720 bits FPGA
● 32-bit multiplication needs 322
52
1-bit modules
● 322
52
192 = 4915200 bits FPGA
Summary
● Homomophic and Fully Homomorphic Encryptions
are 'holy grail' of cryptography for their possibilities
● E.g. RSA is homomorphic wrt multiplication
● Enables digital money security features
● KPU represents a new class of FHE technology
● Instead of making an E that is an H wrt the A...
● Implements the A[rithmetic] that makes the E a H
● Many open questions!Need to build one to answer!
http://birmingham.academia.edu/PeterBreuer/Talks/

Más contenido relacionado

Destacado

Conquistadores y conquistados mexico (2)
Conquistadores y conquistados mexico (2)Conquistadores y conquistados mexico (2)
Conquistadores y conquistados mexico (2)profesoralorna
 
Dia da alimentação
Dia da alimentaçãoDia da alimentação
Dia da alimentaçãobibliogpais
 
Jorge salinas
Jorge salinasJorge salinas
Jorge salinasjarimar
 
Metas do milenio, instituto eco d. a4
Metas do milenio, instituto eco d. a4Metas do milenio, instituto eco d. a4
Metas do milenio, instituto eco d. a4EcoHospedagem
 
Outubro mês da be lançamento do novo logótipo
Outubro mês da be lançamento do novo logótipoOutubro mês da be lançamento do novo logótipo
Outubro mês da be lançamento do novo logótipobibliogpais
 
L’impotenza maschile ha le ore contate
L’impotenza maschile ha le ore contateL’impotenza maschile ha le ore contate
L’impotenza maschile ha le ore contateKim Diaz
 
Leyenda Mitologica
Leyenda MitologicaLeyenda Mitologica
Leyenda MitologicaLaura-Ortega
 
Oferta hpd ok 72ppp
Oferta hpd ok 72pppOferta hpd ok 72ppp
Oferta hpd ok 72pppliserdesign
 
Resumo - O profissional bibliotecário como gestor de pessoas
Resumo - O profissional bibliotecário como gestor de pessoasResumo - O profissional bibliotecário como gestor de pessoas
Resumo - O profissional bibliotecário como gestor de pessoasLuciana Piovezan
 
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...Michael Altendorf
 
Reforma laboral 2012
Reforma laboral 2012Reforma laboral 2012
Reforma laboral 2012vgp212
 

Destacado (19)

Conquistadores y conquistados mexico (2)
Conquistadores y conquistados mexico (2)Conquistadores y conquistados mexico (2)
Conquistadores y conquistados mexico (2)
 
Pensamiento critico
Pensamiento criticoPensamiento critico
Pensamiento critico
 
FRS Agenda PDF Version
FRS Agenda PDF VersionFRS Agenda PDF Version
FRS Agenda PDF Version
 
Dia da alimentação
Dia da alimentaçãoDia da alimentação
Dia da alimentação
 
Jorge salinas
Jorge salinasJorge salinas
Jorge salinas
 
Tabla
TablaTabla
Tabla
 
Metas do milenio, instituto eco d. a4
Metas do milenio, instituto eco d. a4Metas do milenio, instituto eco d. a4
Metas do milenio, instituto eco d. a4
 
Outubro mês da be lançamento do novo logótipo
Outubro mês da be lançamento do novo logótipoOutubro mês da be lançamento do novo logótipo
Outubro mês da be lançamento do novo logótipo
 
Community Manager
Community Manager Community Manager
Community Manager
 
L’impotenza maschile ha le ore contate
L’impotenza maschile ha le ore contateL’impotenza maschile ha le ore contate
L’impotenza maschile ha le ore contate
 
El observador pdf
El observador pdfEl observador pdf
El observador pdf
 
Leyenda Mitologica
Leyenda MitologicaLeyenda Mitologica
Leyenda Mitologica
 
Oferta hpd ok 72ppp
Oferta hpd ok 72pppOferta hpd ok 72ppp
Oferta hpd ok 72ppp
 
Giineth
GiinethGiineth
Giineth
 
Para el blog
Para el blogPara el blog
Para el blog
 
Resumo - O profissional bibliotecário como gestor de pessoas
Resumo - O profissional bibliotecário como gestor de pessoasResumo - O profissional bibliotecário como gestor de pessoas
Resumo - O profissional bibliotecário como gestor de pessoas
 
Habito (1)
Habito (1)Habito (1)
Habito (1)
 
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...
Kapitel 6 Marktforschung & -Analyse Michael Altendorf FH Salzburg Multimedia ...
 
Reforma laboral 2012
Reforma laboral 2012Reforma laboral 2012
Reforma laboral 2012
 

Más de Peter Breuer

Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)Peter Breuer
 
Certifying (RISC) Machine Code Safe from Aliasing (OpenCert 2013)
Certifying (RISC) Machine Code Safe from Aliasing  (OpenCert 2013)Certifying (RISC) Machine Code Safe from Aliasing  (OpenCert 2013)
Certifying (RISC) Machine Code Safe from Aliasing (OpenCert 2013)Peter Breuer
 
Tutorial: Formal Methods for Hardware Verification - Overview and Application...
Tutorial: Formal Methods for Hardware Verification - Overview and Application...Tutorial: Formal Methods for Hardware Verification - Overview and Application...
Tutorial: Formal Methods for Hardware Verification - Overview and Application...Peter Breuer
 
A Semantic Model for VHDL-AMS (CHARME '97)
A Semantic Model for VHDL-AMS (CHARME '97)A Semantic Model for VHDL-AMS (CHARME '97)
A Semantic Model for VHDL-AMS (CHARME '97)Peter Breuer
 
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)Peter Breuer
 
Higher Order Applicative XML (Monterey 2002)
Higher Order Applicative XML (Monterey 2002)Higher Order Applicative XML (Monterey 2002)
Higher Order Applicative XML (Monterey 2002)Peter Breuer
 
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...Peter Breuer
 
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...Peter Breuer
 

Más de Peter Breuer (8)

Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
Empirical Patterns in Google Scholar Citation Counts (CyberPatterns 2014)
 
Certifying (RISC) Machine Code Safe from Aliasing (OpenCert 2013)
Certifying (RISC) Machine Code Safe from Aliasing  (OpenCert 2013)Certifying (RISC) Machine Code Safe from Aliasing  (OpenCert 2013)
Certifying (RISC) Machine Code Safe from Aliasing (OpenCert 2013)
 
Tutorial: Formal Methods for Hardware Verification - Overview and Application...
Tutorial: Formal Methods for Hardware Verification - Overview and Application...Tutorial: Formal Methods for Hardware Verification - Overview and Application...
Tutorial: Formal Methods for Hardware Verification - Overview and Application...
 
A Semantic Model for VHDL-AMS (CHARME '97)
A Semantic Model for VHDL-AMS (CHARME '97)A Semantic Model for VHDL-AMS (CHARME '97)
A Semantic Model for VHDL-AMS (CHARME '97)
 
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
The mixed-signal modelling language VHDL-AMS and its semantics (ICNACSA 1999)
 
Higher Order Applicative XML (Monterey 2002)
Higher Order Applicative XML (Monterey 2002)Higher Order Applicative XML (Monterey 2002)
Higher Order Applicative XML (Monterey 2002)
 
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
Abstract Interpretation meets model checking near the 1000000 LOC mark: Findi...
 
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
Detecting Deadlock, Double-Free and Other Abuses in a Million Lines of Linux ...
 

Último

ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityVictorSzoltysek
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewDianaGray10
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxFIDO Alliance
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...ScyllaDB
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)Wonjun Hwang
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfdanishmna97
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfalexjohnson7307
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTopCSSGallery
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...SOFTTECHHUB
 

Último (20)

ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 

Correctness of a Secret Computer (ESSoS '13)

  • 1. Correctness of a Secret Computer Peter T. Breuer University of Birmingham, UK This talk is available at http://birmingham.academia.edu/PeterBreuer/Talks/
  • 2. A 'fully homomorpic crypto- processor' design ● Paper is about a general purpose crypto-processor ● Computer that works on encrypted data ● The design in the paper is called a KPU ● Never encrypts or decrypts anything at all Observer sees ... Garbage inGarbage out
  • 3. How does it work? ● KPU has one changed component wrt CPU: – `arithmetic/logic unit' (ALU) ⇒ Arithmetic and logic is encrypted ● 4587898 '+' 4587898  97999 (2) (2) (4) ● Implementation? For this paper, we don't care! ● Paper shows it does work, whatever the technology  Control flow is still observable
  • 4. Why should this trick not work? ● You can imagine inserting codecs ● in internal CPU data paths ● That works as an encrypted CPU design procedure ● But just changing the arithmetic works instead! ● That's unexpected - a KPU contains no codecs Unit 1 Unit 2 Encrypted data Modified unit 1 Modified unit 2
  • 5. In fact it does not work universally ● Only certain programs work in KPU – Those maintain separation between ● Program addresses (not encrypted) ● Data and data addesses (encrypted) ● This property is called crypto-safe for a KPU – Example of not crypto-safe: ● Jump to suboutine whose address is Elvis's birthdate written backwards – If think `obvious it will work,' need to reconsider! http://birmingham.academia.edu/PeterBreuer/Talks/
  • 6. What the paper says 1.Defines the model-theoretic notion: crypto-safety 2.Proves crypto-safe programs run correctly in KPU where correct means 'gets the same states as in a normal CPU, but encrypted' You don't need to read the paper now! http://birmingham.academia.edu/PeterBreuer/Talks/
  • 7. Erratum ● Mea culpa – A program is crypto-safe if at runtime every instruction that expects encrypted data gets encrypted data and every instruction that expects unencrypted data gets unencrypted data and every read from an encrypted address is from the exact same encryption of the underlying address value that was last written to. ● I forgot to include the “aliasing-safe” bit in paper http://birmingham.academia.edu/PeterBreuer/Talks/
  • 8. What's up with 'aliasing'? ● KPU programs must be address-alias -safe Subroutine foo: SP -= 32 # 8 local vars …code ... SP += 32 # destroy frame return Subroutine foo: GP = SP SP -= 32 …code ... SP = GP return ● Left program returns different alias of SP to caller ● Many different encrypted values of each plain value! GoodBad
  • 9. You can imagine ... ● Values have invisible extra bits ● 42.1101101 ● Represent different encryptions of '42' ● Arithmetic ignores but mutates the extra bits ● 42.1101101 + 42.1100001 = 84.0110110 ● Memory unit is sensitive to the extra bits ● Can't see just '42'. It's not privvy to own decryption ● KPU needs loving care from programmer
  • 10. What's with the FHE connection? ● What exactly is fully homomorphic encryption? ● Encrypt(2) '+' encrypt(2)  encrypt(4) ● Likewise for multiplication, division … ● Good news: bank keeps a/c in your own FHE ● Does addition, interest, etc. as required ● Bank never finds out how much money you have ● Gentry (2009) discovered a feasible FHE ● IBM has implementation in 106 -bit cipherspace ● Seconds per 1-bit addition; vector acceleration ...
  • 11. It turns out that ... ● The single design principle of a KPU is that its altered ALU does arithmetic encrypted: 1. encrypt(2) '+' encrypt(2)  encrypt(4) 2. '-' encrypt(2)  encrypt(-2) 3. encrypt(2) '<' encrypt(4) = (2 < 4) ● “The chosen encryption is a homomorphism be- tween primitive arithmetic functions & KPU ALU” ● Supplying a KPU is supplying the 'FHE operations' ● Constructing a KPU given the encryption is easy
  • 12. What is a KPU good for? ● Classic answer .. anything FHE is good for: ● Run private computations in the cloud ● Nobody else can understand your data ● Configure encrypted processor safely in the clear ● DoD ought to like it! ● Different answer for KPU: ● Bank gives away KPU on smartcard ● Customers exchange $$$ offline; doing bank's work ● Don't need full 32-bit arithmetic, 1-bit logic suffices
  • 13. While a KPU is a FHE ... ● You can give the bank your KPU ● Just copy its configuration to them – we're digital! ● Implements your FHE operations for the bank's use ● A FHE is not a KPU ● FHE: 'f'(encrypt(x))  encrypt(f(x)), any formula f ● KPU: 'f'(encrypt(state))  encrypt(f(state)), any computation f =/
  • 14. How secure is a KPU? ● Big weakness: branch test circuitry leaks info! ● encrypted(x) '<' encrypted(y) = x < y {1,0} ● x<0 reveals top bit of x ● x+x <0 reveals second from top bit ... ● Defense: attacker can't tell + from *,/,>>,... ● And no constants are known ● So attacker doesn't really know how to decrypt! ● Why isn't the code for zero obvious? ● 0=0-0=1-1=2-2=3-3=... can't be recognized ● Always are multiple codes for each plain value!
  • 15. Security news ● For theoreticians ... ● Believe KPU can run emulation of a CPU in its encrypted arithmetic subsytem, without branching ● Result is a … KPU again ● This bootstrapped KPU is better ● Does not reveal branch test results in plain sight ● Fully encrypted instructions and data, addresses ... ● Not even its control flow is visible ● Sets theoretical limit on how secure KPU may be ● Major concern is signalling via repeat memory access
  • 16. Size: Back-of-Envelope Calculation ● 3 ciperspace bits = 1 plain bit ● 1-bit encrypted arithmetic ● + = ( 26  3 = 192 bits of info) ● 8!/4!4! = 70 ciphers with 4 codings each of 0,1 ● Use different cipher for each bit ● 7032 different ciphers of 32-bit words ● 32-bit addition needs 325 1-bit modules ● 325192 = 30720 bits FPGA ● 32-bit multiplication needs 322 52 1-bit modules ● 322 52 192 = 4915200 bits FPGA
  • 17. Summary ● Homomophic and Fully Homomorphic Encryptions are 'holy grail' of cryptography for their possibilities ● E.g. RSA is homomorphic wrt multiplication ● Enables digital money security features ● KPU represents a new class of FHE technology ● Instead of making an E that is an H wrt the A... ● Implements the A[rithmetic] that makes the E a H ● Many open questions!Need to build one to answer! http://birmingham.academia.edu/PeterBreuer/Talks/