SlideShare a Scribd company logo
Recursive Authentication Protocol 1 L. C. Paulson
Mechanized Proofs for a
Recursive Authentication Protocol
Lawrence C. Paulson
Computer Laboratory
University of Cambridge
Recursive Authentication Protocol 2 L. C. Paulson
Overview of the Protocol
• Based on Otway-Rees
• Distributes session keys for any number of agents
• Can be implemented as remote procedure calls
• “application components are in control of security policy and its
enforcement” — John Bull
• Some modifications to assist proofs
Recursive Authentication Protocol 3 L. C. Paulson
The Protocol, with 3 Clients
A B C
S
A,B,Na,~ A,B,Na,~
B,C,Nb,
A,B,Na,~
B,C,Nb,
C,S,Nc,
{Kab,B,Na}Ka
{Kab,B,Na}Ka
{Kbc,C,Nb}Kb,
{Kab,A,Nb}Kb,
{Kab,B,Na}Ka
{Kbc,C,Nb}Kb,
{Kab,A,Nb}Kb,
{Kcs,S,Nc}Kc,
{Kbc,B,Nc}Kc,
Recursive Authentication Protocol 4 L. C. Paulson
The Protocol: Accumulation of Requests
Hashing to make Message Authentication Codes:
HashX Y ≡ {|Hash{|X, Y |}, Y |}
1. A → B : HashKa{|A, B, Na, −|}
2. B → C : HashKb{|B, C, Nb, HashKa{|A, B, Na, −|}|}
2 . C → S : HashKc{|C, S, Nc, HashKb{|B, C, Nb, · · ·|}|}
No limit on the nesting of requests
Recursive Authentication Protocol 5 L. C. Paulson
The Protocol: Distribution of Certificates
3. S → C : {|Kcs, S, Nc|}Kc, {|Kbc, B, Nc|}Kc,
{|Kbc, C, Nb|}Kb, {|Kab, A, Nb|}Kb,
{|Kab, B, Na|}Ka
4. C → B : {|Kbc, C, Nb|}Kb, {|Kab, A, Nb|}Kb,
{|Kab, B, Na|}Ka
4 . B → A : {|Kab, B, Na|}Ka
Recursive Authentication Protocol 6 L. C. Paulson
The Verification Method
• Formal proof, not finite state checking
• Trace semantics, no beliefs or other modalities
• Inductive definitions: a simple, general model of action
• Any number of interleaved runs
• A general & uniform attacker
• Mechanized using Isabelle/HOL
Recursive Authentication Protocol 7 L. C. Paulson
Processing Message Histories
• parts: message components Crypt KX X
parts H contains everything potentially recoverable from H
• analz: message decryption Crypt KX, K−1
X
analz H contains everything currently recoverable from H
• synth: message faking X, K Crypt KX
synth H contains everything expressible using H
Recursive Authentication Protocol 8 L. C. Paulson
The Introduction of Hashing
Allow the message Hash X. How to extend the operators?
• Don’t add Hash X ∈ parts H =⇒ X ∈ parts H
• Don’t add Hash X ∈ analz H =⇒ X ∈ analz H
• Do add X ∈ synth H =⇒ Hash X ∈ synth H
Hashing is one-way, so hash values are atomic
Components vs Ingredients
Recursive Authentication Protocol 9 L. C. Paulson
Inductively Defining the Protocol, 1–2
1. If evs is a trace and Na is fresh, may add
Says A B (HashshrK A{|A, B, Na, −|})
2. If evs has Says A B Pa and Pa = {|Xa, A, B, Na, P|} and
Nb is fresh, may add
Says B C (HashshrK B{|B, C, Nb, Pa|})
B doesn’t know the true sender & can’t verify hash Xa
Recursive Authentication Protocol 10 L. C. Paulson
Inductively Defining the Protocol, 3–4
3. If evs contains the event Says B S Pb, may add a suitable
response Says S B Rb
4. If evs contains the events
Says B C (HashshrK B{|B, C, Nb, Pa|})
Says C B {| Crypt(shrK B){|Kbc, C, Nb|},
Crypt(shrK B){|Kab, A, Nb|}, R|}
may add Says B A R
Recursive Authentication Protocol 11 L. C. Paulson
Inductively Modelling the Server, 1
1. If Kab is a fresh key (not used in evs) then
( HashshrK A{|A, B, Na, −|}, (request)
Crypt(shrK A){|Kab, B, Na|}, (response)
Kab) ∈ respond evs (last key)
Only if the hash can be verified
Recursive Authentication Protocol 12 L. C. Paulson
Inductively Modelling the Server, 2
2. If (Pa, Ra, Kab) ∈ respond evs and Kbc is fresh and
Pa = HashshrK A{|A, B, Na, P|} then
( HashshrK B{|B, C, Nb, Pa|}, (request)
{|Crypt(shrK B){|Kbc, C, Nb|}, (response)
Crypt(shrK B){|Kab, A, Nb|},
Ra|},
Kbc) ∈ respond evs (last key)
Recursive Authentication Protocol 13 L. C. Paulson
An Easy Proof: Long-Term Keys Aren’t Lost
By induction over (P, R, K ) ∈ respond evs:
K ∈ parts{R} =⇒ K is fresh
By induction over evs ∈ recur lost:
K ∈ parts H ⇐⇒ K ∈ lost
(any long-term key K found in traffic was lost initially)
Typically need two nested inductions
Recursive Authentication Protocol 14 L. C. Paulson
Unicity of Nonces
At most one hash in the history H contains
• the key of an uncompromised agent (A ∈ lost)
• any specified nonce value, Na
∃B P . ∀B P.
Hash{|Key(shrK A), A, B, Na, P|} ∈ parts H
→ B = B ∧ P = P
Recursive Authentication Protocol 15 L. C. Paulson
Unicity of Session Keys
At most two certificates in the response (R) contain
• any particular session key, Kab . . .
• made for two uncompromised agents (A, B ∈ lost)
∃A B . ∀A B N.
Crypt(Key(shrK A)){|Kab, B, N|} ∈ parts{R}
→ (A = A ∧ B = B) ∨ (A = B ∧ B = A)
Recursive Authentication Protocol 16 L. C. Paulson
Secrecy
Essential lemma, for any session key Kab:
K ∈ analz( {Kab} ∪ H ) ⇐⇒ K = Kab ∨ K ∈ analz H
Guarantee between uncompromised agents A and B:
Crypt(shrK A){|Kab, B, N|} ∈ parts H =⇒ Kab ∈ analz H
Nonces not involved in proofs
Recursive Authentication Protocol 17 L. C. Paulson
Difficulties involving Certificates
• Danger of re-ordering
• Need for explicitness: name of other agent
• Special treatment of first & last agents
• Complexity of respond’s definition
Simpler version: arbitrary lists of certificates
Recursive Authentication Protocol 18 L. C. Paulson
Limitations of the Proofs
• Authentication of B to A not proved
• Authentication of A to B not provable!
• No dynamic loss of long-term keys
• Encryption assumed secure
• Type confusion not considered (not relevant?)
Recursive Authentication Protocol 19 L. C. Paulson
Statistics
• Two weeks human effort for proofs
• 30 lemmas and theorems
• 135 tactic commands
• Under five minutes CPU time
• Savings from protocol’s symmetries
Recursive Authentication Protocol 20 L. C. Paulson
Conclusions
• Inductive definitions can model non-trivial processes
• Nested inductions cause no problems
• Multiple session keys are no obstacle
• Many types of protocols can be analyzed
• Must distinguish abstract level from implementation

