enforcing honesty of certification authorities: tagged one ... · cert ign(sk ; id k pk) client :::...

41
Enforcing honesty of certification authorities: Tagged one-time signature schemes Bertram Poettering and Douglas Stebila Information Security Group Royal Holloway, University of London [email protected] Stanford, January 11, 2013

Upload: others

Post on 23-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Enforcing honesty of certification authorities:Tagged one-time signature schemes

Bertram Poettering and Douglas Stebila

Information Security GroupRoyal Holloway, University of London

[email protected]

Stanford, January 11, 2013

Page 2: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

PKIs and CAs: Current situation

CA

id ,PK

Cert =

Sign(s

k, id ‖

PK)

Client . . . Client Client

Signature-based PKIs

full concentration of trust into CA

CA has to be absolutely trustworthy

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 3: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

PKIs and CAs: Current threats

CA

id ,PK

Cert =

Sign(s

k, id ‖

PK)

Client . . . Client Client

Cert′ = Sign(sk, id ‖ PK′)

Malicious CA

could falsely bind identities in use to auxiliary PKs

run man-in-the-middle attacks against web sessions

ALL SECURITY IS LOST

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 4: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

PKIs and CAs: Should we really trust CAs?

Reasons not to trust CAs

poor management practices

we will see examples. . .

security breaches

we will see examples. . .

criminal intention

coercion

by crime organizationslegal coercion by law enforcementlegal(?) coercion by intelligence services

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 5: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

CA incidents: A brief history

Recent security incidents

DigiNotar in July 2011

security breach, malicious certificates for many domains issued

TURKTRUST in August 2011

issued intermediate CA with wildcard signing capabilitieslater used for man-in-the-middle proxy filtering/scanningno evidence for use in attackdetected only in Jan 2013

Digicert Malaysia in November 2011

22 certificates with weak private keys or missing revocation detailsissued

KPN/Getronics in November 2011

suspended CA business after detecting infection on its web serverno evidence of certificate malfeasance

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 6: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

CA incidents: Technical countermesures

So far, what helps against malicious CAs?

Pinning (in HTTP)

hosts ask clients to remember PKs that appear in certificate chainidentified DigiNotar and TURKTRUST breachesIETF Web Security Internet draft

Tacking (in TLS)

hosts announce that their PK is not going to change for a specifiedamount of timeIETF TLS-WG Internet draft

DANE (in DNS/TLS)

‘DNS-Based Authentication of Named Entities’DNS records announce PKs used within TLSRFC 6698

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 7: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Focus of this presentation

In this talk, we want to

cryptographically enforce a unique binding of ids to PKs

no such guarantees in (signature-based) PKIs so far

remain in non-interactive setting

no (trusted?) third partiesno ‘out-of-band’ communicationpreserves robustness of PKIs

We propose a modified signature scheme for use in certification

Our scheme

makes misbehaving (cryptographically) fatal

gives strong incentive to do well with management practices

puts CAs into strong position against legal coercion

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 8: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Focus of this presentation

In this talk, we want to

cryptographically enforce a unique binding of ids to PKs

no such guarantees in (signature-based) PKIs so far

remain in non-interactive setting

no (trusted?) third partiesno ‘out-of-band’ communicationpreserves robustness of PKIs

We propose a modified signature scheme for use in certification

Our scheme

makes misbehaving (cryptographically) fatal

gives strong incentive to do well with management practices

puts CAs into strong position against legal coercion

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 9: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Focus of this presentation

In this talk, we want to

cryptographically enforce a unique binding of ids to PKs

no such guarantees in (signature-based) PKIs so far

remain in non-interactive setting

no (trusted?) third partiesno ‘out-of-band’ communicationpreserves robustness of PKIs

We propose a modified signature scheme for use in certification

Our scheme

makes misbehaving (cryptographically) fatal

gives strong incentive to do well with management practices

puts CAs into strong position against legal coercion

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 10: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

TOSS: Tagged One-time Signature Scheme

New primitive: tagged one-time signatures (TOSS)

