[์ด ๊ธฐ๋ฅ์ ๋ผ์ด์ ์ค ๋ฒ์ ๊ธฐ๋ฅ์
๋๋ค]
๋ผ์ด์ ์ค๊ฐ ํ์ํ ๋ถ์ [ํ๋ก๊ทธ๋จ ํค ๋ฐ๊ธ] ํ์ด์ง์์ 30์ผ ๋ผ์ด์ ์ค ๋ฐ๊ธ ๊ฐ๋ฅํฉ๋๋ค
CryptokiMan ์ ์ด์ฉํ์ฌ PKCS#11 ๊ธฐ๋ฅ์ DH ํค์ DeriveKey ๊ธฐ๋ฅ์ ์ด์ฉํ์ฌ
๋์นญํค๋ฅผ ์ถ์ถ ํด๋ณด์.
์ฌ๊ธฐ์ ์์ฑ๋ ๋์นญํค๋ ์ค์ ๋ก ๊ฐ์ ์ป๋ ๊ฒ์ด ์๋๋ผ HSM ์ฅ์น๋ด์์ ํค๊ฐ ์์ฑ์ด ๋๊ณ ์์ฑ๋ ํธ๋ค ๊ฐ์ ์ป๊ฒ ๋๋ค.
์ผ๋จ DH ๊ธฐ๋ฅ์ ํ๊ธฐ ์ํด์๋ ๋ค์ ์์๋ก ์คํ์ ํ๋ค.
- DH ํค ์์ฑ ์ด ๋ ํค๋ CKA_DERIVE ๊ฐ์ด TRUE ๋ก ๋์ด์ผ ํ๋ค.
์ด๋ DH ์ฉ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฃ์ด ์ฃผ์ด์ผ ํ๋๋ฐ ํด๋น ๊ฐ์ ๋ฃ์ด ์ฃผ๊ฑฐ๋ ํ ์คํธ๋ฅผ ์ํด ๋ง๋ค์ด์ ์ฌ์ฉํ๋ค. - DH ๊ฐ์ ๊ตฌํ๊ธฐ ์ํด์๋ PKCS#11 ๊ธฐ๋ฅ ์ค์ C_DeriveKey ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ค.
์ฐธ๊ณ ๋ก ์ด DH ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ C_Initialize -> C_OpenSession -> C_Login ์ด ๋์ด ์๋ ์ํ์์ ์งํ ํด์ผ ํ๋ค.
์ด ๋ฌธ์ ์์ฑ์ ์ํ์ฌ ์ฌ์ฉํ PKCS#11 ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ SoftHSM2 ๋ฅผ ์ฌ์ฉํ์๋ค.
DH ํค ์ ์์ฑ
CryptokiMan -> Objects -> Generate KeyPair ๋ฅผ ์คํ ํ์
๊ทธ๋ผ ์๋ ๊ทธ๋ฆผ ์ฒ๋ผ General ์ ๋ณด ์ฐฝ์ด ๋์จ๋ค.
- Mechanism ์ CKM_DH_PKCS_KEY_PAIR_GEN ์ ์ ํ
- ํ๋ผ๋ฏธํฐ ํค ๊ธธ์ด : 1024 ๋ฅผ ์ ํ ( ์ด ๊ฐ์ 512, 2048 ์ ํ ํด๋ ๋๋ค.)
- Gen DH Param ํด๋ฆญ ํ๋ฉด ์๋ ํ๋ผ๋ฏธํฐ ๊ฐ์ธ g ์ p ๊ฐ ํ์ ๋๋ค. ๋ฌผ๋ก ์ด ๊ฐ์ ๊ธฐ์กด์ ๊ฐ์ ๋ฃ์ด ์ฃผ์ด๋ ๋๋ค.
๊ทธ๋ฆฌ๊ณ Private Key ํญ์ ์ ํ ํ์
- Label ์ ๊ธฐ์ตํ๊ธฐ ์ฝ๊ฒ ์ ์ผ๋ฉด ๋๋ค.
- ์ฌ๊ธฐ์ Derive ๊ฐ์ ์ฒดํฌ ํ๊ณ true ๋ฅผ ํํ ์ ํ ํ๋ค.
๊ทธ๋ฆฌ๊ณ OK ๋ฅผ ๋๋ฅด๋ฉด DH ํค ์์ด ์์ฑ ๋๋ค ํค ์์ PrivateKey ์ Public Key ์์ ํ์ธ ํ ์ ์๋ค.
DH ๊ณต์ ํค๋ฅผ ์์ฑ
๊ณต์ ํค๋ฅผ ์์ฑ ํ๊ธฐ ์ํด์๋ Tools -> Derive Key ๋ฅผ ์ ํ ํ์
- ์์์ ๋ง๋ ํค์ธ DH Test ๋ฅผ ๋ผ๋ฒจ์์ ์ ํ ํ์
- Method ๋ CKM_DH_PKCS_DERIVE ๋ฅผ ์ ํํด์ DH ์๊ณ ๋ฆฌ์ฆ์ ์ง์ ํ๋ค.
- Parameter ์์๋ ์๋๋ฐฉ ๊ณต๊ฐ ํค ๊ฐ์ ๋ฃ์ด ์ฃผ์
๊ทธ๋ฆฌ๊ณ Key ํญ์ ์ ํ ํ๋ค.
ํค ํญ์์ ์์ฑ ๋ ํค๋ CKO_SECRET_KEY ๋ฅผ ์ ํ
๊ทธ๋ฆฌ๊ณ CKK_GENERIC_SECRET ํค๋ฅผ ๋ํดํธ๋ก ์ ํ ํ๋ค.( ์ฐธ๊ณ ๋ก CKK_AES ๋ฅผ ์ฌ์ฉ ํด๋ ๋๋ค )
๊ทธ๋ฆฌ๊ณ ์์ฑ ํ ํค ๊ธธ์ด๋ฅผ ์
๋ ฅ ํ์ ์ฌ๊ธฐ์๋ 16 ๋ฐ์ดํธ๋ฅผ ์
๋ ฅ ํ์๋ค.
๊ทธ๋ฆฌ๊ณ ํ์ธ์ ์ํด ๋ผ๋ฒจ์ ๊ธฐ๋ก ํ์ ์์ ๋ "Derived Key" ๋ฅผ ์
๋ ฅ ํ๊ณ "OK"๋ฅผ ๋๋ฅธ๋ค.
๊ทธ๋ผ ์๋ ๊ทธ๋ฆผ ์ฒ๋ผ DH ๋ฅผ ์ด์ฉํ Secret Key ๋ฅผ ํ์ธ ํ ์ ์๋ค.
๋ง๋ฌด๋ฆฌ
PKCS#11 API ๋ฅผ ์ด์ฉํ์ฌ DH ํค ์ ๋ฐ ๋์นญํค ์ถ์ถ์ ํด๋ณด์๋ค.
DH ์๊ณ ๋ฆฌ์ฆ์ ๋์นญํค๋ฅผ ์ถ์ถ ํ๊ธฐ ์ํด์ ์ฌ์ฉ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก DH ๋ ํค ๊ฐ์ ์ถ์ถ ํ๊ฒ ๋์ง๋ง PKCS#11์์๋ ํค๊ฐ ์์ฑ์ด ๋๊ณ ๊ทธ์ ๋ํ ํธ๋ค์ ์ป๋๊ฒ์ด๋ค.
์ฆ ํค๋ ์ฅ์น์ ์ ์ฅ์ด ๋์ด์ ์ค์ ํค ๊ฐ์ ์ ์๋ ์๊ณ ๊ทธ์ ๋ํ ํธ๋ค์ ์ด์ฉํ์ฌ ์ฌ์ฉ ํ ์ ์๋ ๊ฒ์ด๋ค.
'Manual > CryptokiMan' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CryptokiMan] ECDH ๋ฅผ ์ด์ฉ ๋์นญํค ์์ฑ ํ๊ธฐ (1) | 2023.10.31 |
---|---|
[CryptokiMan] HSM ์ฅ์น ์ง์ ๋ฉํฌ๋์ฆ ํ์ธ ํ๊ธฐ (0) | 2023.10.24 |
[CryptokiMan] WrapKey UnwrapKey ์ฌ์ฉ ํ๊ธฐ (0) | 2023.06.27 |
[CryptokMan] HMAC ๊ฐ ๊ตฌํ๊ธฐ (0) | 2023.06.23 |
[CryptokiMan] Digest ๊ฐ ์์ฑ ํ๊ธฐ (0) | 2023.06.21 |