More Related Content

Viewers also liked

Using Security to Build with Confidence in AWS - Trend Micro
Using Security to Build with Confidence in AWS - Trend Micro Using Security to Build with Confidence in AWS - Trend Micro
Using Security to Build with Confidence in AWS - Trend Micro Amazon Web Services
 
Securing the Enterprise Mobile Perimeter
Securing the Enterprise Mobile PerimeterSecuring the Enterprise Mobile Perimeter
Securing the Enterprise Mobile PerimeterBrian Gleeson
 
Updating Security Operations for the Cloud
Updating Security Operations for the CloudUpdating Security Operations for the Cloud
Updating Security Operations for the CloudAmazon Web Services
 
Security and Authentication at a Low Cost
Security and Authentication at a Low CostSecurity and Authentication at a Low Cost
Security and Authentication at a Low CostDonald Malloy
 
Seminar-Two Factor Authentication
Seminar-Two Factor AuthenticationSeminar-Two Factor Authentication
Seminar-Two Factor AuthenticationDilip Kr. Jangir
 
Mobile Two Factor Authentication
Mobile Two Factor AuthenticationMobile Two Factor Authentication
Mobile Two Factor AuthenticationCarter Rabasa
 
Prior Authorization for Dermatology Practices (Sun Knowledge)
Prior Authorization for Dermatology Practices (Sun Knowledge)Prior Authorization for Dermatology Practices (Sun Knowledge)
Prior Authorization for Dermatology Practices (Sun Knowledge)Saikat Mukherjee
 
