RSA vs ECDSA ์๊ณ ๋ฆฌ์ฆ ๋น๊ต
PKI ๋ฐ ๋น๋์นญํค ์ํธํ์์ ์ฃผ๋ก ์ฌ์ฉ ๋๋ ์๊ณ ๋ฆฌ์ฆ์ด RSA ์ ECDSA ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์ฌ๊ธฐ์๋ RSA์ ECDSA ์ํ์ ์ธ ๋ด์ฉ ๋ณด๋ค๋ ์
๋ฌด์์ ์๊ฒ ๋ ๋ด์ฉ์ด๋ค.
์ค์ ๋ก ๋๊ฐ์ ์๊ณ ๋ฆฌ์ฆ ์๋ฃ๋ ๊ฒ์ํด ๋ณด๋ฉด ์์ฃผ ๋ง์ด ์กด์ฌํ์ง๋ง ๋๋ง์ ์๊ฐ์ ์ ๋ฆฌ๋ฅผ ํด๋ณด์๋ค.
1. RSA ์๊ณ ๋ฆฌ์ฆ
- Ron Rivest, Adi Shamir ๊ทธ๋ฆฌ๊ณ Leonard Adleman ์ ์ฐ๊ตฌ์ค์์ 1978๋ ๋์ ์ธ ์ฌ๋์ ์ด๋ฆ์ ์ฝ์๋ฅผ ๋ฐ์ ๋ง๋ค์ด ์ก๋ค.
- RSA ์์ ์ฑ์ ํฐ ์ซ์๋ฅผ ์์ธ์ ๋ถํด๊ฐ ์ด๋ ต๋ค๋๊ฒ์ ๊ธฐ๋ฐ์ ๋ ๋น ๋์นญํค ์๊ณ ๋ฆฌ์ฆ ์ด๋ค.
- ํฐ ์์ ์์ธ์ ๋ถํด๋ฅผ ๋น ๋ฅด๊ฒ ํ ์ ์๋ค๋ฉด RSA๋ ๋ฌด๋์ง๋ค.( ์์ ์ํธ์์๋ ๋น ๋ฅด๊ฒ ๋ถํด ๋ฐฉ๋ฒ ๋ฐํ ํจ )
2. ECDSA ์๊ณ ๋ฆฌ์ฆ
- Neal Koblitz ์ Victor Miller ๊ฐ 1985๋ ์ ์ํ ํ์ ๊ณก์ ์ํธ(ECC: Elliptic Curve Cryptosystem)์ ๊ธฐ๋ฐํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค
- ์ ํ์ฒด(Finite Field)์์ ํ์๊ณก์ ์ ๋ค๊ฐ์ ์ฐ์ฐ์์ ์ ์ ๋๋ ์ด์ฐ๋์ ๋ฌธ์ ์ ์ด๋ ค์์ ๊ธฐ๋ฐ์ ๋ ์ ์ ์๋ช ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
- RSA์์ ๋ณด๋ค ๊ณต๊ฐํค์ ๊ฐ์ธํค์ ํฌ๊ธฐ๊ฐ ๊ฐ์ ๊ฐ๋์ ๋ณด์ ์์ค์ ๋นํด ์งง๋ค
- ์ด์ฐ ๋์์ ์ด๋ ค์ ๋ฌธ์
3. RSA ์ ECDSA ์ฃผ์ ์ฐจ์ด์
3-1 ๊ธฐ๋ฅ ์ฐจ์ด
RSA๋ ์ ์ ์๋ช ๋ฐ ๊ณต๊ฐํค๋ก ์ํธํ ๊ธฐ๋ฅ์ด ์กด์ฌํ๋ค. ํ์ง๋ง ECDSA ๋ ์ ์ ์๋ช ๋ง์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
- ECDSA ๋ ๋์นญํค ๊ณต์ ๋ฅผ ์ํด์๋ ๊ณต๊ฐํค ์ํธํ๊ฐ ์์ด์ ECDH ์๊ณ ๋ฆฌ์ฆ์ ํตํด ํค ๊ตํ์ ํ๋ค.
- ์ฐธ๊ณ ๋ก ECIES ๋ผ๋ ECC ๊ณ์ด์ ์ํธ ์ฉ์ด๋ ์์ง๋ง ECC ์์ฒด ์๊ณ ๋ฆฌ์ฆ์ด ์๋ KDF ๋ฅผ ํตํ ์ํธํ ๋ฐฉ๋ฒ์ด๋ค.
- RSA ๊ณต๊ฐํค ์ํธํ๋ ์งง์ ๊ธธ์ด์๋ง ์ฌ์ฉํ๋ค.(๋์นญํค์ ๋นํด ์ํธ ์ฐ์ฐ๋์ด ๋๋ฌด ํฌ๊ธฐ ๋๋ฌธ์ด๋ค)
3-2 ์ ํ ์ฌํญ
RSA๋ ์ ํ ์ฌํญ์ด ํค ๊ธธ์ด ํ๋๋ค. ํ์ฌ 2048 ์ด๋ผ๋ ๊ธธ์ด๊ฐ ํต์ฉ๋์ด์ ์ ํ์ ๊ณ ๋ฏผ์ด ์๋ค.
ํ์ง๋ง ECDSA ๋ ๋ค์ํ ์ปค๋ธ๊ฐ ์กด์ฌํ๋๋ฐ ์ด๋ค์ ์ ํ์ ์์ด์ ์ํ์๊ฐ ์๋์ด์ ์๋ฏธ๋ฅผ ์ดํดํด๊ธฐ๊ฐ ์ด๋ ต๋ค.
๊ทธ๋ฌ๋ค ๋ณด๋ ๊ณ ๋ ค์ฌํญ์ด ๋ ๋ง์์ง๋ค. ๋ฌผ๋ก P-256 (prime256v1) ์ด ๋์ฒด๋ก ์ฌ์ฉ๋๊ธด ํ๋ค.
- ์ ํ ์ฌํญ์ด ๋ณต์กํ๋ค๋ ๊ฒ์ ๊ทธ๋งํผ ํธํ์ฑ์ ๋ฌธ์ ์ ์์ธ์ด ๋๋ค.
3-3 ํค ์ ์์ฑ
- RSA๋ ํฐ ์์ธ์ p์ q๋ฅผ ๋๋คํ๊ฒ ์ฐพ๋ค ๋ณด๋ ํค ์์ฑ ์๊ฐ์ด ์ผ์ ํ์ง ์๋๋ค ๊ทธ๋ฆฌ๊ณ ์ค๋ ๊ฑธ๋ฆฐ๋ค
- ๋ณดํต ํค ์์ฑ ์๊ฐ์ ๋ํ๋ผ ๋ ํ๊ท ์๊ฐ์ ์ด์ฉํ๋ค
- ECDSA ๋ ํด๋น ์ปค๋ธ์ ๋ฐ๋ฅธ ๊ธธ์ด์ ๋๋ฅ ๊ฐ ์์ฒด๋ฅผ ๊ฐ์ธํค๋ก ์ฌ์ฉํ๊ณ ๊ณต๊ฐํค ๊ฐ์ ์ฐ์ฐ์ผ๋ก ๊ตฌํ๋ค.
- ํค์ ์์ฑ์ด ๋น ๋ฅด๊ณ ์๊ฐ์ด ์ผ์ ํ๋ค.
3-4 ๋ณด์ ๊ฐ๋ ๋ณ ํค๊ธธ์ด
์๋ ํ๋ ํด์ฌ๋ท ์๋ฃ ์ฐธ๊ณ ํจ
๋์นญํค ํฌ๊ธฐ | RSA ํค ํฌ๊ธฐ | ECC ํค ํฌ๊ธฐ | ํค ํฌ๊ธฐ ๋น์จ | ๋น๊ณ |
---|---|---|---|---|
80 | 1024 | 160 | 7:1 | ์ทจ์ฝ |
112 | 2048 | 224 | 9:1 | ๊ถ์ฅ |
128 | 3072 | 256 | 12:1 | |
192 | 7680 | 384 | 20:1 | |
256 | 15360 | 512 | 30:1 |
4. Speed ํ ์คํธ
๋ค์์ openssl speed ๋ช
๋ น์ด๋ฅผ ํตํ RSA ์ ECDSA ์ ์์๋ช
๋ฐ ๊ฒ์ฆ ์๊ฐ ๋ฐ์ดํ์ด๋ค.
๋ฌผ๋ก ์ด ์๊ฐ์ ์คํ ํ๊ฒฝ์ ๋ฐ๋ฅธ ์ค์ฐจ๋ ์กด์ฌํ์ง๋ง ๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ์ ๋น๊ต์ฉ์ด๋ค.
์๋ ๋ด์ฉ์ ํ์ ์๋ ์ผ๋ถ๋ถ์ ์ ๊ฑฐํ ๋ฉ์ธ์ง ์ด๋ค.
4-1 RSA ์๋ ํ ์คํธ
[RANIX@DESKTOP-VOGBKQM RANIX]$ openssl speed rsa
version: 3.0.8
built on: Thu Mar 2 08:01:34 2023 UTC
options: bn(64,64)
compiler: gcc -m64 -Wall -O3 -DL_ENDIAN -DOPENSSL_PIC -DUNICODE -D_UNICODE -DWIN32_LEAN_AND_MEAN -D_MT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_ia32cap=0x7ffaf3bfffebffff:0x40000000029c67af
sign verify sign/s verify/s
rsa 1024 bits 0.000079s 0.000005s 12675.9 184851.7
rsa 2048 bits 0.000523s 0.000016s 1913.8 64076.9
rsa 3072 bits 0.001562s 0.000032s 640.1 30974.9
rsa 4096 bits 0.003499s 0.000054s 285.8 18388.4
4-2 ECDSA ์๋ ํ ์คํธ
[RANIX@DESKTOP-VOGBKQM RANIX]$ openssl speed ecdsa
version: 3.0.8
built on: Thu Mar 2 08:01:34 2023 UTC
options: bn(64,64)
compiler: gcc -m64 -Wall -O3 -DL_ENDIAN -DOPENSSL_PIC -DUNICODE -D_UNICODE -DWIN32_LEAN_AND_MEAN -D_MT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
CPUINFO: OPENSSL_ia32cap=0x7ffaf3bfffebffff:0x40000000029c67af
sign verify sign/s verify/s
192 bits ecdsa (nistp192) 0.0002s 0.0002s 4243.7 4531.3
224 bits ecdsa (nistp224) 0.0003s 0.0003s 2986.7 3289.0
256 bits ecdsa (nistp256) 0.0000s 0.0001s 45030.4 16353.3
384 bits ecdsa (nistp384) 0.0008s 0.0007s 1185.3 1410.9
521 bits ecdsa (nistp521) 0.0020s 0.0016s 512.1 645.0
์ฐธ๊ณ ๋ก ํ์ฌ๋ RSA ๊ฒฝ์ฐ๋ ํค ๊ธธ์ด 2048 ์ด ์ฃผ๋ก ์ฌ์ฉํ๊ณ ECDSA ๊ฒฝ์ฐ๋ 256 bits ecdsa ์ธ๋ฐ ๋๊ฐ์ ๋ถ๋ถ์ ๋ณด๋ฉด
256 bits ecdsa ์ด ์ฆ ECC ๊ฐ RSA 2048 ๋ณด์ ๊ฐ๋ ๋ณด๋ค ๋์๋ ์๋๋ฉด์์ ํจ์ฌ ๋น ๋ฅด๋ค.
๋ํ ํค ์์ฑ์ ECC ๊ฐ ์๋ฑํ ๋น ๋ฅด๋ค.
๋ง๋ฌด๋ฆฌ
์ฌ์ค RSA ์ ECDSA ์๊ณ ๋ฆฌ์ฆ์ ์ ํ ํจ์ ์์ด์๋ ์ฉ๋๋ ํ๊ฒฝ์ ๋ง์ถ์ด์ ์ ํํด์ผ ํ๋ค.
RSA ๊ฒฝ์ฐ๋ ์ผ๋ฐ์ ์ผ๋ก ๋น ๋ฅธ ํ๊ฒฝ์์ ๋ค์ํ ๊ณณ์ ์ธ๋ ค๋ฉด RSA ๋ฅผ ์ ํํ๋ฉด ์ข์ ๊บผ ๊ฐ๋ค.
PC ํ๊ฒฝ์ด๋ ์ค๋งํธํฐ ์ฒ๋ผ ์ฑ๋ฅ์ด ์ข์ ํ๊ฒฝ์์ ๋ง์ด๋ค.
RSA๋ ํค ๊ธธ์ด๋ง ์ ํ์ ํ๋ฏ๋ก ์ ํ ์ฌํญ์ด ๋ช
ํํ๊ณ ๊ณต๊ฐํค ์ํธํ ๊ธฐ๋ฅ์ด ์ ๊ณต ๋์ด์์ด๋ค.
IOT ๋ ์๋ฒ ๋๋ ์์คํ
์ฒ๋ผ ์ ํ์ ์ธ ํ๊ฒฝ์์๋ ECDSA๊ฐ ์ ํฉํ๋ค๊ณ ๋ณธ๋ค.
์ฐ์ฐ๋ ์ ๊ฒ ๋ค๊ณ ์ ํ๋ ์์คํ
์ด๋ผ ํธํ์ฑ์ ์๊ตฌ๊ฐ ์ ์ ํ๊ฒฝ์์ ์ข์๊ฒ์ผ๋ก ๋ณธ๋ค.
์ฐ์ฐ์ด ๋น ๋ฅด์ง๋ง ์ปค๋ธ์ ์ ํ์์ ๋ค์ํจ๊ณผ ๋ณต์กํจ์ด ์์ด์์ด๋ค.
ํ์ง๋ง ์ด๊ฒ์ ๋์ ์๊ฐ์ด์ง ์ ํ์ ๋ค์ํ๊ฒ ์ ํด์ง๋ค.