similar to standard signature schemes

authentication of tag/message pairs

adversary cannot forge signatures (akin to EUF-CMA)

distinguishing property: double-signature forgeability

intended security loss if signer ‘misbehaves’

Syntax of TOSS

(sk, vk)← KGen(1λ) outputs signing key and verification key

σ ← Sign(sk, tag,msg) signs tag,msg ∈ {0, 1}∗

{0, 1} ← Ver(vk, tag,msg, σ) verifies signatures

Correctness of TOSS

as usual, with universal quantification over tag,msg ∈ {0, 1}∗

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 11: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Security of TOSS: Unforgeability

Security goal: unforgeability (EUF)

similar to unforgeability of standard signature schemes

main difference: adversary not allowed to request signatures ondifferent messages for the same tag

ExpEUF(1λ)

(sk, vk)← KGen(1λ)

(tag∗,msg∗, σ∗)← AOSign(vk)If A queries OSign(tag,msg):

Append (tag,msg) to SigListσ ← Sign(sk, tag,msg)Return σ to A

Return 1 iff all the following hold:

Ver(vk, tag∗,msg∗, σ∗) = 1(tag∗,msg∗) 6∈ SigList∀ tag,msg0,msg1:

(tag,msg0), (tag,msg1) ∈ SigList⇒ msg0 = msg1

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 12: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Security of TOSS: Compromising pair of signatures

Intuition: A TOSS shall be forgeable once signer issued signatures ondifferent messages but the same tag.

We make the condition precise:

Definition (Compromising pair of signatures)

Fix verification key vk and tag/message/signature triples

S1 = (tag1,msg1, σ1) and S2 = (tag2,msg2, σ2)

such that

Ver(vk, tag1,msg1, σ1) = 1 with Ver(vk, tag2,msg2, σ2) = 1 .

Pair (S1, S2) is compromising if tag1 = tag2 and msg1 6= msg2.

Note: exactly this condition is excluded in ExpEUF

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 13: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Security of TOSS: Double-signature forgeability

Security goal: double-signature forgeability (DSF)

Intuition: given a compromising pair (S1,S2) issued by a malicioussigner, it should be trivial to craft valid signatures

defined in respect to auxiliary algorithm

σ∗ ← Forge(vk, (S1, S2), tag∗,msg∗)

that computes signatures for arbitrary tags/messages

two variants: DSF and DSF∗ (the latter with ‘trusted setup’)

ExpDSF(1λ)

(vk, (S1,S2), tag∗,msg∗)← A(1λ)

σ∗ ← Forge(vk, (S1,S2), tag∗,msg∗)

Return 1 iff all the following hold:

(S1,S2) is compromisingVer(vk, tag∗,msg∗, σ∗) 6= 1

ExpDSF∗(1λ)

(sk, vk)← KGen(1λ)

((S1, S2), tag∗,msg∗)← A(sk, vk)

σ∗ ← Forge(vk, (S1, S2), tag∗,msg∗)

Return 1 iff all the following hold:

(S1,S2) is compromisingVer(vk, tag∗,msg∗, σ∗) 6= 1

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 14: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Security of TOSS: Double-signature extractability

Security goal: double-signature extractability (DSE)

Intuition: given a compromising pair (S1,S2) issued by a malicioussigner, it should be trivial to compute the signing key

defined in respect to auxiliary algorithm

sk′ ← Extract(vk, (S1, S2))

that outputs a signing key

two variants: DSE and DSE∗ (the latter with ‘trusted setup’)

ExpDSE(1λ)

(vk, (S1,S2))← A(1λ)

sk′ ← Extract(vk, (S1, S2))

Return 1 iff all the following hold:

(S1,S2) is compromisingsk′ is not the signing keycorresponding to vk

ExpDSE∗(1λ)

(sk, vk)← KGen(1λ)

(S1,S2)← A(sk, vk)

sk′ ← Extract(vk, (S1,S2))

Return 1 iff all the following hold:

(S1,S2) is compromisingsk′ 6= sk

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 15: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Double-signature extractability stronger than forgeability