Web security
Web securityWeb security
Web securitySync.NET
 
Exam II Review Session Information Security 365/765
Exam II Review Session Information Security 365/765Exam II Review Session Information Security 365/765
Exam II Review Session Information Security 365/765Nicholas Davis
 
Instant Single Sign-On and Two-Factor Authentication
Instant Single Sign-On and Two-Factor AuthenticationInstant Single Sign-On and Two-Factor Authentication
Instant Single Sign-On and Two-Factor AuthenticationMaarten Ectors
 
Analysis of Security and Compliance using Oracle SPARC T-Series Servers: Emph...
Analysis of Security and Compliance using Oracle SPARC T-Series Servers: Emph...Analysis of Security and Compliance using Oracle SPARC T-Series Servers: Emph...
Analysis of Security and Compliance using Oracle SPARC T-Series Servers: Emph...Ramesh Nagappan
 
ICAM - Demo Architecture review
ICAM - Demo Architecture reviewICAM - Demo Architecture review
ICAM - Demo Architecture reviewRamesh Nagappan
 
APPNATION IV - The State of Security in the Mobile Enterprise - Cesare Garlati
APPNATION IV - The State of Security in the Mobile Enterprise - Cesare GarlatiAPPNATION IV - The State of Security in the Mobile Enterprise - Cesare Garlati
APPNATION IV - The State of Security in the Mobile Enterprise - Cesare GarlatiMasha Geller
 
Authentication Systems in Internet of Things
Authentication Systems in Internet of ThingsAuthentication Systems in Internet of Things
Authentication Systems in Internet of ThingsEswar Publications
 
Chris Swan's presentation for Thingmonk 2014 - security protocols in constra...
Chris Swan's presentation for Thingmonk 2014 -  security protocols in constra...Chris Swan's presentation for Thingmonk 2014 -  security protocols in constra...
Chris Swan's presentation for Thingmonk 2014 - security protocols in constra...Cohesive Networks
 
2FA, WTF? - Phil Nash - Codemotion Amsterdam 2016
2FA, WTF? -  Phil Nash - Codemotion Amsterdam 20162FA, WTF? -  Phil Nash - Codemotion Amsterdam 2016
2FA, WTF? - Phil Nash - Codemotion Amsterdam 2016Codemotion
 
2014 IEEE DOTNET MOBILE COMPUTING PROJECT A qos-oriented-distributed-routing-...
2014 IEEE DOTNET MOBILE COMPUTING PROJECT A qos-oriented-distributed-routing-...2014 IEEE DOTNET MOBILE COMPUTING PROJECT A qos-oriented-distributed-routing-...
2014 IEEE DOTNET MOBILE COMPUTING PROJECT A qos-oriented-distributed-routing-...IEEEFINALYEARSTUDENTSPROJECTS
 

Viewers also liked (17)

Using Security to Build with Confidence in AWS - Trend Micro
Using Security to Build with Confidence in AWS - Trend Micro Using Security to Build with Confidence in AWS - Trend Micro
Using Security to Build with Confidence in AWS - Trend Micro
 
Securing the Enterprise Mobile Perimeter
Securing the Enterprise Mobile PerimeterSecuring the Enterprise Mobile Perimeter
Securing the Enterprise Mobile Perimeter
 
Updating Security Operations for the Cloud
Updating Security Operations for the CloudUpdating Security Operations for the Cloud
Updating Security Operations for the Cloud
 
Security and Authentication at a Low Cost
Security and Authentication at a Low CostSecurity and Authentication at a Low Cost
Security and Authentication at a Low Cost
 
Seminar-Two Factor Authentication
Seminar-Two Factor AuthenticationSeminar-Two Factor Authentication
Seminar-Two Factor Authentication
 
