PKCS#11(Cryptoki)์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ๊ตฌํ๋๋ ํตํฉ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํ ํ ํฐ, ์ค๋งํธ ์นด๋ ๋ฐ ๊ธฐํ ์ ์ฌํ ์ฅ์น์ ํ๋ก๊ทธ๋จ์ ์ํธ ์ด์ฉํ๊ธฐ ์ํด RSA Laboratories์์ ๊ฐ๋ฐํ ํ์ค์ ๋๋ค.
๋ฌ์์ ์ํธํ์ ๋ํ PKCS#11 ํ์ค์ ๊ธฐ์ ํ์คํ ์์ํ "์ํธํ ์ ๋ณด ๋ณดํธ"(
๋ฌ์์ ์ํธํ๋ฅผ ์ง์ํ๋ ํ ํฐ์ ๊ดํด ์ด์ผ๊ธฐํ๋ค๋ฉด ์ํํธ์จ์ด ํ ํฐ, ์ํํธ์จ์ด ํ๋์จ์ด ํ ํฐ ๋ฐ ํ๋์จ์ด ํ ํฐ์ ๋ํด ์ด์ผ๊ธฐํ ์ ์์ต๋๋ค.
์ํธํ ํ ํฐ์ ์ธ์ฆ์์ ํค ์(๊ณต๊ฐ ๋ฐ ๊ฐ์ธ ํค)์ ์ ์ฅ ๊ธฐ๋ฅ๊ณผ PKCS#11 ํ์ค์ ๋ฐ๋ฅธ ์ํธํ ์์ ์ฑ๋ฅ์ ๋ชจ๋ ์ ๊ณตํฉ๋๋ค. ์ฌ๊ธฐ์ ์ฝํ ์ฐ๊ฒฐ๊ณ ๋ฆฌ๋ ๊ฐ์ธ ํค์ ์ ์ฅ์ ๋๋ค. ๊ณต๊ฐ ํค๋ฅผ ๋ถ์คํ ๊ฒฝ์ฐ ์ธ์ ๋ ์ง ๊ฐ์ธ ํค๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต๊ตฌํ๊ฑฐ๋ ์ธ์ฆ์์์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ๊ฐ์ธ ํค์ ๋ถ์ค/ํ๊ดด๋ ์ฌ๊ฐํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ณต๊ฐ ํค๋ก ์ํธํ๋ ํ์ผ์ ํด๋ ํ ์ ์๊ณ ์ ์ ์๋ช (ES)์ ๋ฃ์ ์ ์๊ฒ ๋ฉ๋๋ค. ์ ์ ์๋ช ์ ์์ฑํ๋ ค๋ฉด ์ ํค ์์ ์์ฑํ๊ณ ์ฝ๊ฐ์ ๋น์ฉ์ ๋ค์ฌ ์ธ์ฆ ๊ธฐ๊ด ์ค ํ ๊ณณ์์ ์ ์ธ์ฆ์๋ฅผ ๋ฐ์์ผ ํฉ๋๋ค.
์์์ ์ฐ๋ฆฌ๋ ์ํํธ์จ์ด, ํ์จ์ด ๋ฐ ํ๋์จ์ด ํ ํฐ์ ์ธ๊ธํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๋ ๋ค๋ฅธ ์ ํ์ ์ํธํ ํ ํฐ์ธ ํด๋ผ์ฐ๋๋ฅผ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
์ค๋์ ๋๊ตฌ๋ ๋๋ผ์ง ์์ ๊ฒ์
๋๋ค
์ฌ๊ธฐ์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ํด๋ผ์ฐ๋ ํ ํฐ์ ์ ์ฅ๋ ๋ฐ์ดํฐ, ์ฃผ๋ก ๊ฐ์ธ ํค์ ๋ณด์์ ๋๋ค. ํด๋ผ์ฐ๋ ํ ํฐ์ด ์ด๋ฅผ ์ ๊ณตํ ์ ์๋์? ์ฐ๋ฆฌ๋ ๋งํฉ๋๋ค โ ๊ทธ๋ ์ต๋๋ค!
๊ทธ๋ ๋ค๋ฉด ํด๋ผ์ฐ๋ ํ ํฐ์ ์ด๋ป๊ฒ ์๋ํ๋์? ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ํ ํฐ ํด๋ผ์ฐ๋์ ํด๋ผ์ด์ธํธ๋ฅผ ๋ฑ๋กํ๋ ๊ฒ์
๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ํด๋ผ์ฐ๋์ ์ก์ธ์คํ๊ณ ํด๋ผ์ฐ๋์ ๋ก๊ทธ์ธ/๋๋ค์์ ๋ฑ๋กํ ์ ์๋ ์ ํธ๋ฆฌํฐ๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
ํด๋ผ์ฐ๋์ ๋ฑ๋กํ ํ ์ฌ์ฉ์๋ ์์ ์ ํ ํฐ์ ์ด๊ธฐํํด์ผ ํฉ๋๋ค. ์ฆ, ํ ํฐ ๋ ์ด๋ธ์ ์ค์ ํ๊ณ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ SO-PIN ๋ฐ ์ฌ์ฉ์ PIN ์ฝ๋๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๊ฑฐ๋๋ ๋ณด์/์ํธํ๋ ์ฑ๋์ ํตํด์๋ง ์ํ๋์ด์ผ ํฉ๋๋ค. pk11conf ์ ํธ๋ฆฌํฐ๋ ํ ํฐ์ ์ด๊ธฐํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ฑ๋์ ์ํธํํ๋ ค๋ฉด ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ง๊ทธ๋ง-CTR (GOST R 34.13-2015).
ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํธ๋ํฝ์ ๋ณดํธ/์ํธํํ๋ ๊ธฐ๋ฐ์ผ๋ก ํฉ์๋ ํค๋ฅผ ๊ฐ๋ฐํ๋ ค๋ฉด ๊ถ์ฅ๋๋ TK 26 ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๊ณต์ ํค๊ฐ ์์ฑ๋๋ ๊ธฐ๋ฐ์ด ๋๋ ๋น๋ฐ๋ฒํธ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ด ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๋ฉด ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ์ค์นํ ์ฌ์ฉ์๋ง SO ๋ฐ USER PIN ์ฝ๋๋ฅผ ํตํด ํด๋ผ์ฐ๋์ ๊ฐ์ธ ํ ํฐ ๊ฐ์ฒด์ ์ก์ธ์คํ ์ ์์ต๋๋ค. pk11conf.
์ด์ ์ด ๋จ๊ณ๋ฅผ ์๋ฃํ๋ฉด ํด๋ผ์ฐ๋ ํ ํฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํด๋ผ์ฐ๋ ํ ํฐ์ ์ก์ธ์คํ๋ ค๋ฉด PC์ LS11CLOUD ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. Android ๋ฐ iOS ํ๋ซํผ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํด๋ผ์ฐ๋ ํ ํฐ์ ์ฌ์ฉํ ๋ ํด๋น SDK๊ฐ ์ ๊ณต๋ฉ๋๋ค. Redfox ๋ธ๋ผ์ฐ์ ์์ ํด๋ผ์ฐ๋ ํ ํฐ์ ์ฐ๊ฒฐํ ๋ ์ง์ ๋๊ฑฐ๋ pkcs11.txt ํ์ผ์ ์์ฑ๋๋ ๊ฒ์ด ๋ฐ๋ก ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. LS11CLOUD ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ํ PKCS#11 C_Initialize! ํธ์ถ ์ ์์ฑ๋ SESPAKE ๊ธฐ๋ฐ์ ๋ณด์ ์ฑ๋์ ํตํด ํด๋ผ์ฐ๋์ ํ ํฐ๊ณผ ์ํธ ์์ฉํฉ๋๋ค.
๊ทธ๊ฒ ์ ๋ถ์
๋๋ค. ์ด์ ์ธ์ฆ์๋ฅผ ์ฃผ๋ฌธํ๊ณ ํด๋ผ์ฐ๋ ํ ํฐ์ ์ค์นํ ํ ์ ๋ถ ์๋น์ค ์น์ฌ์ดํธ๋ก ์ด๋ํ ์ ์์ต๋๋ค.
์ถ์ฒ : habr.com