Comparing DSF and DSE

DSF

A S1, S2 Forgeσ

tag,msg DSE

A S1, S2 Extractsk Sign

σ

tag,msg

DSE strictly stronger than DSFby Forge := Sign ◦ Extract construction

DSE natural from engineer’s perspectiveour construction offers DSE∗

our construction can be extended to DSE

Further advantage of DSE

‘forged’ signatures look identical to honest ones

relevant feature in practicecould be formalized: double-signature indistinguishabilitycounterexamples for DSF exist

DSE =⇒ DSE∗

=⇒ =⇒

DSF =⇒ DSF∗

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 16: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Double-signature extractability stronger than forgeability

Comparing DSF and DSE

DSF

A S1, S2 Forgeσ

tag,msg DSE

A S1, S2 Extractsk Sign

σ

tag,msg

DSE strictly stronger than DSFby Forge := Sign ◦ Extract construction

DSE natural from engineer’s perspectiveour construction offers DSE∗

our construction can be extended to DSE

Further advantage of DSE

‘forged’ signatures look identical to honest ones

relevant feature in practicecould be formalized: double-signature indistinguishabilitycounterexamples for DSF exist

DSE =⇒ DSE∗

=⇒ =⇒

DSF =⇒ DSF∗

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 17: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Application of TOSS: Enforcing honesty of CAs in PKIs

Current PKI certificates{id,PK,SignSTD(sk, id ‖ PK)

}

TOSS-based PKI certificates{id,PK,SignTOSS(sk, id,PK)

}

where

id is domain name, email address, . . .PK is certified public keySignSTD is standard signature scheme

SignTOSS is a tagged one-time signature

id = bank.com,PK = 69 6e 2c 20 . . .id = bank.com,PK = 72 20 64 61 . . .

id = bank.com,PK = 69 6e 2c 20 . . .id = bank.com,PK = 72 20 64 61 . . .

New property:CA looses sk when certifying different PKs for same id

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 18: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Application of TOSS: Enforcing honesty of CAs in PKIs

Current PKI certificates{id,PK,SignSTD(sk, id ‖ PK)

} TOSS-based PKI certificates{id,PK,SignTOSS(sk, id,PK)

}where

id is domain name, email address, . . .PK is certified public keySignSTD is standard signature schemeSignTOSS is a tagged one-time signature

id = bank.com,PK = 69 6e 2c 20 . . .id = bank.com,PK = 72 20 64 61 . . .

id = bank.com,PK = 69 6e 2c 20 . . .id = bank.com,PK = 72 20 64 61 . . .

New property:CA looses sk when certifying different PKs for same id

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 19: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Application of TOSS: Internet timestamping

Internet timestamping service

use current time epoch as taguse digest of current documents as msgpublish SignTOSS(sk, tag,msg)DSF guarantees: timestamping service cannot ‘rewind history’

Time: 8234098324 - Document: “This patent covers a beer umbrella”Time: 8234098324 - Document: “This patent covers a life expectancy watch”

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 20: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Application of TOSS: Digital notaries

Digital notary service

use subject of contract as tag

use affected bodies as msg

publish SignTOSS(sk, tag,msg)

DSF guarantees: contract can be signed only ‘once’

Subject: ‘Real property #94794 is sold to 〈. . .〉.’ - Body: AliceSubject: ‘Real property #94794 is sold to 〈. . .〉.’ - Body: Bob

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 21: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Two-to-one trapdoor functions

New primitive: two-to-one trapdoor function (2:1-TDF)

finite sets A,B such that |A| = 2 · |B|

surjective 2:1 function f : A→ B

if f −1(b, 0) and f −1(b, 1) denote the two preimages of b ∈ B,define A0 = f −1(B, 0) and A1 = f −1(B, 1)

f efficient, but f −1 hard without trapdoor

define relation a0x∼ a1 ⇔ a0 6= a1 ∧ f (a0) = f (a1)

A

A0

A1

B

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 22: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Two-to-one trapdoor functions