Mobile Two Factor Authentication
Mobile Two Factor AuthenticationMobile Two Factor Authentication
Mobile Two Factor Authentication
 
Prior Authorization for Dermatology Practices (Sun Knowledge)
Prior Authorization for Dermatology Practices (Sun Knowledge)Prior Authorization for Dermatology Practices (Sun Knowledge)
Prior Authorization for Dermatology Practices (Sun Knowledge)
 
Web security
Web securityWeb security
Web security
 
Exam II Review Session Information Security 365/765
Exam II Review Session Information Security 365/765Exam II Review Session Information Security 365/765
Exam II Review Session Information Security 365/765
 
Instant Single Sign-On and Two-Factor Authentication
Instant Single Sign-On and Two-Factor AuthenticationInstant Single Sign-On and Two-Factor Authentication
Instant Single Sign-On and Two-Factor Authentication
 
Analysis of Security and Compliance using Oracle SPARC T-Series Servers: Emph...
Analysis of Security and Compliance using Oracle SPARC T-Series Servers: Emph...Analysis of Security and Compliance using Oracle SPARC T-Series Servers: Emph...
Analysis of Security and Compliance using Oracle SPARC T-Series Servers: Emph...
 
ICAM - Demo Architecture review
ICAM - Demo Architecture reviewICAM - Demo Architecture review
ICAM - Demo Architecture review
 
APPNATION IV - The State of Security in the Mobile Enterprise - Cesare Garlati
APPNATION IV - The State of Security in the Mobile Enterprise - Cesare GarlatiAPPNATION IV - The State of Security in the Mobile Enterprise - Cesare Garlati
APPNATION IV - The State of Security in the Mobile Enterprise - Cesare Garlati
 
Authentication Systems in Internet of Things
Authentication Systems in Internet of ThingsAuthentication Systems in Internet of Things
Authentication Systems in Internet of Things
 
Chris Swan's presentation for Thingmonk 2014 - security protocols in constra...
Chris Swan's presentation for Thingmonk 2014 -  security protocols in constra...Chris Swan's presentation for Thingmonk 2014 -  security protocols in constra...
Chris Swan's presentation for Thingmonk 2014 - security protocols in constra...
 
2FA, WTF? - Phil Nash - Codemotion Amsterdam 2016
2FA, WTF? -  Phil Nash - Codemotion Amsterdam 20162FA, WTF? -  Phil Nash - Codemotion Amsterdam 2016
2FA, WTF? - Phil Nash - Codemotion Amsterdam 2016
 
2014 IEEE DOTNET MOBILE COMPUTING PROJECT A qos-oriented-distributed-routing-...
2014 IEEE DOTNET MOBILE COMPUTING PROJECT A qos-oriented-distributed-routing-...2014 IEEE DOTNET MOBILE COMPUTING PROJECT A qos-oriented-distributed-routing-...
2014 IEEE DOTNET MOBILE COMPUTING PROJECT A qos-oriented-distributed-routing-...
 

More from Lawrence Paulson

MetiTarski's menagerie of cooperating systems
MetiTarski's menagerie of cooperating systemsMetiTarski's menagerie of cooperating systems
MetiTarski's menagerie of cooperating systemsLawrence Paulson
 
Automated theorem proving for special functions: the next phase
Automated theorem proving for special functions: the next phaseAutomated theorem proving for special functions: the next phase
Automated theorem proving for special functions: the next phaseLawrence Paulson
 
Theorem proving and the real numbers: overview and challenges
Theorem proving and the real numbers: overview and challengesTheorem proving and the real numbers: overview and challenges
Theorem proving and the real numbers: overview and challengesLawrence Paulson
 
Source-Level Proof Reconstruction for Interactive Proving
Source-Level Proof Reconstruction for Interactive ProvingSource-Level Proof Reconstruction for Interactive Proving
Source-Level Proof Reconstruction for Interactive ProvingLawrence Paulson
 
Defining Functions on Equivalence Classes
Defining Functions on Equivalence ClassesDefining Functions on Equivalence Classes
Defining Functions on Equivalence ClassesLawrence Paulson
 
Organizing Numerical Theories using Axiomatic Type Classes
Organizing Numerical Theories using Axiomatic Type ClassesOrganizing Numerical Theories using Axiomatic Type Classes
Organizing Numerical Theories using Axiomatic Type ClassesLawrence Paulson
 
