Universally Composable Security with Specialized Environments

Transcription

Universally Composable Security with Specialized Environments
Universally Composable
Security with Specialized
Environments
Ran Canetti
Sebastian Gajek
Tel Aviv University
Secsi 2011
Security Analysis Is Complex.
Security Analysis Is Complex
•
The basic model should allow expressing:
–
Real systems and their operation
–
Attacker capabilities and limitations
–
Security requirements
Security Analysis Is Complex
•
•
The basic model should allow expressing:
–
Real systems and their operation
–
Attacker capabilities and limitations
–
Security requirements
Security properties are delicate:
–
Quantitative, probabilistic
–
Parameterized by adversary capabilities
–
Highly dependent on the setting
Security Analysis Is Complex
•
The basic model should allow expressing:
–
Real systems and their operation
–
Attacker capabilities and limitations
–
Security requirements
•
•
Security properties are delicate:
–
Quantitative, probabilistic
–
Parameterized by adversary capabilities
–
Highly dependent on the setting
Asserting security properties is tricky:
–
Based on hardness assumptions
–
Parameterized, require “creative” reductions
Security Analysis Is Complex
•
The basic model should allow expressing:
–
Real systems and their operation
–
Attacker capabilities and limitations
–
Security requirements
•
Security properties are delicate:
–
Quantitative, probabilistic
–
Parameterized by adversary capabilities
–
Highly dependent on the setting
•
Asserting security properties is tricky:
–
Based on hardness assumptions
–
Parameterized, require “creative” reductions
Security Analysis Is Complex
Consequently, security analysis is:
•
Hard to generate
•
Hard to verify
•
Hard to interpret
Direct (“Cryptographic”) Analysis
[Goldwasser-Micali82,G-M-Rackoff85,Bellare-Rogaway93,...]
•
Directly models real programs and adversarial
capabilities in (almost) full detail
+ Soundness is apparent
- Inherits all the complexity:
Many parameters, asymptotics, probabilities...
Symbolic Analysis [Dolev-Yao83,...]
A great simplification:
–
Abstracts from many details
–
No asymptotics, fewer parameters
–
No hardness assumptions
–
In many cases sound [Abadi-Rogaway00,...]
Still, in of itself it is manual and labor intensive.
Automated analysis
•
Arguably, this is the only viable way for analyzing
security of large (or even medium) systems.
•
Requires some level of symbolic abstraction
•
There is a plethora of tools and techniques:
–
–
–
–
Model checkers (finite and infinite state),
Theorem provers (1st and 2nd order)
Logic Programming
…
Automated analysis
Main limitation: Can only analyze relatively simple systems,
else the computational complexity explodes.
Goal: Devise models where automated analysis:
•
Remains feasible
•
Implies full (computational) soundness
Partial results: ProVerif [Blanchet01], PCL [DattaDMR07] , Tagging
[Cortier-Delaitre-Delaune09], Typing [Fournet etal] , …
The modular approach
•
De-compose the system to small components
•
Analyze each component separately (and quickly)
•
Deduce the(...this
security
properties
of the overall,
is standard
in correctness analysis
re-composed system.
...this is standard in correctness analysis
But does it work for security analysis?
The modular approach
•
De-compose the system to small components
•
Analyze each component separately (and quickly)
•
Deduce the(...this
security
properties
of the overall,
is standard
in correctness analysis
re-composed system.
...this is standard in correctness analysis
But does it work for security analysis?
- Need composable security.
Composable Security Analysis
Need to:
•
Formulate a model that allow for decomposing
protocols.
•
Formulate symbolic security properties that
compose.
•
Develop tools that can assert these properties.
Composable Security Analysis
Need to:
•
Formulate a model that allow for decomposing
protocols.
•
Formulate symbolic security properties that
compose.
•
Develop automated tools that can assert these
computational properties.
In the rest of this talk
•
Review the UC framework
•
Review the use of UC in modular symbolic
analysis
•
Identify a limitation
•
Will show a workaround
Universally Composable (UC) Security
●
A framework that allows expressing any set of concerns
and requirements for any crypto task:
(e.g. authenticity, secrecy, anonymity, privacy,
correctness,unpredictability, fairness, public verifiability, coercionfreeness, termination, availability...)
●
●
A composition operation (“universal composition”) that
allows expressing practically any way in which protocols
interact and compose.
A way to assert security that's preserved under
universal composition.
The basic paradigm
[Goldreich-Micali-Wigderson87]
„A protocol is secure for some task if it “emulates”
an “ideal process” where the parties hand
their inputs to a “trusted party”, who locally
computes the desired outputs and hands
them back to the parties.‟
Intuitively very attractive.
But, how to formalize?
UC security
Will present in three steps:
• Formalize the process of protocol execution in
presence of an adversary
• Formalize the “ideal process” for realizing the
functionality
• Formalize the notion of “a protocol emulates the
ideal process for realizing a functionality.”
UC security:
Protocol execution:
E
P2
P1
A

P3
P4
UC security:
E
Ideal protocol:
P2
P1
S
P4
P3
F
UC security:
P2
P1
Protocol execution:
E
Ideal protocol:
P2
P1
S
P4
P3
F
A

P3
P4
Protocol  realizes functionality F if
running  emulates the ideal process for F:
For any adv. A there exists an adv. S
Such that no environment E can tell
whether it’s interacting with:
- A run of  with A
- An ideal run with F and S
Implications of the definition
Correctness: In the ideal process the parties get the “correct”
outputs, based on the inputs of all parties. Consequently, the
same must happen in the protocol execution (or else Z will tell
the difference).
Secrecy: In the ideal process the adversary learns nothing other
than the outputs of bad parties. Consequently, the same must
happen in the protocol execution.
Fairness, Availability, etc.: Argued in a similar way.
Security-preserving protocol composition
The composition operation:
Start with
• Protocol  that uses ideal calls to functionality F
• Protocol  that securely realizes F
Construct the composed protocol   :
• Each call to F is replaced with an invocation of .
• Each value returned from  is treated as coming
from F.
The composition operation
(single call to F)




F

The composition operation
(single call to F)




➔







F


The composition operation
(multiple calls to F)





F
➔









F
F
(Different instances of F/π are invoked with different session id’s )



The universal composition theorem:


Protocol
emulates protocol .
(That is, for any adversary A there exists an adversary S such that
no E can tell whether it is interacting with ( ,A) or with (,S).)
Corollary:
If  realizes functionality G then so does   .
The universality of universal
composition
Captures all common ways to combine protocols:
–
–
–
–
–
–
Subroutine calls
Sequential, parallel, concurrent, executions
Executions by same party, by unrelated parties
Executions on same/related inputs, on unrelated inputs
Unbounded number of executions
Dynamic and adversarial code generation (“chosen
protocol attacks”)
Strengths of UC analysis
•
Security in complex environments:
– Guarantee security when the protocol is running
alongside other (potentially unknown) protocols.
•
Supports modular security analysis
•
Supports abstraction and symbolic
representations
[Backes-Pfitzmann-Waidner03, C-Herzog06, Kuesters-Tuengerthal09...]
Limitations of UC analysis
•
Very strong security requirements:
–
–
–
Hard to assert
Don’t always hold
Makes de-composition to small components hard
Limitations of UC analysis:
Examples
•
Impossibility of UC commitments, Zero Knowledge,
general 2-party MPC
– Workaround: “trusted set-up” models
•
Can’t apply UC when protocols share secret state
– Workaround: Joint-state UC
•
Can’t apply UC when security depends on properties of
the inputs
– Workarounds: Relax the Functionality, Condition the
environment.
Example:
UC modeling of secure channels
Many components:
•
Registration (Cert. authorities, Authen. Servers,...)
•
Key exchange
•
Key derivation
•
Data encryption
•
Date authentication
•
Replay protection
How to model and analyze?
The general structure of PKI-based protocols
(common to IPSEC,SSL/TLS, most others...)
enc
enc
auth
auth
KE
KE
enc
...
...
PK: enc,/
Sig
CA
auth
KE
The general idea
•
•
•
Model each component as an ideal functionality (IF)
Separately analyze protocols for realizing each IF
Use the UC theorem to deduce overall security
Set the goal:
Ideal secure sessions: Functionality FSS
P1/P2
P1
Establish-Sess(P1,P2)
Establish-Sess(P1,P2)
ok
m)
Z
S
FSS
Send(P1,P2, 1|m|)
Deliver(P2,,P1,m‘)
P2
m)
Message Delivery
If P1, P2 is corrupted,
then set m  m‘
Will want to emulate a setting where each secure channel
Is represented by an instance of Fss.
Current modular analysis of secure channels
Enc+
auth
KE
Enc+
auth
...
Enc+
auth
Enc+
auth
KE ... KE
emulates
KE
Enc+
auth
...
Enc+
auth
Enc+
auth
KE ... KE
emulates
FPKE
...
Enc+
auth
KE
KE ... KE
FPKE
FPKE
emulates
FSS
(JUC)
ENC
Enc+
auth
...
emulates
FPKE
CA
Enc+
auth
Enc+
auth
...
Enc+
auth
FKE
FKE
...
FKE
emulates
Enc+
auth
Enc+
auth
...
Enc+
auth
FKE
FKE
...
FKE
FSS
...
FSS
Reflections
•
Abstracted each component separately
–
•
where all abstractions are symbolic.
Analyzed an implementation of each abstraction
separately
–
where the analysis considered only a single session
Reflections
•
Abstracted each component separately
–
•
where all abstractions are symbolic.
Analyzed an implementation of each abstraction
separately
–
•
where the analysis considered only a single session
Except for the case of symmetric encryption and
MAC:
–
Here we had to directly use the non-symbolic,
cryptographic notions...
UC symmetric encryption (and MAC)
How to define as stand alone primitives?
The crux of the problem:
How to treat the secret key?
- Internal to the protocol  Have to include the key
generation process in the same module
- Provided from the outside  Cannot guarantee
security...
UC symmetric encryption (and MAC):
Known formalizations
–
[Backes-Pfitzmann-Waidner03]:
Treat both the secret keys and ciphertexts as internal.
Indeed, Symmetric encryption is not a stand alone
primitive
– [Kuesters-Tuengerthal09]:
Treat ciphertexts and messages as external, but the secret
key is still internal. Indeed, symmetric encryption still is
not a stand alone primitive.
Symmetric encryption (and MAC)
within a secure session protocol
A typical secure session protocol (EtA):
– Run key exchange, obtain kmac and kenc.
– Invoke ENC,DEC, give them kenc.
– Invoke MAC,VER, give them kmac.
– Given a message m:
•
•
–
Hand m to ENC, obtain c
Hand c to MAC, obtain t, Send (c,t)
Upon receipt of (c,t):
•
•
Hand (c,t) to VER
If ok, hand c to DEC, output result
Symmetric encryption (and MAC)
within a secure session protocol
A typical secure session protocol (EtA):
– Run key exchange, obtain kmac and kenc.
– Invoke ENC,DEC, give them kenc.
– Invoke MAC,VER, give them kmac.
– Given a message m:
•
•
–
Hand m to ENC, obtain c
Hand c to MAC, obtain t, Send (c,t)
Upon receipt of (c,t):
•
•
Hand (c,t) to VER
If ok, hand c to DEC, output result
Note: ENC,DEC,MAC,VER get keys from the outside!
(but the keys never leave the secure session protocol)
How to properly capture the use of the symmetric
key?
Idea: Directly capture the “protected environment” in
which ENC,DEC, MAC,VER run, by appropriately
restricting the formal environment.
How to properly capture the use of the symmetric
key?
Idea: Directly capture the “protected environment” in
which ENC,DEC, MAC,VER run, by appropriately
restricting the formal environment.
How about using the “conditional environments” of
[Backes,Hofheinz,Kuesters06]?
How to properly capture the use of the symmetric
key?
Idea: Directly capture the “protected environment” in
which ENC,DEC, MAC,VER run, by appropriately
restricting the formal environment.
How about using the “conditional environments” of
[Backes,Hofheinz,Kuesters06]?
- Only provides restrictions on input patterns, not on
flow of information inside the environment.
 Need a new formalism...