New primitive: two-to-one trapdoor function (2:1-TDF)

finite sets A,B such that |A| = 2 · |B|surjective 2:1 function f : A→ B

if f −1(b, 0) and f −1(b, 1) denote the two preimages of b ∈ B,define A0 = f −1(B, 0) and A1 = f −1(B, 1)

f efficient, but f −1 hard without trapdoor

define relation a0x∼ a1 ⇔ a0 6= a1 ∧ f (a0) = f (a1)

A

A0

A1

B

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 23: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Two-to-one trapdoor functions

New primitive: two-to-one trapdoor function (2:1-TDF)

finite sets A,B such that |A| = 2 · |B|surjective 2:1 function f : A→ B

if f −1(b, 0) and f −1(b, 1) denote the two preimages of b ∈ B,define A0 = f −1(B, 0) and A1 = f −1(B, 1)

f efficient, but f −1 hard without trapdoor

define relation a0x∼ a1 ⇔ a0 6= a1 ∧ f (a0) = f (a1)

A

A0

A1

B

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 24: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Two-to-one trapdoor functions

New primitive: two-to-one trapdoor function (2:1-TDF)

finite sets A,B such that |A| = 2 · |B|surjective 2:1 function f : A→ B

if f −1(b, 0) and f −1(b, 1) denote the two preimages of b ∈ B,define A0 = f −1(B, 0) and A1 = f −1(B, 1)

f efficient, but f −1 hard without trapdoor

define relation a0x∼ a1 ⇔ a0 6= a1 ∧ f (a0) = f (a1)

A

A0

A1

B

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 25: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: One-wayness

Technical requirement

A0,A1,B shall be efficiently publicly samplable and decidable

One-wayness

preimage resistance (INV-1)

second preimage resistance (INV-2)

ExpINV-1A (1λ)

(td, par)← 2:1-Gen(1λ)

b ←R B(par)

a← A(par, b)

Return 1 iff f (a) = b

ExpINV-2B (1λ)

(td, par)← 2:1-Gen(1λ)

a←R A(par)

a′ ← B(par, a)

Return 1 iff a x∼ a′

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 26: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: One-wayness

Technical requirement

A0,A1,B shall be efficiently publicly samplable and decidable

One-wayness

preimage resistance (INV-1)

second preimage resistance (INV-2)

ExpINV-1A (1λ)

(td, par)← 2:1-Gen(1λ)

b ←R B(par)

a← A(par, b)

Return 1 iff f (a) = b

ExpINV-2B (1λ)

(td, par)← 2:1-Gen(1λ)

a←R A(par)

a′ ← B(par, a)

Return 1 iff a x∼ a′

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 27: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Extractability

Extractability (optional)

defined in respect to auxiliary algorithm

td′ ← Extract(par, a, a′)

that computes td′ = td from all a, a′ ∈ A with a x∼ a′

INV-1 vs. INV-2

INV-2⇒ INV-1 (as expected)

if extractable: INV-1⇔ INV-2

2:1-TDF vs. CFP (claw-free permutation)

CFPs imply 2:1-TDFs, other direction unclear

CFPs have no (formalized) extraction capability

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 28: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Extractability

Extractability (optional)

defined in respect to auxiliary algorithm

td′ ← Extract(par, a, a′)

that computes td′ = td from all a, a′ ∈ A with a x∼ a′

INV-1 vs. INV-2

INV-2⇒ INV-1 (as expected)

if extractable: INV-1⇔ INV-2

2:1-TDF vs. CFP (claw-free permutation)

CFPs imply 2:1-TDFs, other direction unclear

CFPs have no (formalized) extraction capability

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 29: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Extractability

Extractability (optional)

defined in respect to auxiliary algorithm

td′ ← Extract(par, a, a′)

that computes td′ = td from all a, a′ ∈ A with a x∼ a′

INV-1 vs. INV-2

INV-2⇒ INV-1 (as expected)

if extractable: INV-1⇔ INV-2

2:1-TDF vs. CFP (claw-free permutation)

