SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
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/

Contenu connexe

En vedette

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
 

En vedette (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
 

Plus 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
 

Plus 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 ...
 

Dernier

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Dernier (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

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/