์ด๋ฒ์๋ ECDSA ์๊ณ ๋ฆฌ์ฆ์์ ์ฌ์ฉํ๋ ๊ฐ์ธํค ํฌ๋งท์ ๋ํด ์์ ๋ณด์
๋จผ์ ECDSA ๊ฐ์ธํค ํฌ๋งท์ RFC5915 ์ ์ ์ ๋์ด ์๋ค.
ASN.1 ํ์
ECPrivateKey { iso(1) identified-organization(3) dod(6)
internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-ecprivateKey(65) }
DEFINITIONS EXPLICIT TAGS ::=
BEGIN
-- EXPORTS ALL;
IMPORTS
-- FROM New PKIX ASN.1 [RFC5912]
ECParameters, NamedCurve
FROM PKIXAlgs-2009
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-pkix1-algorithms2008-02(56) }
;
ECPrivateKey ::= SEQUENCE {
version INTEGER { ecPrivkeyVer1(1) } (ecPrivkeyVer1),
privateKey OCTET STRING,
parameters [0] ECParameters {{ NamedCurve }} OPTIONAL,
publicKey [1] BIT STRING OPTIONAL
}
END
์ฃผ์ ๋ด์ฉ์ ECPrivateKey ๋ถ๋ถ์ด ECDSA ๊ฐ์ธํค ํ์ผ ํ์์ด๋ค.
์ฌ๊ธฐ์ ๋ณด๋ฉด ํญ์ ๊ฐ์ธํค ํ์ผ์๋ ์ฃผ์ ๊ฐ์ด ๋ฒ์ , ๊ฐ์ธํค, ํ๋ผ๋ฏธํฐ ๊ทธ๋ฆฌ๊ณ ๊ณต๊ฐํค ์ด๋ ๊ฒ 4๊ฐ์ง ๊ฐ์ด ์ ์ ๋๋ค.
- version : ํ์ฌ ์ด ๊ฐ์ 1 ์ ๊ณ ์ ๊ฐ์ด ์ฌ์ฉ ๋๋ค.
- privateKey : ์ด ๊ฐ์ด ๊ฐ์ฅ ๋ณดํธ ๋์ด์ผ ํ ECDSA ์ ๊ฐ์ธํค ๊ฐ์ด๋ค.
- parameters : ECC ๋๋งค์ธ ํ๋ผ๋ฏธํฐ ์ด๋ฆ์ด๋ค. ์ฌ๊ธฐ์๋ namedCurve ๋ฐฉ์์ ์ฌ์ฉํด OID ๊ฐ์ด ์ฌ์ฉ๋๋ค. (์ต์ )
- publicKey : ๊ณต๊ฐํค ๊ฐ ( ์ต์ )
์ฐธ๊ณ ๋ก parameters ์ publicKey ๊ฐ์ด ์ต์ ์ด์ ๋ง ์ค์ ์ฌ์ฉ์ ์์ด์๋ ํ์ ๊ฐ์ฒ๋ผ ์๊ตฌ ๋๋ค.
PEM ํ์์ ์ธ์ฝ๋ฉ ํค๋
์ค์ ๋ก ๊ฐ์ธํค๋ฅผ ์์ฑํด์ PEM ํ์ผ์ ์์ฑ ํ๋ฉด ์ฌ์ฉํ๋ ํค๋๋ ๋ค์ ์ฒ๋ผ ์ง์ ํ๋ค.
-----BEGIN EC PRIVATE KEY-----
-----END EC PRIVATE KEY-----
OpenSSL ECDSA ๊ฐ์ธํค ์์ฑ
openssl ecparam -name prime256v1 -genkey -noout -out ecdsa_private_key.pem
์ฌ๊ธฐ์ -name prime256v1 ์ธ secp256r1 ํ๋ผ๋ฏธํฐ๋ฅผ ์ฌ์ฉ ํ๋ ๊ฒฝ์ฐ๋ฅผ ๋ํ๋ธ๋ค.
์์ฑํ PEM ํ์์ ๋ณด๋ฉด ๋ค์ ์ฒ๋ผ ๋์จ๋ค.
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIGT2Um3gW//u0sWCDZQ/XuD6Qizge3mLOZWXPLJrso9XoAoGCCqGSM49
AwEHoUQDQgAEowFoZg9qlBEGZJ46iWBeLV38Xy2P2FQWOMdNQoceqeevT+e1ZIu4
UZ03ePqB6FToUArLqHfW9O6FlsA9Bt2ZCA==
-----END EC PRIVATE KEY-----
ECDSA PrivateKey ๋ณด๊ธฐ
์ด์ ์์ฑ ๋ ๊ฐ์ธํค๋ฅผ BerEditor ์ด์ด ๋ณธ ํ๋ฉด์ด๋ค.
์ด๋ ๊ฒ ์ด๋ฏธ์ง์์ ๋ณด๋ฉด ๊ฐ์ธํค, ํ๋ผ๋ฏธํฐ, ๊ณต๊ฐํค ๊ฐ์ ํ์ธ ํ ์ ์๋ค.
ํ๋ฉด์์๋ ๋นํธ ์คํธ๋ง์ด์ง๋ง ์ค์ ๋ก๋ ํฅ์ฌ ๊ฐ์ด์์^^
๊ฐ์ธํค ํ์ผ์๋ ํ๋ผ๋ฏธํฐ OID๋ ๊ณต๊ฐํค ๊ฐ์ด ์ต์ ์ด์ง๋ง ์ค์ ๊ฐ๋ฐ ํ๋ค ๋ณด๋ฉด ํญ์ ๊ฐ์ด ํฌํจ์ด ๋์ด ์๋ค.
ํ๋ผ๋ฏธํฐ ์ ๋ณด์ ๊ฒฝ์ฐ CHOICE ํ์์ธ๋ฐ ๊ทธ๋ง์ ๋ค๋ฅธ ๊ฐ๋ ์กด์ฌํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
์ด ํ๋ผ๋ฏธํฐ์ ์ ๋ณด๋ RFC5480 ์์ ์ฐธ์กฐ ํ๋ฉด ๋๋ค.
์ค์ ๋ก ํ๋ผ๋ฏธํฐ์ OID ๊ฐ์ผ๋ก ํํ๋๋ ๊ฒฝ์ฐ๊ฐ ์ผ๋ฐ์ ์ด์ง๋ง ๊ฐํน ํ๋ผ๋ฏธํฐ ๊ฐ์ ์ ๋ณด๊ฐ ์ถ๊ฐ ๋๊ธฐ๋ ํ๋ค.
ํ์ง๋ง ์ด ๊ฒฝ์ฐ๋ ์ ์ฌ์ฉ๋์ง๋ ์๋๋ค.
'PKI > ASN.1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ASN.1 ์ธ์ฝ๋ฉ ๋ฐฉ์ (0) | 2023.06.29 |
---|---|
ASN.1 ์คํ์์ค ์ปดํ์ผ๋ฌ asn1c ์ฌ์ฉ๋ฒ (0) | 2023.05.09 |
Distinguished Encoding Rules (0) | 2022.11.07 |
Basic Encoding Rules (3/3) (0) | 2022.11.07 |
Basic Encoding Rules (2/3) (0) | 2022.11.07 |