CFPs imply 2:1-TDFs, other direction unclear

CFPs have no (formalized) extraction capability

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 30: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Factoring-based construction I

Let n = pq be Blum integer.

Z×n

Jn

QRn

QRn

Jn

Z×n /±1

Known facts

QRn not decidable, not directly samplable

squaring operation Z×n (Jn,QRn)→ QRn is 4:1 (2:1, 1:1)

computing square roots as hard as factoring

n can be factored from x0 ∈ Jn, x1 ∈ Jn with x20 = x2

1

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 31: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Factoring-based construction I

Let n = pq be Blum integer.

Z×n

Jn

QRn

QRn

Jn

Z×n /±1

Known facts

QRn not decidable, not directly samplable

squaring operation Z×n (Jn,QRn)→ QRn is 4:1 (2:1, 1:1)

computing square roots as hard as factoring

n can be factored from x0 ∈ Jn, x1 ∈ Jn with x20 = x2

1

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 32: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Factoring-based construction II

Let n = pq be Blum integer. The following bases on [GMR88,HK09].

Z×n

Jn

QRn

QRn

Jn

Z×n /±1

QRn/±1= Jn/±1

QRn/±1

Some number theory

{±1} normal in Z×n , induces homomorphism ψ : Z×n → Z×n /±1

define groups QRn/±1 = ψ(QRn) and Jn/±1 = ψ(Jn)

computing ‘square roots’ as hard as factoring

n can be factored from x0 ∈ QRn/±1, x1 ∈ QRn/±1 with x20 = x2

1

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 33: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

2:1-TDF: Factoring-based construction III

Let n = pq be Blum integer. The following bases on [GMR88,HK09].

Z×n

Jn

QRn

QRn

Jn

Z×n /±1

QRn/±1= Jn/±1

QRn/±1

A0 = B A1

Constructing a 2:1-TDF

set A0 = B = QRn/±1 and A1 = QRn/±1

A0 and A1 and B are efficiently samplable

‘squaring’ operation A→ B is 2:1-TDF

any a, a′ ∈ A with a x∼ a′ leak factorization

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 34: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Our TOSS construction (simplified)

TOSS construction

KGen ≡ 2:1-GenSign(sk, tag,msg)

∀i : bi = H(tag, i) H : {0, 1}∗ → B random oracled1, . . . , dλ ← H#(tag,msg) H# : {0, 1}∗ → {0, 1}λ CRHF∀i : ai = f −1(bi , di ) f extractable 2:1-TDFσ = (a1, . . . , aλ)

Ver(vk, tag,msg) clear (requires decidability A0 ↔ A1)

tag

H(tag, i)

b1 b2 bλ−1 bλ

d 1=

0 d1=

1 f −1(bi , di )

a1 a1 a2 a2 aλ−1 aλ−1 aλ aλσ = ( , , . . . , , )

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 35: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Our TOSS construction (full)

The scheme is simple and elegant.

But it is unclear how to do the security reduction...

‘Repaired’ TOSS construction

KGen ≡ 2:1-Gen

Sign(sk, tag,msg)s ← f −1(H(tag), 0)∀i : bi = H(s, tag, i) H : {0, 1}∗ → B random oracled1, . . . , dλ ← H#(s, tag,msg) H# : {0, 1}∗ → {0, 1}λ CRHF∀i : ai = f −1(bi , di ) f extractable 2:1-TDFσ = (a1, . . . , aλ)

Ver(vk, tag,msg) clear (requires decidability A0 ↔ A1)

Theorem (Unforgeability of TOSS)If H is RO, H# is CRHF, and f is 2:1-TDF, then TOSS provides EUF.

Note: TOSS even strongly unforgeable (and unique)

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 36: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Our TOSS construction (full)

The scheme is simple and elegant.But it is unclear how to do the security reduction...

‘Repaired’ TOSS construction

KGen ≡ 2:1-Gen

