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