A Generic Tableau Prover and Its Integration with Isabelle
A Generic Tableau Prover and Its Integration with IsabelleA Generic Tableau Prover and Its Integration with Isabelle
A Generic Tableau Prover and Its Integration with IsabelleLawrence Paulson
 
Mechanizing set theory: cardinal arithmetic and the axiom of choice
Mechanizing set theory: cardinal arithmetic and the axiom of choiceMechanizing set theory: cardinal arithmetic and the axiom of choice
Mechanizing set theory: cardinal arithmetic and the axiom of choiceLawrence Paulson
 
MetiTarski: An Automatic Prover for Real-Valued Special Functions
MetiTarski: An Automatic Prover for Real-Valued Special FunctionsMetiTarski: An Automatic Prover for Real-Valued Special Functions
MetiTarski: An Automatic Prover for Real-Valued Special FunctionsLawrence Paulson
 
The Relative Consistency of the Axiom of Choice — Mechanized Using Isabelle/ZF
The Relative Consistency of the Axiom of Choice — Mechanized Using Isabelle/ZFThe Relative Consistency of the Axiom of Choice — Mechanized Using Isabelle/ZF
The Relative Consistency of the Axiom of Choice — Mechanized Using Isabelle/ZFLawrence Paulson
 
The Reflection Theorem: Formalizing Meta-Theoretic Reasoning
The Reflection Theorem: Formalizing Meta-Theoretic ReasoningThe Reflection Theorem: Formalizing Meta-Theoretic Reasoning
The Reflection Theorem: Formalizing Meta-Theoretic ReasoningLawrence Paulson
 
A Machine-Assisted Proof of Gödel's Incompleteness Theorems
A Machine-Assisted Proof of Gödel's Incompleteness TheoremsA Machine-Assisted Proof of Gödel's Incompleteness Theorems
A Machine-Assisted Proof of Gödel's Incompleteness TheoremsLawrence Paulson
 

More from Lawrence Paulson (12)

MetiTarski's menagerie of cooperating systems
MetiTarski's menagerie of cooperating systemsMetiTarski's menagerie of cooperating systems
MetiTarski's menagerie of cooperating systems
 
Automated theorem proving for special functions: the next phase
Automated theorem proving for special functions: the next phaseAutomated theorem proving for special functions: the next phase
Automated theorem proving for special functions: the next phase
 
Theorem proving and the real numbers: overview and challenges
Theorem proving and the real numbers: overview and challengesTheorem proving and the real numbers: overview and challenges
Theorem proving and the real numbers: overview and challenges
 
Source-Level Proof Reconstruction for Interactive Proving
Source-Level Proof Reconstruction for Interactive ProvingSource-Level Proof Reconstruction for Interactive Proving
Source-Level Proof Reconstruction for Interactive Proving
 
Defining Functions on Equivalence Classes
Defining Functions on Equivalence ClassesDefining Functions on Equivalence Classes
Defining Functions on Equivalence Classes
 
Organizing Numerical Theories using Axiomatic Type Classes
Organizing Numerical Theories using Axiomatic Type ClassesOrganizing Numerical Theories using Axiomatic Type Classes
Organizing Numerical Theories using Axiomatic Type Classes
 
A Generic Tableau Prover and Its Integration with Isabelle
A Generic Tableau Prover and Its Integration with IsabelleA Generic Tableau Prover and Its Integration with Isabelle
A Generic Tableau Prover and Its Integration with Isabelle
 
Mechanizing set theory: cardinal arithmetic and the axiom of choice
Mechanizing set theory: cardinal arithmetic and the axiom of choiceMechanizing set theory: cardinal arithmetic and the axiom of choice
Mechanizing set theory: cardinal arithmetic and the axiom of choice
 
MetiTarski: An Automatic Prover for Real-Valued Special Functions
MetiTarski: An Automatic Prover for Real-Valued Special FunctionsMetiTarski: An Automatic Prover for Real-Valued Special Functions
MetiTarski: An Automatic Prover for Real-Valued Special Functions
 
