Skip to content

gunh0/WhiteBox_Cryptanalysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

White Box Cryptography


Table of Contents

  • Abstract
  • ์•”ํ˜ธํ‚ค ํƒˆ์ทจ ๊ณต๊ฒฉ์˜ ์œ ํ˜•
    • Black-box ๊ณต๊ฒฉ
    • Gray-box ๊ณต๊ฒฉ
    • White-box ๊ณต๊ฒฉ
  • White-box ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ Solution
    • Software Solution : White Box Cryptography


Abstract

ํ˜„๋Œ€์˜ ์•”ํ˜ธ๊ธฐ์ˆ ์€ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ โ€œ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜โ€๊ณผ โ€œ์•”ํ˜ธํ‚คโ€๋กœ ๊ตฌํ˜„๋˜์–ด์ง€๊ณ  ์žˆ๋‹ค.

์ฆ‰, ํ˜„๋Œ€์˜ ์•”ํ˜ธ๋Š” โ€œ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜โ€๊ณผ โ€œ์•”ํ˜ธํ‚คโ€ ๋ผ๋Š” 2๊ฐ€์ง€ ๊ธฐ๋ณธ ์š”์†Œ๋กœ ๊ตฌ์„ฑ๋˜์–ด์ง„๋‹ค.

์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ‘œ์ค€ํ™”๋œ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ๊ฒฐ๊ตญ ์•”ํ˜ธ(Cryptography)์˜ ํ•ต์‹ฌ์€ ์•”ํ˜ธํ‚ค(๋น„๋ฐ€ํ‚ค ๋˜๋Š” ๊ฐœ์ธํ‚ค)์— ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์ฐธ๊ณ ๋กœ ๋น„๋ฐ€ํ‚ค(Secrete-Key)๋Š” ๋Œ€์นญํ‚ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์•”ํ˜ธํ‚ค์ด๋ฉฐ, ๊ฐœ์ธํ‚ค(Private-Key)๋Š” ๋น„๋Œ€์นญํ‚ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋ณดํ˜ธํ•ด์•ผ ํ•˜๋Š” ์•”ํ˜ธํ‚ค์ด๋‹ค.


์•”ํ˜ธ ๋ถ„์•ผ์— ๋Œ€ํ•œ ์—ฐ๊ตฌ๋Š”, ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด์— ๋Œ€ํ•œ ์—ฐ๊ตฌ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์•”ํ˜ธํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•˜๋ ค๋Š” ๊ธฐ์ˆ ๊ณผ ์•”ํ˜ธํ‚ค๋ฅผ ํƒˆ์ทจํ•˜๋ ค๋Š” ๊ณต๊ฒฉ๊ธฐ๋ฒ•์ด ํ•จ๊ป˜ ์—ฐ๊ตฌ๋˜์–ด์ ธ ์™”๋‹ค.


์•”ํ˜ธํ‚ค๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ ๋กœ 2๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์ œ์‹œ๋˜์–ด ์žˆ๋‹ค.

Hardware Solution์ธ HSM(Hardware Security Module)์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹๊ณผ Software Solution์ธ White Box Cryptography(ํ™”์ดํŠธ๋ฐ•์Šค ์•”ํ˜ธ) ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

HSM ์‚ฌ์šฉ ๋ฐฉ์‹์€ ์‚ฐ์—…๊ณ„์—์„œ ์ˆ˜์‹ญ ๋…„ ๋™์•ˆ ์‚ฌ์šฉ๋˜์–ด์ง€๊ณ  ์žˆ๋Š” ๊ฒ€์ฆ๋œ ๊ธฐ์ˆ ์ด๋ฉฐ, WBC(White Box Cryptography)๋Š” ์ตœ๊ทผ์— ์ฃผ๋ชฉ ๋ฐ›๊ณ  ์žˆ๋Š” ๊ธฐ์ˆ ์ด๋‹ค.



์•”ํ˜ธํ‚ค ํƒˆ์ทจ ๊ณต๊ฒฉ์˜ ์œ ํ˜•

๋จผ์ € ์•”ํ˜ธํ‚ค๋ฅผ ํƒˆ์ทจํ•˜๋ ค๋Š” ๊ณต๊ฒฉ ๊ธฐ๋ฒ•์„ ๋ณด๋ฉด, ์•„๋ž˜ 3๊ฐ€์ง€ ๊ธฐ๋ฒ•์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.


Black-box(๋ธ”๋ž™๋ฐ•์Šค) ๊ณต๊ฒฉ

์•”ํ˜ธ๋ฌธ๊ณผ ํ‰๋ฌธ์„ ๊ฐ€์ง€๊ณ , ๋น„๋Œ€์นญ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ๊ฒฝ์šฐ๋Š” ๊ณต๊ฐœํ‚ค(Public-key)๋ฅผ ๊ฐ€์ง€๊ณ , ์•”ํ˜ธํ‚ค(Secret-key ๋˜๋Š” Private-key)๋ฅผ ์œ ์ถ”ํ•ด ๋‚ด๋Š” ๊ณต๊ฒฉ์ด๋‹ค.

