ೝূͷ3ཁૉ
1975
Computer Security Guidelines for Implementing the Privacy
Act of 1974
(1) Something the person knows;
(2) Something the person has;
(3) Something the person is.
712 ݹࣄهʹొ͢Δࡾछͷਆث = has ॴ༗ͷཁૉ
2019ͷࢲͨͪͳͥ2ஈ֊ೝূ͕…
FIPS 41
9
ެ։伴҉߸Λ༻͍ͨνϟϨϯδϨεϙϯε
1976 Diffie ͱ Hellman ͕ެ։伴҉߸ԽͱೝূΛఏҊ
1977 Rivest, Shamir ͱ Adleman ͕ެ։伴҉߸ํࣜΛߏங
1985 Koblitz ͱ Miller ͕ପԁۂઢ҉߸ΛఏҊ
RSA 2048 ϏοτΛ ECC 206 ϏοτఔͰ୲อ
ࠐΈ͚ = FIDO ͷೝূثͰ༻
C ≡ (mod N)
ME
M ≡ (mod N)
CD
13
Slide 14
Slide 14 text
ެ։伴҉߸Λ༻͍ͨνϟϨϯδϨεϙϯε
1979ࠒ Bob Bosen ͕νϟϨϯδϨεϙϯεೝূΛ࣮
TRS-80 ༻ͷήʔϜʮ80 Space Raidersʯͷίϐʔࢭػೳ
ήʔϜىಈը໘ʹදࣔ͞ΕΔϥϯμϜͳ = νϟϨϯδ
ήʔϜଐͷදͰνϟϨϯδʹରԠ͢ΔΛೖྗ = Ϩεϙϯε
M ≡ (mod N)
CD
C ≡ (mod N)
ME
14
Slide 15
Slide 15 text
ެ։伴҉߸Λ༻͍ͨνϟϨϯδϨεϙϯε
ొ
ϒϥβ RP ͔ΒνϟϨϯδΛऔಘ
ೝূث伴ϖΞΛੜ
ൿີ伴ͰνϟϯϨϯδʹॺ໊ = Ϩεϙϯε
RP ެ։伴Ͱॺ໊Λݕূ
ެ։伴Λొ
15
Slide 16
Slide 16 text
ެ։伴҉߸Λ༻͍ͨνϟϨϯδϨεϙϯε
ೝূ
ϒϥβ RP ͔ΒνϟϨϯδΛऔಘ
ೝূثൿີ伴Λಋग़
ൿີ伴ͰνϟϨϯδʹॺ໊ = Ϩεϙϯε
RP ॺ໊Λݕূ
ϢʔβΛೝূ
16
Slide 17
Slide 17 text
ೝূثΛ༻͍ͨൿີ伴ͷੜͱอޢ
1994 FIPS 140-1
2001
Security Requirements for Cryptographic Modules
λϯύੑ
ϓϩʔϏϯά߈ܸ
ϑΥʔϧτ߈ܸ
αΠυνϟωϧ߈ܸ
20199݄ FIPS 140-3
FIPS 140-2
17
ͱ
Web Authentication: An API for accessing Public Key
Credentials Level 1
ϒϥβʹ࣮͞Εͨ 2 ͭͷ API
ొ = navigator.credentials.create()
ೝূ = navigator.credentials.get()
ϒϥβͱೝূث͕ձ͢ΔͨΊͷ API
ೝূث͔Β伴ϖΞΛੜ͢Δ
ೝূث͔Βൿີ伴Ͱॺ໊Λੜ͢Δ
WebAuthn
20
Slide 21
Slide 21 text
ొ = navigator.credentials.create()
Relying Party Server
Authenticator
challenge,
user info,
relying party info
relying party id ,
user info,
relying party info,
clientDataHash
new public key,
credential id,
attestation
clientDataJSON,
attestationObject
1
2
5
4
3
user verification,
new keypair,
attestation
attestationObject
Browser
RP JavaScript Application
6
0
server validation
AuthenticatorAttestationResponse
PublicKeyCredentialCreationOptions
21
Slide 22
Slide 22 text
ೝূ = navigator.credentials.get()
Relying Party Server
Authenticator
challenge
relying party id,
clientDataHash
authenticatorData
signature
clientDataJSON,
authenticatorData,
signature
1
2
5
4
3
user verification,
create assertion
Browser
RP JavaScript Application
6
0
server validation
AuthenticatorAssertionResponse
PublicKeyCredentialRequestOptions
WebAuthnAPI
22
ΪζϞʔυɾδϟύϯ, ʮGoogleࣾһͷϑΟογϯάΛ0ʹͨ͠ཧ
Google, ʮTitan ηΩϡϦςΟ Ωʔʯ,
FIDO, ʮFIDOΞϥΠΞϯεͷԊֵʯ,
NIST, "Computer Security Guidelines for Implementing the Privacy A
Richard E. Smithʰೝূٕज़ ύεϫʔυ͔Βެ։伴·Ͱʱ, p.399, p.
security-keys.html
https://cloud.google.com/titan
https://fidoalliance.org/fido%e3%82%a2%e3%83%a9%e3%82%a4%
lang=ja
25