The Relative Consistency of the Axiom of Choice — Mechanized Using Isabelle/ZF
The Relative Consistency of the Axiom of Choice — Mechanized Using Isabelle/ZFThe Relative Consistency of the Axiom of Choice — Mechanized Using Isabelle/ZF
The Relative Consistency of the Axiom of Choice — Mechanized Using Isabelle/ZF
 
The Reflection Theorem: Formalizing Meta-Theoretic Reasoning
The Reflection Theorem: Formalizing Meta-Theoretic ReasoningThe Reflection Theorem: Formalizing Meta-Theoretic Reasoning
The Reflection Theorem: Formalizing Meta-Theoretic Reasoning
 
A Machine-Assisted Proof of Gödel's Incompleteness Theorems
A Machine-Assisted Proof of Gödel's Incompleteness TheoremsA Machine-Assisted Proof of Gödel's Incompleteness Theorems
A Machine-Assisted Proof of Gödel's Incompleteness Theorems
 

Recently uploaded

Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»QADay
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Thierry Lestable
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform EngineeringJemma Hussein Allen
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 

Recently uploaded (20)

Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 

Mechanized Proofs for a Recursive Authentication Protocol

  • 1. Recursive Authentication Protocol 1 L. C. Paulson Mechanized Proofs for a Recursive Authentication Protocol Lawrence C. Paulson Computer Laboratory University of Cambridge
  • 2. Recursive Authentication Protocol 2 L. C. Paulson Overview of the Protocol • Based on Otway-Rees • Distributes session keys for any number of agents • Can be implemented as remote procedure calls • “application components are in control of security policy and its enforcement” — John Bull • Some modifications to assist proofs
  • 3. Recursive Authentication Protocol 3 L. C. Paulson The Protocol, with 3 Clients A B C S A,B,Na,~ A,B,Na,~ B,C,Nb, A,B,Na,~ B,C,Nb, C,S,Nc, {Kab,B,Na}Ka {Kab,B,Na}Ka {Kbc,C,Nb}Kb, {Kab,A,Nb}Kb, {Kab,B,Na}Ka {Kbc,C,Nb}Kb, {Kab,A,Nb}Kb, {Kcs,S,Nc}Kc, {Kbc,B,Nc}Kc,
  • 4. Recursive Authentication Protocol 4 L. C. Paulson The Protocol: Accumulation of Requests Hashing to make Message Authentication Codes: HashX Y ≡ {|Hash{|X, Y |}, Y |} 1. A → B : HashKa{|A, B, Na, −|} 2. B → C : HashKb{|B, C, Nb, HashKa{|A, B, Na, −|}|} 2 . C → S : HashKc{|C, S, Nc, HashKb{|B, C, Nb, · · ·|}|} No limit on the nesting of requests
  • 5. Recursive Authentication Protocol 5 L. C. Paulson The Protocol: Distribution of Certificates 3. S → C : {|Kcs, S, Nc|}Kc, {|Kbc, B, Nc|}Kc, {|Kbc, C, Nb|}Kb, {|Kab, A, Nb|}Kb, {|Kab, B, Na|}Ka 4. C → B : {|Kbc, C, Nb|}Kb, {|Kab, A, Nb|}Kb, {|Kab, B, Na|}Ka 4 . B → A : {|Kab, B, Na|}Ka
  • 6. Recursive Authentication Protocol 6 L. C. Paulson The Verification Method • Formal proof, not finite state checking • Trace semantics, no beliefs or other modalities • Inductive definitions: a simple, general model of action • Any number of interleaved runs • A general & uniform attacker • Mechanized using Isabelle/HOL
  • 7. Recursive Authentication Protocol 7 L. C. Paulson Processing Message Histories • parts: message components Crypt KX X parts H contains everything potentially recoverable from H • analz: message decryption Crypt KX, K−1 X analz H contains everything currently recoverable from H • synth: message faking X, K Crypt KX synth H contains everything expressible using H
  • 8. Recursive Authentication Protocol 8 L. C. Paulson The Introduction of Hashing Allow the message Hash X. How to extend the operators? • Don’t add Hash X ∈ parts H =⇒ X ∈ parts H • Don’t add Hash X ∈ analz H =⇒ X ∈ analz H • Do add X ∈ synth H =⇒ Hash X ∈ synth H Hashing is one-way, so hash values are atomic Components vs Ingredients
  • 9. Recursive Authentication Protocol 9 L. C. Paulson Inductively Defining the Protocol, 1–2 1. If evs is a trace and Na is fresh, may add Says A B (HashshrK A{|A, B, Na, −|}) 2. If evs has Says A B Pa and Pa = {|Xa, A, B, Na, P|} and Nb is fresh, may add Says B C (HashshrK B{|B, C, Nb, Pa|}) B doesn’t know the true sender & can’t verify hash Xa
  • 10. Recursive Authentication Protocol 10 L. C. Paulson Inductively Defining the Protocol, 3–4 3. If evs contains the event Says B S Pb, may add a suitable response Says S B Rb 4. If evs contains the events Says B C (HashshrK B{|B, C, Nb, Pa|}) Says C B {| Crypt(shrK B){|Kbc, C, Nb|}, Crypt(shrK B){|Kab, A, Nb|}, R|} may add Says B A R
  • 11. Recursive Authentication Protocol 11 L. C. Paulson Inductively Modelling the Server, 1 1. If Kab is a fresh key (not used in evs) then ( HashshrK A{|A, B, Na, −|}, (request) Crypt(shrK A){|Kab, B, Na|}, (response) Kab) ∈ respond evs (last key) Only if the hash can be verified
  • 12. Recursive Authentication Protocol 12 L. C. Paulson Inductively Modelling the Server, 2 2. If (Pa, Ra, Kab) ∈ respond evs and Kbc is fresh and Pa = HashshrK A{|A, B, Na, P|} then ( HashshrK B{|B, C, Nb, Pa|}, (request) {|Crypt(shrK B){|Kbc, C, Nb|}, (response) Crypt(shrK B){|Kab, A, Nb|}, Ra|}, Kbc) ∈ respond evs (last key)
  • 13. Recursive Authentication Protocol 13 L. C. Paulson An Easy Proof: Long-Term Keys Aren’t Lost By induction over (P, R, K ) ∈ respond evs: K ∈ parts{R} =⇒ K is fresh By induction over evs ∈ recur lost: K ∈ parts H ⇐⇒ K ∈ lost (any long-term key K found in traffic was lost initially) Typically need two nested inductions
  • 14. Recursive Authentication Protocol 14 L. C. Paulson Unicity of Nonces At most one hash in the history H contains • the key of an uncompromised agent (A ∈ lost) • any specified nonce value, Na ∃B P . ∀B P. Hash{|Key(shrK A), A, B, Na, P|} ∈ parts H → B = B ∧ P = P
  • 15. Recursive Authentication Protocol 15 L. C. Paulson Unicity of Session Keys At most two certificates in the response (R) contain • any particular session key, Kab . . . • made for two uncompromised agents (A, B ∈ lost) ∃A B . ∀A B N. Crypt(Key(shrK A)){|Kab, B, N|} ∈ parts{R} → (A = A ∧ B = B) ∨ (A = B ∧ B = A)
  • 16. Recursive Authentication Protocol 16 L. C. Paulson Secrecy Essential lemma, for any session key Kab: K ∈ analz( {Kab} ∪ H ) ⇐⇒ K = Kab ∨ K ∈ analz H Guarantee between uncompromised agents A and B: Crypt(shrK A){|Kab, B, N|} ∈ parts H =⇒ Kab ∈ analz H Nonces not involved in proofs
  • 17. Recursive Authentication Protocol 17 L. C. Paulson Difficulties involving Certificates • Danger of re-ordering • Need for explicitness: name of other agent • Special treatment of first & last agents • Complexity of respond’s definition Simpler version: arbitrary lists of certificates
  • 18. Recursive Authentication Protocol 18 L. C. Paulson Limitations of the Proofs • Authentication of B to A not proved • Authentication of A to B not provable! • No dynamic loss of long-term keys • Encryption assumed secure • Type confusion not considered (not relevant?)
  • 19. Recursive Authentication Protocol 19 L. C. Paulson Statistics • Two weeks human effort for proofs • 30 lemmas and theorems • 135 tactic commands • Under five minutes CPU time • Savings from protocol’s symmetries
  • 20. Recursive Authentication Protocol 20 L. C. Paulson Conclusions • Inductive definitions can model non-trivial processes • Nested inductions cause no problems • Multiple session keys are no obstacle • Many types of protocols can be analyzed • Must distinguish abstract level from implementation