Sign(sk, tag,msg)s ← f −1(H(tag), 0)∀i : bi = H(s, tag, i) H : {0, 1}∗ → B random oracled1, . . . , dλ ← H#(s, tag,msg) H# : {0, 1}∗ → {0, 1}λ CRHF∀i : ai = f −1(bi , di ) f extractable 2:1-TDFσ = (a1, . . . , aλ)

Ver(vk, tag,msg) clear (requires decidability A0 ↔ A1)

Theorem (Unforgeability of TOSS)If H is RO, H# is CRHF, and f is 2:1-TDF, then TOSS provides EUF.

Note: TOSS even strongly unforgeable (and unique)

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 37: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Our TOSS construction (full)

The scheme is simple and elegant.But it is unclear how to do the security reduction...

‘Repaired’ TOSS construction

KGen ≡ 2:1-Gen

Sign(sk, tag,msg)s ← f −1(H(tag), 0)∀i : bi = H(s, tag, i) H : {0, 1}∗ → B random oracled1, . . . , dλ ← H#(s, tag,msg) H# : {0, 1}∗ → {0, 1}λ CRHF∀i : ai = f −1(bi , di ) f extractable 2:1-TDFσ = (a1, . . . , aλ)

Ver(vk, tag,msg) clear (requires decidability A0 ↔ A1)

Theorem (Unforgeability of TOSS)If H is RO, H# is CRHF, and f is 2:1-TDF, then TOSS provides EUF.

Note: TOSS even strongly unforgeable (and unique)

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 38: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Our TOSS construction (full)

The scheme is simple and elegant.But it is unclear how to do the security reduction...

‘Repaired’ TOSS construction

KGen ≡ 2:1-Gen

Sign(sk, tag,msg)s ← f −1(H(tag), 0)∀i : bi = H(s, tag, i) H : {0, 1}∗ → B random oracled1, . . . , dλ ← H#(s, tag,msg) H# : {0, 1}∗ → {0, 1}λ CRHF∀i : ai = f −1(bi , di ) f extractable 2:1-TDFσ = (a1, . . . , aλ)

Ver(vk, tag,msg) clear (requires decidability A0 ↔ A1)

Theorem (Unforgeability of TOSS)If H is RO, H# is CRHF, and f is 2:1-TDF, then TOSS provides EUF.

Note: TOSS even strongly unforgeable (and unique)Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 39: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Our TOSS construction: DSE∗

tag

H(s, tag, i)

b1 b2 bλ−1 bλd 2

=0 d

2=

1 f −1(bi , di )

a1 a1 a2 x∼ a′2 aλ−1 aλ−1 aλ aλ

Theorem (Double-signature extractability of TOSS)If H# is CRHF and f is extractable 2:1-TDF, then TOSS provides DSE∗.

Note: Can be strengthened to DSE. Really relevant?

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 40: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Our TOSS construction: Practical aspects

Security requirements

tolerated forging probability 2−80

225 signature queries allowed

ECRYPT recommendations

Derived key/signature sizes

moduli of 2432 bits

TOSS signature size: 48 kB

Efficiency of signature verification

λ+ 1 squarings

λ Jacobi symbol evaluations (A0 ↔ A1)

λ Jacobi symbol evaluations (sampling of bi in RO H)

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila

Page 41: Enforcing honesty of certification authorities: Tagged one ... · Cert ign(sk ; id k PK) Client ::: Client Client Cert0= Sign(sk;id kPK0) Malicious CA could falsely bind identities

Conclusion

Tagged one-time signature schemes (TOSS)

violation of rules always catastrophic (for signers)

enforcement of honesty of signers?

Security of TOSS

notions of DSF, DSF∗, DSE, DSE∗ and their relations

Extractable 2:1 trapdoor functions (2:1-TDF)

‘2:1’ version of TDPs, more general than CFPs

extractability: colliding preimages reveal trapdoor

construction based on factorization

2:1-TDF-based TOSS

achieves EUF, DSE∗ and DSF∗ (DSE and DSF feasible)

efficient verification

signature size not prohibitively large

Enforcing honesty of certification authorities:Tagged one-time signature schemes Bertram Poettering and Douglas Stebila