์ฆ‰, ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋™์ž‘๋˜๋Š” ๋‚ด๋ถ€ ์ •๋ณด ๋ฐ ๊ณผ์ •์„ ๋ณผ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— Black-box๋ž€ ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๋ณด์•ˆ ๊ฐ•๋„๋Š” ์‚ฌ์šฉ๋˜๋Š” โ€œ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜โ€๊ณผ โ€œ์•”ํ˜ธํ‚ค ๊ธธ์ดโ€์— ๋”ฐ๋ผ ๊ฒฐ์ •๋˜์–ด์ง„๋‹ค.

์ด ๊ฒฝ์šฐ๋Š” ๋†’์€ ์„ฑ๋Šฅ์„ ๊ฐ€์ง„ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ‚ค๋ฅผ ์œ ์ถ”ํ•ด ๋‚ด๊ธฐ ๋•Œ๋ฌธ์— ์ ˆ๋Œ€์ ์ธ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.

๋ฌผ๋ก  ํžŒํŠธ๊ฐ€ ๋˜๋Š” ์ •๋ณด(์˜ค๋žœ ์‹œ๊ฐ„ ๊ด€์ฐฐํ•˜๋ฉด pattern์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค)๋ฅผ ์ž…์ˆ˜ํ•˜๋ฉด, ๊ณ„์‚ฐ ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋œ๋‹ค.

์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์— ๋Œ€๋น„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ฃผ๊ธฐ์ ์œผ๋กœ ์•”ํ˜ธํ‚ค๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด๋‹ค.


Gray-box(๊ทธ๋ ˆ์ด๋ฐ•์Šค) ๊ณต๊ฒฉ

์•”ํ˜ธ ์—ฐ์‚ฐ ์‹œ ๋ฐœ์ƒ๋˜๋Š” ๋ถ€๊ฐ€์ ์ธ(Side) ์ •๋ณด ์ฆ‰ ์†Œ์š” ์‹œ๊ฐ„, ์ „๋ ฅ ์‚ฌ์šฉ ํŒจํŠผ, ๋ฐœ์ƒ๋˜๋Š” ์ „์ž๊ธฐํŒŒ ์ •๋ณด ๋“ฑ์„ ์ž…์ˆ˜ํ•˜์—ฌ ์•”ํ˜ธํ‚ค๋ฅผ ์œ ์ถ”ํ•˜๋Š” ๊ณต๊ฒฉ์ด๋‹ค.

์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์„ Side Channel(๋ถ€์ฑ„๋„) ๊ณต๊ฒฉ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค.

์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ, ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ถ€๊ฐ€์ ์ธ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋˜์ง€ ์•Š๋„๋ก ๋ฐฉ์ง€ํ•˜๋Š” ๊ธฐ๋ฒ•๊ณผ, ๋ถ€๊ฐ€์ ์ธ ์ •๋ณด๊ฐ€ ์œ ์ถœ๋˜๋”๋ผ๋„ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ƒ์—์„œ ์•”ํ˜ธํ‚ค๋ฅผ ์œ ์ถ”ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ƒ์—์„œ Side Channel ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ โ€œSide Channel ๋‚ด์„ฑ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜โ€์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์–ผ๋ ค์„œ ์•”ํ˜ธํ‚ค๋ฅผ ์•Œ์•„๋‚ด๋Š” ๊ณต๊ฒฉ์ธ, Cold Boot Attack ๋„ Side Channel ๊ณต๊ฒฉ์˜ ํ•œ ์ข…๋ฅ˜๋กœ ๋ถ„๋ฅ˜ํ•˜๊ณ  ์žˆ๋‹ค.

Gray-box๋ž€ Black-box ์™€White-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

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์œผ๋กœ ์—ฌ๊ฒจ์ง€๊ณ  ์žˆ๋‹ค.


Software Solution : White Box Cryptography

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" ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ ๊ธฐ๋ณธ์  ๊ฐœ๋…์„ ํ‘œ์‹œํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Original AES vs. White-box AES (KOR)

Original AES vs. White-box AES


WBC๊ฐ€ ๊ฐœ์„ ํ•ด์•ผ ํ•  ์ˆ™์ œ๋Š” Size๋ฅผ ์ค„์ด๊ณ , ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  White-box ํ™˜๊ฒฝ์—์„œ ๋” ๋†’์€ ๋ณด์•ˆ ๊ฐ•๋„๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋น„ํ‘œ์ค€ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋„ ์ƒˆ๋กญ๊ฒŒ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•˜๋ฏ€๋กœ, ์ด์— ๋Œ€ํ•œ ์—ฐ๊ตฌ๋„ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ์•”ํ˜ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ โ€œwhite-box friendly cipherโ€ ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

About

๐Ÿ”’ Whitebox Cryptographic Code Example

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages