OpenSSL 3.0.0 ์•”ํ˜ธํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฆด๋ฆฌ์Šค

19๋…„๊ฐ„์˜ ๊ฐœ๋ฐœ๊ณผ 3.0.0๋ฒˆ์˜ ํ…Œ์ŠคํŠธ ๋ฆด๋ฆฌ์Šค๋ฅผ ๊ฑฐ์ณ SSL/TLS ํ”„๋กœํ† ์ฝœ๊ณผ ๋‹ค์–‘ํ•œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ตฌํ˜„๋œ OpenSSL 1.1.1 ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ถ„๊ธฐ์—๋Š” API ๋ฐ ABI ์ˆ˜์ค€์—์„œ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ OpenSSL 1.1.1์—์„œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์‹œ ๋นŒ๋“œํ•ด์•ผ ํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ž‘๋™์—๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. OpenSSL 2023์˜ ์ด์ „ ๋ถ„๊ธฐ๋Š” XNUMX๋…„ XNUMX์›”๊นŒ์ง€ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

๋ฒ„์ „ ๋ฒˆํ˜ธ์˜ ์ค‘์š”ํ•œ ๋ณ€๊ฒฝ์€ ์ „ํ†ต์ ์ธ "Major.Minor.Patch" ๋ฒˆํ˜ธ ์ง€์ •์œผ๋กœ์˜ ์ „ํ™˜ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด์ œ ๋ฒ„์ „ ๋ฒˆํ˜ธ์˜ ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž(Major)๋Š” API/ABI ์ˆ˜์ค€์—์„œ ํ˜ธํ™˜์„ฑ์ด ๊นจ์ง€๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ณ€๊ฒฝ๋˜๊ณ , ๋‘ ๋ฒˆ์งธ(Minor)๋Š” API/ABI ๋ณ€๊ฒฝ ์—†์ด ๊ธฐ๋Šฅ์ด ํ–ฅ์ƒ๋˜๋ฉด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜์ • ์—…๋ฐ์ดํŠธ๋Š” ์„ธ ๋ฒˆ์งธ ์ˆซ์ž(ํŒจ์น˜)๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. 3.0.0 ๋ฐ”๋กœ ๋‹ค์Œ ๋ฒˆํ˜ธ 1.1.1์€ ํ˜„์žฌ ๊ฐœ๋ฐœ ์ค‘์ธ OpenSSL์šฉ FIPS ๋ชจ๋“ˆ(2.x ๋ฒˆํ˜ธ ์ง€์ •์ด ์‚ฌ์šฉ๋จ)๊ณผ์˜ ์ค‘๋ณต์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์„ ํƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์ ํŠธ์˜ ๋‘ ๋ฒˆ์งธ ์ค‘์š”ํ•œ ๋ณ€ํ™”๋Š” ์ด์ค‘ ๋ผ์ด์„ผ์Šค(OpenSSL ๋ฐ SSLeay)์—์„œ Apache 2.0 ๋ผ์ด์„ผ์Šค๋กœ์˜ ์ „ํ™˜์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋…์  OpenSSL ๋ผ์ด์„ผ์Šค๋Š” ๋ ˆ๊ฑฐ์‹œ Apache 1.0 ๋ผ์ด์„ผ์Šค์˜ ํ…์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ–ˆ์œผ๋ฉฐ OpenSSL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋งˆ์ผ€ํŒ… ์ž๋ฃŒ์— OpenSSL์„ ๋ช…์‹œ์ ์œผ๋กœ ์–ธ๊ธ‰ํ•ด์•ผ ํ•˜๊ณ  OpenSSL์ด ์ œํ’ˆ์˜ ์ผ๋ถ€๋กœ ์ œ๊ณต๋˜๋Š” ๊ฒฝ์šฐ ํŠน๋ณ„ ๊ณต์ง€๋ฅผ ์š”๊ตฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ๊ธฐ์กด ๋ผ์ด์„ผ์Šค๋Š” GPL๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š์•„ GPL ๋ผ์ด์„ผ์Šค ํ”„๋กœ์ ํŠธ์—์„œ OpenSSL์„ ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋น„ํ˜ธํ™˜์„ฑ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด GPL ํ”„๋กœ์ ํŠธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด OpenSSL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ์—ฐ๊ฒฐ๋˜๋„๋ก ๋ช…์‹œ์ ์œผ๋กœ ํ—ˆ์šฉํ•˜๊ณ  GPL์˜ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ผ์น˜ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ์–ธ๊ธ‰ํ•˜๋Š” ์กฐํ•ญ์œผ๋กœ GPL์˜ ๋ณธ๋ฌธ์„ ๋ณด์™„ํ•˜๋Š” ํŠน์ • ๋ผ์ด์„ผ์Šค ๊ณ„์•ฝ์„ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. OpenSSL๊ณผ์˜ ์—ฐ๊ฒฐ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