Specialized Environments
Let R be an ITM (“The restriction”). An
env. is R-Specialized if it consists of a
component R and a generic component
E such that:
E
• All communication with the protocol and
adversary is done by R.
• E has access only to the outputs (and
outgoing communication) of R.
R
• E gives information to R via R’s input
and incoming communication tapes.
π
A
 R is a “filter” between E and the system.
SEUC-Security
A protocol π UC-emulates protocol φ wrt R-specialized
environments (π UCR-emulates φ) if for any A there is an S
such that no R-specialized environment can tell apart (π,A)
from (φ,S):
Definition (Protocol Emulation)
Let π,φ be two protocols. Let R be a restriction. We say π SEUC-emulates φ w.r.t. Rspecialized environments, if for any adversary A there exists a simulator S, s.t for any
R-specialized environment E, we have:
Execπ,A,E ≈ Execφ,S,E
SEUC security and other relaxations of UC
– Generalized UC with global set-up [C-Dodis-Pass-Walfish07]
Is a special case of SEUC security:
•
–
R plays the global set-up, and passes all I/O to E, except the
messages that are directed to the global set-up.
UC with angel-assisted adversaries [Prabhakaran-Sahai04]
is a special case of SEUC security:
•
R plays the angel, processing locally only the messages sent by
A to it. Other messages are passed to E.
SEUC security and other relaxations of UC
– Generalized UC with global set-up [C-Dodis-Pass-Walfish07]
Is a special case of SEUC security:
•
–
R plays the global set-up, and passes all I/O to E, except the
messages that are directed to the global set-up.
UC with angel-assisted adversaries [Prabhakaran-Sahai04]
is a special case of SEUC security:
•
R plays the angel, processing locally only the messages sent by
A to it. Other messages are passed to E.
Q: What about composability?
A: Each one of these cases has its own composability proof.
Q: Can we prove a general composition theorem for SEUC?
Specialized Environments: Protocol-only restrictions
R transmits:
• All the communication from A go to E
• All the inputs from E directed at A goes
to A,
E
 R “filters” only between E and the protocol.
