- Abstract
- ์ํธํค ํ์ทจ ๊ณต๊ฒฉ์ ์ ํ
- Black-box ๊ณต๊ฒฉ
- Gray-box ๊ณต๊ฒฉ
- White-box ๊ณต๊ฒฉ
- White-box ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํ Solution
- Software Solution : White Box Cryptography
ํ๋์ ์ํธ๊ธฐ์ ์ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ์ฌ โ์ํธ ์๊ณ ๋ฆฌ์ฆโ๊ณผ โ์ํธํคโ๋ก ๊ตฌํ๋์ด์ง๊ณ ์๋ค.
์ฆ, ํ๋์ ์ํธ๋ โ์ํธ ์๊ณ ๋ฆฌ์ฆโ๊ณผ โ์ํธํคโ ๋ผ๋ 2๊ฐ์ง ๊ธฐ๋ณธ ์์๋ก ๊ตฌ์ฑ๋์ด์ง๋ค.
์ํธ ์๊ณ ๋ฆฌ์ฆ์ ํ์คํ๋ ์ํธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๊ณ ์์ผ๋ฏ๋ก, ๊ฒฐ๊ตญ ์ํธ(Cryptography)์ ํต์ฌ์ ์ํธํค(๋น๋ฐํค ๋๋ ๊ฐ์ธํค)์ ์์์ ์ ์ ์๋ค.
์ฐธ๊ณ ๋ก ๋น๋ฐํค(Secrete-Key)๋ ๋์นญํค ์๊ณ ๋ฆฌ์ฆ์์ ์ฌ์ฉํ๋ ์ํธํค์ด๋ฉฐ, ๊ฐ์ธํค(Private-Key)๋ ๋น๋์นญํค ์๊ณ ๋ฆฌ์ฆ์์ ๋ณดํธํด์ผ ํ๋ ์ํธํค์ด๋ค.
์ํธ ๋ถ์ผ์ ๋ํ ์ฐ๊ตฌ๋, ์ํธ ์๊ณ ๋ฆฌ์ฆ ์์ฒด์ ๋ํ ์ฐ๊ตฌ ๋ฟ๋ง ์๋๋ผ, ์ํธํค๋ฅผ ์์ ํ๊ฒ ๋ณดํธํ๋ ค๋ ๊ธฐ์ ๊ณผ ์ํธํค๋ฅผ ํ์ทจํ๋ ค๋ ๊ณต๊ฒฉ๊ธฐ๋ฒ์ด ํจ๊ป ์ฐ๊ตฌ๋์ด์ ธ ์๋ค.
์ํธํค๋ฅผ ์์ ํ๊ฒ ๋ณดํธํ๊ธฐ ์ํ ๊ธฐ์ ๋ก 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์ ์๋์ด ์๋ค.
Hardware Solution์ธ HSM(Hardware Security Module)์ ์ฌ์ฉํ๋ ๋ฐฉ์๊ณผ Software Solution์ธ White Box Cryptography(ํ์ดํธ๋ฐ์ค ์ํธ) ๊ธฐ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค.
HSM ์ฌ์ฉ ๋ฐฉ์์ ์ฐ์ ๊ณ์์ ์์ญ ๋ ๋์ ์ฌ์ฉ๋์ด์ง๊ณ ์๋ ๊ฒ์ฆ๋ ๊ธฐ์ ์ด๋ฉฐ, WBC(White Box Cryptography)๋ ์ต๊ทผ์ ์ฃผ๋ชฉ ๋ฐ๊ณ ์๋ ๊ธฐ์ ์ด๋ค.
๋จผ์ ์ํธํค๋ฅผ ํ์ทจํ๋ ค๋ ๊ณต๊ฒฉ ๊ธฐ๋ฒ์ ๋ณด๋ฉด, ์๋ 3๊ฐ์ง ๊ธฐ๋ฒ์ผ๋ก ๊ตฌ๋ถํ ์ ์๋ค.
์ํธ๋ฌธ๊ณผ ํ๋ฌธ์ ๊ฐ์ง๊ณ , ๋น๋์นญ์๊ณ ๋ฆฌ์ฆ์ธ ๊ฒฝ์ฐ๋ ๊ณต๊ฐํค(Public-key)๋ฅผ ๊ฐ์ง๊ณ , ์ํธํค(Secret-key ๋๋ Private-key)๋ฅผ ์ ์ถํด ๋ด๋ ๊ณต๊ฒฉ์ด๋ค.
์ฆ, ์ํธ ์๊ณ ๋ฆฌ์ฆ์ด ๋์๋๋ ๋ด๋ถ ์ ๋ณด ๋ฐ ๊ณผ์ ์ ๋ณผ ์ ์๊ธฐ ๋๋ฌธ์ Black-box๋ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋ค.
๋ณด์ ๊ฐ๋๋ ์ฌ์ฉ๋๋ โ์ํธ ์๊ณ ๋ฆฌ์ฆโ๊ณผ โ์ํธํค ๊ธธ์ดโ์ ๋ฐ๋ผ ๊ฒฐ์ ๋์ด์ง๋ค.
์ด ๊ฒฝ์ฐ๋ ๋์ ์ฑ๋ฅ์ ๊ฐ์ง ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํค๋ฅผ ์ ์ถํด ๋ด๊ธฐ ๋๋ฌธ์ ์ ๋์ ์ธ ์๊ฐ์ด ํ์ํ๋ค.
๋ฌผ๋ก ํํธ๊ฐ ๋๋ ์ ๋ณด(์ค๋ ์๊ฐ ๊ด์ฐฐํ๋ฉด pattern์ ์ ์ ์๋ค)๋ฅผ ์ ์ํ๋ฉด, ๊ณ์ฐ ์๊ฐ์ด ๋จ์ถ๋๋ค.
์ด๋ฌํ ๊ณต๊ฒฉ์ ๋๋นํ๋ ๋ฐฉ๋ฒ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ํธํค๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด๋ค.
์ํธ ์ฐ์ฐ ์ ๋ฐ์๋๋ ๋ถ๊ฐ์ ์ธ(Side) ์ ๋ณด ์ฆ ์์ ์๊ฐ, ์ ๋ ฅ ์ฌ์ฉ ํจํผ, ๋ฐ์๋๋ ์ ์๊ธฐํ ์ ๋ณด ๋ฑ์ ์ ์ํ์ฌ ์ํธํค๋ฅผ ์ ์ถํ๋ ๊ณต๊ฒฉ์ด๋ค.
์ด๋ฌํ ๊ณต๊ฒฉ์ Side Channel(๋ถ์ฑ๋) ๊ณต๊ฒฉ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
์ด๋ฌํ ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด์, ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ถ๊ฐ์ ์ธ ์ ๋ณด๊ฐ ์ ์ถ๋์ง ์๋๋ก ๋ฐฉ์งํ๋ ๊ธฐ๋ฒ๊ณผ, ๋ถ๊ฐ์ ์ธ ์ ๋ณด๊ฐ ์ ์ถ๋๋๋ผ๋ ์ํธ ์๊ณ ๋ฆฌ์ฆ ์์์ ์ํธํค๋ฅผ ์ ์ถํ์ง ๋ชปํ๋๋ก ๊ตฌํํ๋ ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค.
์ํธ ์๊ณ ๋ฆฌ์ฆ ์์์ Side Channel ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ์๊ณ ๋ฆฌ์ฆ์ โSide Channel ๋ด์ฑ ์ํธ ์๊ณ ๋ฆฌ์ฆโ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ผ๋ ค์ ์ํธํค๋ฅผ ์์๋ด๋ ๊ณต๊ฒฉ์ธ, Cold Boot Attack ๋ Side Channel ๊ณต๊ฒฉ์ ํ ์ข ๋ฅ๋ก ๋ถ๋ฅํ๊ณ ์๋ค.
Gray-box๋ Black-box ์White-box ์ ์ค๊ฐ ๋จ๊ณ์ ์ํ๋ค๋ ์๋ฏธ์ด๋ค.
White-box๋ ์ฉ์ด๊ฐ ๋ดํฌํ๋ฏ์ด ์ํธ ์ฐ์ฐ ๊ณผ์ ์ ๋ค์ฌ๋ค ๋ณด๋ฉด์ ๊ณต๊ฒฉ์ ํ๋ค๋ ์๋ฏธ์ด๋ค.
emulator ๋ฑ์ software ๋ถ์ tool์ ์ฌ์ฉํ์ฌ, ๋ฉ๋ชจ๋ฆฌ ์ ๋ณด๋ ๋์ ๊ณผ์ ์ ๋ณด ๋ฑ์ ์์๋ด์ด ์ํธํค๋ฅผ ์ฐพ์๋ธ๋ค.
์๋ฅผ ๋ค๋ฉด, ์ํธํค๋ฅผ ์ฌ์ฉํ๋ ํน์ Application ์ด๋ ์์คํ ์ ์ ์ํ์ฌ, ์์ ์ ๋ถ์ ํ๊ฒฝ์์ ๋๋ฒ๊น ๊ธฐ๋ฒ์ด๋ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง(Reverse Engineering) ๊ธฐ๋ฒ์ผ๋ก ์ํธ ์ฐ์ฐ ๊ณผ์ ์ ์ถ์ ํ์ฌ ์ํธํค๋ฅผ ์ฐพ์๋ด๋ ๋ฐฉ์์ด๋ค.
White-box ๊ณต๊ฒฉ ๊ณผ Total-access ๊ณต๊ฒฉ์ ๊ฐ์ ์๋ฏธ๊ฐ ๋๋ค.
Black-box ๊ณต๊ฒฉ์ ์ด๋ ค์(๋์ด๋)๋ฅผ ์๊ธฐ ๋๋ฌธ์, ์ํธํค ํ์ทจ๋ฅผ ๋ชฉํ๋ก ํ๋ ๊ณต๊ฒฉ์๋, Gray-box ๊ณต๊ฒฉ์ด๋ White-box ๊ณต๊ฒฉ์ ์๋ํ๋ค.
White-box ๊ณต๊ฒฉ์ ํ๊ธฐ ์ํด์๋, ๋ฐฑ๋์ด ๊ธฐ๋ฅ์ ๊ฐ์ง ์ ์ฑ์ฝ๋(Malware)๋ฅผ ์ฌ์ฉ์ ์์คํ ์ ๋ชฐ๋ ์ค์นํ์ฌ ์คํ์ํค๊ฑฐ๋, ์ํธํค ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋๋ฐ์ด์ค๋ฅผ ํ์น๋ ๊ฒ ๋ฑ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
White-box ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํ ๋์ Solution์ผ๋ก ๋์จ ๊ฒ์ด HSM ๊ณผ WBC(White Box Cryptography) ์ด๋ค.
๋จ์ํ๊ฒ ์ ๋ฆฌํ๋ฉด HSM์ Hardware Solution์ด๊ณ , WBC๋ Software Solution ์ด๋ค.
Application์ ๊ฐ๋ฐํ๋ ์ ์ฅ์์ ๋ณด๋ฉด, ๋์๋๋ ์์คํ ์์ HSM๊ธฐ๋ฅ(TPM module ์ด๋TEE ์ง์ ๋ฑ) ์ง์ ์ฌ๋ถ์ ๋ฐ๋ผ, ์ํธํค ๋ณด๊ด ๊ธฐ๋ฅ์ ๊ตฌํํด์ผ ํ๋ค.
HSM ๊ธฐ๋ฅ์ด ์๋ค๋ฉด, password๋ฐฉ์์ ์ํธ๊ธฐ๋ฅ์ด๋ ๋๋ ํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ, ์ํธํค๊ฐ ํ๋ฌธ์ผ๋ก ๋ ธ์ถ๋๋ ๊ฒ์ ๋ฐฉ์งํด์ผ ํ๋ค.
WBC(White Box Cryptography)๋ Software ๋ฐฉ์, ์ฆ ์ํธํค๊ฐ ๋ ธ์ถ๋์ง ์๊ณ ์ํธ ํจ์ ์์ ๋ค์ด๊ฐ ๋์๋๊ธฐ ๋๋ฌธ์, Application ๊ฐ๋ฐ์์๊ฒ, Hardware Independent ํ ๋งค๋ ฅ์ ์ธ Solution์ผ๋ก ์ฌ๊ฒจ์ง๊ณ ์๋ค.
White Box Cryptography(ํ์ดํธ๋ฐ์ค ์ํธ)๋ ์ํธ์๊ณ ๋ฆฌ์ฆ์ด ๋์๋๋ platform์ด open-platform์ด๋ผ๋ ๊ฐ์ ํ์, ์ฆ ๋๊ตฌ๋ ์ ๊ทผํ ์ ์๋ ํ๊ฒฝํ์์, ์ํธ๊ธฐ๋ฅ(์ํธํ ๋ฐ ๋ณตํธํ)๋ฅผ ์ํํ ์ ์๋๋ก ๊ฐ๋ฐ๋ ์ํธ๊ธฐ์ ์ด๋ค.
์ฌ์ฉ์ ๊ด์ ์์ ๋ณธ open-platform์ด๋, ๊ณต๊ฒฉ์ ์ ์ฅ์์ ๋ณด๋ฉด White Box ๊ณต๊ฒฉ์ ํ ์ ์๋ ํ๊ฒฝ์ด๋ค.
WBC(White Box Cryptography)๊ฐ ๊ตฌํ์ด ๋์ด ์์ผ๋ฉด, ์ฌ์ฉ์๊ฐ ์ํธ๊ธฐ๋ฅ์ด ์ํ๋๋ ๋๋ฐ์ด์ค๋ฅผ ๋ถ์คํ๋๋ผ๋, ๋๋ ํด์ปค๊ฐ ๋ชฐ๋ ์นจํฌํด ์๋๋ผ๋, ์ํธํค๊ฐ ์ ์ถ๋์ง ์๋๋ค๋ ๊ฒ์ด๋ค.
๋ํ HSM ์ฌ์ฉ์, ๋น์ฉ์ ์ฆ๊ฐ ๋ฐ ๊ตฌํ(๋๋ฐ์ด์ค ๋ด๋ถ์ HSM๊ธฐ๋ฅ ๊ตฌํ)์ ๋์ด๋๊ฐ ์๋ ๋ฐ๋ฉด, WBC๋ Software๋ง์ผ๋ก ์ฝ๊ฒ ๊ตฌํ๋๋ฉฐ, patch ๋๋ Upgrade๋ ์ฝ๊ฒ ๋๋ ์ฅ์ ์ด ์๋ค.
์์ฝํ๋ฉด, WBC๋ White-box ๊ณต๊ฒฉ์ด ์๋ ์ํฉ์์๋ ์ํธ ์ ๋ณด(์ํธํค ๋ฐ Salt ์ ๋ณด)๋ฅผ ์์ ํ๊ฒ ์งํค๋ ๋ชฉ์ ์ผ๋ก ๊ฐ๋ฐ๋ ์ํธ ๊ธฐ์ ์ด๋ค.
์ํธํค๊ฐ ์ธ๋ถ ์ ๋ ฅ ๊ฐ์ผ๋ก ๋ค์ด๊ฐ์ง ์๊ณ ์ํธ ํจ์ ์์ ์์ฌ ์๋ค. ์ด๋ฌํ ์ํ๋ฅผ obfuscation์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
WBC๋ ๊ธฐ์กด ํ์คํ๋ ์ํธ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ฒฝ์ ์ํ์ ์๋ ๊ธฐ์ ์ด ์๋๋ผ, ํ์คํ๋ ์ํธ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฉด์ ์ํธํค๊ฐ ๋ ธ์ถ๋์ง ์๋๋ก ๋ณด์ํ๋ ๊ธฐ๋ฒ์ด๋ค.
์ฆ ,์ฌ์ฉ๋๋ ์ํธํค๋ฅผ software์ ์ผ๋ก ๋ณด๋ค ์์ ํ๊ฒ ๋ณดํธํ๊ธฐ ์ํ์ฌ ๊ฐ๋ฐ๋ ์ํธ ๊ธฐ์ ์ด๋ค.
WBC์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ์ ๋จผ์ ์ค๋ช ํ๋ฉด, ์ํธ ํจ์ code ์ ์ํธํค๋ฅผ ๋ฌด์์๋ก ์์ด์, ํผ์ก๋(obfuscated) ์๋ก์ด code๋ฅผ generate(์์ฑ)ํ์ฌ ์ฌ์ฉํ๋ ๊ธฐ๋ฒ์ด๋ค.
์ ์๋์์ ๋น์๋ Table๋ค์ ์ฌ์ฉํ์ฌ mappingํ๋ ๋ฐฉ์์ ์ฌ์ฉํ์์ผ๋, ๊ทธ ํ table ์์ด code๋ง์ผ๋ก ๋์ผํ ๋ณด์ ๊ฐ๋๋ฅผ ๊ตฌํํ๋ ๋ฐฉ์๋ ๊ฐ๋ฐ๋์๋ค.
์๋กญ๊ฒ ์์ฑ๋ code๋ ๋์ผํ ์๋ณตํธํ ๊ธฐ๋ฅ์ ์ํํ๊ฒ ๋๋ค.
์ฆ ์ํธํค๊ฐ ๋ ธ์ถ๋์ง ์๋ ์ํ๋ก ์๋ณตํธํ ๊ธฐ๋ฅ์ด ์ํ๋๋ค.
์์ฑ๋ ์๋ก์ด code๋ "WB ์ํธ ํจ์ code" ๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์๋ ๊ทธ๋ฆผ์ ๊ธฐ๋ณธ์ ๊ฐ๋ ์ ํ์ํ ๊ฒ์ ๋๋ค.
WBC๊ฐ ๊ฐ์ ํด์ผ ํ ์์ ๋ Size๋ฅผ ์ค์ด๊ณ , ์๋๋ฅผ ๋์ด๋ ๊ฒ์ด๋ผ๊ณ ํ๋ค.
๊ทธ๋ฆฌ๊ณ White-box ํ๊ฒฝ์์ ๋ ๋์ ๋ณด์ ๊ฐ๋๋ฅผ ์ ๊ณตํ๋ ๋นํ์ค ์ํธ ์๊ณ ๋ฆฌ์ฆ๋ ์๋กญ๊ฒ ๊ฐ๋ฐ๋๊ณ ์๋ค๊ณ ํ๋ฏ๋ก, ์ด์ ๋ํ ์ฐ๊ตฌ๋ ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค.
์ด๋ฌํ ์ํธ ์๊ณ ๋ฆฌ์ฆ์ โwhite-box friendly cipherโ ๋ผ๊ณ ๋ถ๋ฅธ๋ค.