OpenSSL 1.1.1 ๋ถ„๊ธฐ์™€ ๋น„๊ตํ•˜์—ฌ OpenSSL 3.0.0์—๋Š” 7500๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ธฐ์—ฌํ•œ 350๊ฐœ ์ด์ƒ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. OpenSSL 3.0.0์˜ ์ฃผ์š” ํ˜์‹ :

  • FIPS 140-2 ๋ณด์•ˆ ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜๋Š” ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„์„ ํฌํ•จํ•˜์—ฌ ์ƒˆ๋กœ์šด FIPS ๋ชจ๋“ˆ์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋ชจ๋“ˆ์— ๋Œ€ํ•œ ์ธ์ฆ ํ”„๋กœ์„ธ์Šค๋Š” ์ด๋ฒˆ ๋‹ฌ์— ์‹œ์ž‘๋  ์˜ˆ์ •์ด๋ฉฐ FIPS 140-2 ์ธ์ฆ์€ ๋‚ด๋…„์— ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค). ์ƒˆ ๋ชจ๋“ˆ์€ ์‚ฌ์šฉํ•˜๊ธฐ๊ฐ€ ํ›จ์”ฌ ์‰ฌ์šฐ๋ฉฐ ์ด๋ฅผ ๋งŽ์€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒƒ์€ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ FIPS ๋ชจ๋“ˆ์€ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด ํ™œ์„ฑํ™”-fips ์˜ต์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • libcrypto๋Š” ์—”์ง„ ๊ฐœ๋…์„ ๋Œ€์ฒดํ•˜๋Š” ํ”Œ๋Ÿฌ๊ทธํ˜• ๊ณต๊ธ‰์ž ๊ฐœ๋…์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค(ENGINE API๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ). ๊ณต๊ธ‰์ž์˜ ๋„์›€์„ ๋ฐ›์•„ ์•”ํ˜ธํ™”, ์•”ํ˜ธ ํ•ด๋…, ํ‚ค ์ƒ์„ฑ, MAC ๊ณ„์‚ฐ, ๋””์ง€ํ„ธ ์„œ๋ช… ์ƒ์„ฑ ๋ฐ ํ™•์ธ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์œ„ํ•œ ์ž์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์—ฐ๊ฒฐํ•˜๊ณ  ์ด๋ฏธ ์ง€์›๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋Œ€์ฒด ๊ตฌํ˜„์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ชจ๋‘ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค(๊ธฐ๋ณธ์ ์œผ๋กœ OpenSSL์— ๋‚ด์žฅ๋œ ๊ณต๊ธ‰์ž๊ฐ€ ์ด์ œ ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค).
  • CA ์„œ๋ฒ„์—์„œ ์ธ์ฆ์„œ๋ฅผ ์š”์ฒญํ•˜๊ณ , ์ธ์ฆ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ์ธ์ฆ์„œ๋ฅผ ์ทจ์†Œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ฆ์„œ ๊ด€๋ฆฌ ํ”„๋กœํ† ์ฝœ(RFC 4210)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CMP ์ž‘์—…์€ CRMF ํ˜•์‹(RFC 4211)์„ ์ง€์›ํ•˜๊ณ  HTTP/HTTPS(RFC 6712)๋ฅผ ํ†ตํ•ด ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์ƒˆ๋กœ์šด openssl-cmp ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
  • HTTP ๋ฐ HTTPS ํ”„๋กœํ† ์ฝœ์„ ์œ„ํ•œ ๋ณธ๊ฒฉ์ ์ธ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ตฌํ˜„๋˜์–ด GET ๋ฐ POST ๋ฉ”์„œ๋“œ, ์š”์ฒญ ๋ฆฌ๋””๋ ‰์…˜, ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•œ ์ž‘์—…, ASN.1 ์ธ์ฝ”๋”ฉ ๋ฐ ์‹œ๊ฐ„ ์ดˆ๊ณผ ์ฒ˜๋ฆฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ์˜ ์‚ฝ์ž…์˜ ์ƒˆ๋กœ์šด ๊ตฌํ˜„์„ ๋” ์‰ฝ๊ฒŒ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ƒˆ๋กœ์šด EVP_MAC(๋ฉ”์‹œ์ง€ ์ธ์ฆ ์ฝ”๋“œ API)๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ‚ค ์ƒ์„ฑ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค์ธ EVP_KDF(Key Derivation Function API)๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” KDF ๋ฐ PRF์˜ ์ƒˆ๋กœ์šด ๊ตฌํ˜„ ์ถ”๊ฐ€๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. scrypt, TLS1 PRF ๋ฐ HKDF ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ด์ „ EVP_PKEY API๋Š” EVP_KDF ๋ฐ EVP_MAC API ์œ„์— ๊ตฌํ˜„๋œ ๋ ˆ์ด์–ด ํ˜•ํƒœ๋กœ ์žฌ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • TLS ํ”„๋กœํ† ์ฝœ์˜ ๊ตฌํ˜„์€ Linux ์ปค๋„์— ๋‚ด์žฅ๋œ TLS ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—… ์†๋„๋ฅผ ๋†’์ด๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Linux ์ปค๋„์—์„œ ์ œ๊ณตํ•˜๋Š” TLS ๊ตฌํ˜„์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด "SSL_OP_ENABLE_KTLS" ์˜ต์…˜ ๋˜๋Š” "enable-ktls" ์„ค์ •์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํ‚ค ์ƒ์„ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜(KDF)์€ "SINGLE STEP" ๋ฐ "SSH"์ž…๋‹ˆ๋‹ค.
    • ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋œ ์‚ฝ์ž… ์•Œ๊ณ ๋ฆฌ์ฆ˜(MAC)์€ "GMAC"์™€ "KMAC"์ž…๋‹ˆ๋‹ค.
    • RSA ํ‚ค ์บก์Šํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜(KEM) "RSASVE".
    • ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ "AES-SIV"(RFC-8452).
    • ํ‚ค ์•”ํ˜ธํ™”(ํ‚ค ๋ž˜ํ•‘)๋ฅผ ์œ„ํ•ด AES ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ์—ญ์•”ํ˜ธ๋ฅผ ์ง€์›ํ•˜๋Š” EVP API ํ˜ธ์ถœ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค: "AES-128-WRAP-INV", "AES-192-WRAP-INV", "AES-256-WRAP- INV', 'AES-128-WRAP-PAD-INV', 'AES-192-WRAP-PAD-INV' ๋ฐ 'AES-256-WRAP-PAD-INV'.
    • EVP API์— CTS(์•”ํ˜ธ๋ฌธ ์ฐจ์šฉ) ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค: โ€œAES-128-CBC-CTSโ€, โ€œAES-192-CBC-CTSโ€, โ€œAES-256-CBC-CTSโ€, โ€œCAMELLIA-128-CBC -CTSโ€ ", "CAMELLIA-192-CBC-CTS" ๋ฐ "CAMELLIA-256-CBC-CTS".
    • CAdES-BES ๋””์ง€ํ„ธ ์„œ๋ช…(RFC 5126)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • AES_GCM์€ AuthEnvelopedData(RFC 5083) ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ AES GCM ๋ชจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ ๋ฐ ์•”ํ˜ธํ™”๋œ ๋ฉ”์‹œ์ง€์˜ ์•”ํ˜ธํ™” ๋ฐ ์•”ํ˜ธ ํ•ด๋…์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • PKCS7_get_octet_string ๋ฐ PKCS7_type_is_other ํ•จ์ˆ˜๊ฐ€ ๊ณต๊ฐœ API์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • PKCS#12 API๋Š” PKCS12_create() ํ•จ์ˆ˜์— ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ PBKDF2 ๋ฐ AES๋กœ ๋Œ€์ฒดํ•˜๊ณ  SHA-256 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ MAC๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ ๋™์ž‘์„ ๋ณต์›ํ•˜๊ธฐ ์œ„ํ•ด "-legacy" ์˜ต์…˜์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. PKCS12_*_ex, PKCS5_*_ex ๋ฐ PKCS8_*_ex์— ๋Œ€ํ•œ ๋‹ค์ˆ˜์˜ ์ƒˆ๋กœ์šด ํ™•์žฅ ํ˜ธ์ถœ(์˜ˆ: PKCS12_add_key_ex().PKCS12_create_ex() ๋ฐ PKCS12_decrypt_skey_ex())์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Windows ํ”Œ๋žซํผ์˜ ๊ฒฝ์šฐ SRWLock ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•œ ์Šค๋ ˆ๋“œ ๋™๊ธฐํ™” ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ™œ์„ฑํ™” ์ถ”์  ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ํ™œ์„ฑํ™”๋˜๋Š” ์ƒˆ๋กœ์šด ์ถ”์  API๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • EVP_PKEY_public_check() ๋ฐ EVP_PKEY_param_check() ํ•จ์ˆ˜์—์„œ ์ง€์›๋˜๋Š” ํ‚ค ๋ฒ”์œ„๊ฐ€ RSA, DSA, ED25519, X25519, ED448 ๋ฐ X448๋กœ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • RAND_DRBG ํ•˜์œ„ ์‹œ์Šคํ…œ์ด ์ œ๊ฑฐ๋˜๊ณ  EVP_RAND API๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค. FIPS_mode() ๋ฐ FIPS_mode_set() ํ•จ์ˆ˜๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • API์˜ ์ƒ๋‹น ๋ถ€๋ถ„์ด ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ปดํŒŒ์ผ ์ค‘์— ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„(์˜ˆ: AES_set_encrypt_key ๋ฐ AES_encrypt)๊ณผ ์—ฐ๊ฒฐ๋œ ํ•˜์œ„ ์ˆ˜์ค€ API๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฒƒ์€ ๊ณต์‹์ ์œผ๋กœ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ์„ ์–ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. OpenSSL 3.0.0์˜ ๊ณต์‹ ์ง€์›์€ ์ด์ œ ๊ฐœ๋ณ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ ํ˜•์—์„œ ์ถ”์ƒํ™”๋œ ์ƒ์œ„ ์ˆ˜์ค€ EVP API์— ๋Œ€ํ•ด์„œ๋งŒ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค(์ด API์—๋Š” EVP_EncryptInit_ex, EVP_EncryptUpdate ๋ฐ EVP_EncryptFinal ํ•จ์ˆ˜ ๋“ฑ์ด ํฌํ•จ๋จ). ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” API๋Š” ๋‹ค์Œ ์ฃผ์š” ๋ฆด๋ฆฌ์Šค ์ค‘ ํ•˜๋‚˜์—์„œ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. EVP API๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” MD2 ๋ฐ DES์™€ ๊ฐ™์€ ๋ ˆ๊ฑฐ์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋œ ๋ณ„๋„์˜ "๋ ˆ๊ฑฐ์‹œ" ๋ชจ๋“ˆ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌธ์„œ์™€ ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๊ฐ€ ํฌ๊ฒŒ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋žœ์น˜ 1.1.1์— ๋น„ํ•ด ๋ฌธ์„œ์˜ ์–‘์€ 94% ์ฆ๊ฐ€ํ–ˆ๊ณ  ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ ์ฝ”๋“œ์˜ ํฌ๊ธฐ๋Š” 54% ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€