R
π
A
Specialized Environments: Protocol-only restrictions
R transmits:
• All the communication from A go to E
• All the inputs from E directed at A goes
to A,
E
 R “filters” only between E and the protocol.
R
π
A
From now on we’ll consider only such restriction ITMs.
Is SEUC security composable?
(what does composability mean here?)
SEUC and dummy adversaries
• The Dummy Adversary is still universal
(simplifying life)
Claim
Let π,φ be two protocols. Let R be a protocol-only restriction. Then π UCR-emulates
φ if and only if it UCR-emulates φ w.r.t to the dummy adversary.
SEUC Composition (part 1)
Theorem 1:
If π UCR emulates φ then Rπ UC-emulates Rφ.
Proof of Theorem 1
E
E

R
π
A
R
π
A
SEUC Composition (part 2)
• Recall: Want to show composition as long
as parent protocol “behaves”. Here is a
formalization of “behaves”:
Definition (R-compliant):
Let ρ be a protocol and let R be a restriction ITM. We say ρ is R-compliant, if there
exists a simulator S, s.t. for all π and for all R-restricted environments E, we have
(here DA is the dummy adversary):
Exec ρπ,DA,E ≈ Exec Rπ,S,E
SEUC Composition (part 2)
Main theorem: If π emulates φ w.r.t R-restricted
environments, and ρ “behaves” w.r.t. R, then ρπ
emulates ρφ.
Theorem 2:
If π UCR emulates φ, and ρ is R-compliant, then ρπ UC-emulates ρφ.
- The proof is a natural extension of the proof of the UC theorem.
SYMMETRIC ENCRYPTION AND MAC
FOR SECURE CHANNEL PROTOCOLS
Modular analysis of secure channel protocols
From KE, IND-CPA enc, EU-CMA MAC
We provide:
• A stand-alone formulation of ideal symmetric
encryption, FSE
– A protocol is IND-CPA encryption iff it UCF’KE-realizes FSE.
(F’KE is FKE that gives the key to its subroutine)
• A stand-alone formulation of ideal MAC, FMAC
– A protocol is EU-CMA MAC iff it UCF’KE-realizes FMAC.
Functionality FMAC
k
k
R
S/V
T,V
m
S
Z
t=T(m)
m,t)
V
b
FMAC
S
Tagging:
Record (m, T(m)) pair
Verification:
if V(m,t)=1, no (m,t‘)
pair exists for any t‘,
and not corrupted,
then output forgery,
else set b=V(m,t)
Functionality FSE
k
k
R
E/D
E,D,
S
m
E
Z
c=E(0)
FSE
c
D
m
Additional Restriction R2
Prevent decryption of
„unknown“ ciphertexts
Encryption:
if E not corrupted,
then c=e(1|m|) and
record (m,c) pair
Decryption:
Decrypt only known
(m,c) pairs
Functionality FKE
P1/P2
(Establish-Key,P1,P2)
(Establish-Key,P1,P2)
(Key,P1,P2, κ‘)
Z
S
FKE
P1/P2
(Key,P1,P2,κ)
Key Distribution:
If P1, P2 is corrupted,
then set κ  κ‘
else set κ r {0,1}k
Protocol πEtA (sender side)
P1/P2
P1/P2
Establish-Key(P1,P2)
Establish-Sess(P1,P2)
Key(P2,P1,κ)
Setup(κ)
Send(P1,P2,m)
πEtA
Z
FKE
Enc(m)
c
FENC
Setup(κ)
A
c,tag
Mac(c)
tag
FMAC
Protocol πEtA (receiver side)
A
Setup(κ)
c,tag
Vrfy(c,tag)
valid?
πEtA
Z
Setup(κ)
Dec(c)
m
P2
Receive(P2,,P1,m)
FMAC
FENC
Modular analysis of secure channel protocols
From KE, IND-CPA enc, EU-CMA MAC
• We first show: πEtAFKE, FSE, FMAC UC-realizes FSS.
• Using Theorems 1 and 2 we show:
– πEtAFKE, FSE, πMAC UC-emulates πEtA
, FSE, FMAC .
FKE
– πEtAFKE, πSE, πMAC UC-emulates πEtAFKE, FSE, πMAC .
– πEtAπKE, πSE, πMAC UC-emulates πEtAFKE, πSE, πMAC .
What next?
•
Other uses of Specialized environments?
•
Symbolic UC?
•
Automated analysis of secure channels?
•
Automated UC security analysis?
•
Automated security analysis of large scale
systems?