์ด์ PKCS#11 ์ ์ ์ ๋ C API ์ ๋ํ ์ค๋ช ๊ณผ ์ฌ์ฉ์ ๋ํ ์์๋ฅผ ์ค๋ช ํ๋ค.
PKCS#11 Functions
- ์ผ๋ฐ ๋ชฉ์ ์ ํจ์
Initialize, GetInfo, Fianlize, GetFuctionList - ์ฌ๋กฏ ๋ฐ ํ ํฐ ๊ด๋ฆฌ
GetSlotList, GetSlotInfo , InitToken, InitPIN, SetPIN, WaitForSlotEvent, GetTokenInfo, GetMechanismList, GetMechanismInfo - ๊ฐ์ฒด ๊ด๋ฆฌ
CreateObject, CopyObject, DestrotyObject, GetObjectSize, GetAttributeValue, SetAttributeValue, FindObjectInit, FindObject, FindObjectFinal - ์/๋ณตํธํ
EncryptInit, Encrypt, EncryptUpdate, EncryptFinal, DecryptInit, Decrypt, DecryptUpdate, DecryptFinal - ํด์ฌ
DigestInit, Digest, DigestUpdate, DigestKey, DigestFinal - ์ ์ ์๋ช
๋ฐ MAC ๊ฒ์ฆ
SigInit, Sign, SignUpdate, SignFinal, SignRecoverInit, SignRecover
VerifyInit, Verify, VerifyUpdate, VerifyFinal, VerifyRecoverInit, VerifyRecover - ํค ๊ด๋ฆฌ
GenerateKey, GenerateKeyPair, WrapKey, UnwrapKey, DeriveKey - ๋๋ค ๊ฐ ์์ฑ
SeedRandom, GenerateRandom
์ด๋ ๊ฒ ์ํธํ์ ๊ด๋ จํ ๋ค์ํ ํจ์๋ค์ด ์ ๊ณต ๋๋ค.
๊ด๋ จ ํจ์์ ๋ํด์๋ OASIS ์ ์์ธํ ์ค๋ช ์ด ๋์ ์๋ค.
PKCS#11 ์ฌ์ฉ๋ฒ ์์
cryptoki ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ค์ ์ฒ๋ผ ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํธ์ถ ํ๋ค.
CK_RV (*c_get_function_list)(CK_FUNCTION_LIST_PTR_PTR);
CK_FUNCTION_LIST *pFuncList = NULL;
handle = lt_dlopen( pLibraryPath );
c_get_function_list = (CK_RV (*)(CK_FUNCTION_LIST_PTR_PTR))lt_dlsym( handle, "C_GetFunctionList");
ret = c_get_function_list( &pFuncList );
ret = pFuncList -> C_Initialize( NULL );
์ด๋ ๊ฒ ์ด๊ธฐํ๋ฅผ ํ๊ณ ๋ ํ ๊ฐ๊ฐ์ ํจ์๋ฅผ ๋ชจ๋ ๋์ ํธ์ถ ํ์ง ์๊ณ ํจ์ ๋ชฉ๋ก์ ๋ถ๋ก์ค๋ ํจ์ ์ด์ฉํจ
PKCS#11 ๋ฐ๋ชจ ํ๋ฉด
๋ค์ ํ๋ฉด๋ค์ CryptokiMan ์ ์ด์ฉํด SoftHSM ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํธ์ถ ํ ํ๋ฉด์ ๋ํ๋ด๋ค.
์ด ํ๋ฉด์ Cryptoki ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฝ์ด์ C_Initialize ์ด ํ ์ฌ๋กฏ ๋ฐ ๋ฉ์ปค๋์ฆ์ ํจ์๋ฅผ ํธ์ถ ํ ํ๋ฉด์ด๋ค.
๋ค์ ํ๋ฉด์ ์ฌ์ฉ์ ์ธ์
์ ์ด์ด์ ๋ก๊ทธ์ธ ํ ์ธ์ฆ์ ๋ชฉ๋ก์ ์ฝ์ด์์ ์ธ์ฆ์ ์ ๋ณด๋ฅผ ๋ณด๊ธฐ ํ ํ๋ฉด์ด๋ค.
๊ทธ๋ฆผ ์ธ์ฆ์ ๋ณด๊ธฐ ๊ธฐ๋ฅ์ PKCS#11 ๊ธฐ๋ฅ์ด ์๋๊ตฌ PKCS#11 ์ธ์ฆ์ ์ฝ๊ธฐ ํจ์๋ก ์ฝ์ด์ CryptokiMan ์ ์๋ ์ธ์ฆ์ ๋ณด๊ธฐ ๊ธฐ๋ฅ์ด๋ค.
์ด๋ ๊ฒ PKCS#11 ์ ์ ๊ณต ํ๋ ๋ณด์ํ ํฐ์ ๊ฒฝ์ฐ PKCS#11 ์ ์ฌ์ฉํ๋ ์ดํ๋ฆฌ์ผ์ด์ ์์๋ ๋ค์ํ ์ฅ์น๋ฅผ ์ฐ๊ฒฐ์ ๊ฐ๋ฅ ํ๊ฒ ํด์ค๋ค.
'PKI > HSM' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[PKCS#11] CK_SESSION_INFO ๊ตฌ์กฐ์ฒด ์ค๋ช (1) | 2024.01.04 |
---|---|
PKCS#11 ์๋ช ์์ C_SignUpdate C_SignFinal ์ฌ์ฉ ๋ชปํ๋ ๋ฉ์ปค๋์ฆ (0) | 2023.11.07 |
์คํ์์ค SoftHSM ์ฌ์ฉ๋ฒ ( Windows ํ๊ฒฝ ) (0) | 2023.05.12 |
PKCS#11 ๊ฐ์ฒด ๋ฐ ๊ตฌ์กฐ (0) | 2023.04.20 |
PKCS#11 ์ด๋ (0) | 2023.04.20 |