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

OpenBSD ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ์ž๋“ค์€ ๋” ๋†’์€ ์ˆ˜์ค€์˜ ๋ณด์•ˆ ์ œ๊ณต์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” OpenSSL ํฌํฌ๊ฐ€ ๊ฐœ๋ฐœ ์ค‘์ธ LibreSSL 3.7.0 ํŒจํ‚ค์ง€์˜ ํœด๋Œ€์šฉ ๋ฒ„์ „ ์ถœ์‹œ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. LibreSSL ํ”„๋กœ์ ํŠธ๋Š” ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•˜๊ณ  ์ถ”๊ฐ€ ๋ณด์•ˆ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ฉฐ ์ฝ”๋“œ ๋ฒ ์ด์Šค๋ฅผ ๋Œ€ํญ ์ •๋ฆฌํ•˜๊ณ  ์žฌ์ž‘์—…ํ•จ์œผ๋กœ์จ SSL/TLS ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ๊ณ ํ’ˆ์งˆ ์ง€์›์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. LibreSSL 3.7.0 ๋ฆด๋ฆฌ์Šค๋Š” OpenBSD 7.3์— ํฌํ•จ๋  ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ์‹คํ—˜์ ์ธ ๋ฆด๋ฆฌ์Šค๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค.

LibreSSL 3.7.0์˜ ํŠน์ง•:

  • Daniel Bernstein์ด ๊ฐœ๋ฐœํ•˜๊ณ  Curve25519 ํƒ€์› ๊ณก์„  ๋ฐ SHA-25519 ํ•ด์‹œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Ed512 ๊ณต๊ฐœ ํ‚ค ๋””์ง€ํ„ธ ์„œ๋ช…์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Ed25519 ์ง€์›์€ ๋ณ„๋„์˜ ๊ธฐ๋ณธ ํ˜•์‹๊ณผ EVP ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋ชจ๋‘ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • EVP ์ธํ„ฐํŽ˜์ด์Šค์—๋Š” ํƒ€์› ๊ณก์„ ์˜ ์ ์„ ์กฐ์ž‘ํ•  ๋•Œ "X" ์ขŒํ‘œ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์—์„œ Ed25519 ์„œ๋ช…๊ณผ ๋‹ค๋ฅธ X25519 ๋””์ง€ํ„ธ ์„œ๋ช…์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๊ณ  ํ™•์ธํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ฝ”๋“œ ์–‘์„ ํฌ๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • OpenSSL 1.1๊ณผ ํ˜ธํ™˜๋˜๋Š” ๊ณต๊ฐœ ๋ฐ ๊ฐœ์ธ ํ‚ค ์ž‘์—…์„ ์œ„ํ•œ ํ•˜์œ„ ์ˆ˜์ค€ API๊ฐ€ ๊ตฌํ˜„๋˜์–ด EVP_PKEY_ED25519, EVP_PKEY_HMAC ๋ฐ EVP_PKEY_X25519 ํ‚ค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์‹œ์Šคํ…œ ํ•จ์ˆ˜ timegm() ๋ฐ gmtime() ๋Œ€์‹  BoringSSL์˜ POSIX ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ ์งœ๋ฅผ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • BN(BigNum) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์†Œ์ˆ˜์™€ ์ž‘๋™ํ•˜๋Š” ์˜ค๋ž˜๋˜๊ณ  ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์ฝ”๋“œ๋ฅผ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
  • HMAC PRIVATE KEY์— ๋Œ€ํ•œ ์ง€์›์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • DSA ์„œ๋ช… ์ƒ์„ฑ ๋ฐ ํ™•์ธ์„ ์œ„ํ•œ ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ์žฌ์ž‘์—…ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • TLSv1.2์šฉ ํ‚ค ๋‚ด๋ณด๋‚ด๊ธฐ ์ฝ”๋“œ๊ฐ€ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ „ TLS ์Šคํƒ์ด ์ •๋ฆฌ๋˜๊ณ  ์žฌ์ž‘์—…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • BIO_read() ๋ฐ BIO_write() ํ•จ์ˆ˜์˜ ๋™์ž‘์€ OpenSSL 3์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.]

์ถœ์ฒ˜ : opennet.ru

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