OpenSSH ์ฝ๋๋ฒ ์ด์ค๋ก
์ฌ์ฉ์์ ์กด์ฌ๋ฅผ ํ์ธํ๋ ์ฅ์น์ ์ํธ ์์ฉํ๊ธฐ ์ํด OpenSSH์ ์๋ก์ด ์ ํ์ ํค๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.[์ด๋ฉ์ผ ๋ณดํธ]โ(โecdsa-skโ)๋ NIST P-256 ํ์ ๊ณก์ ๋ฐ SHA-256 ํด์์ ํจ๊ป ECDSA(Elliptic Curve Digital Signature Algorithm) ๋์งํธ ์๋ช
์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ํ ํฐ๊ณผ ์ํธ ์์ฉํ๊ธฐ ์ํ ์ ์ฐจ๋ PKCS#11 ์ง์์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ๋ก๋๋๊ณ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์๋จ์ ๋ํผ์ธ ์ค๊ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฐฐ์น๋ฉ๋๋ค.
U2F๋ฅผ ํ์ฑํํ๋ ค๋ฉด ๋ค์ ์ฝ๋๋ฒ ์ด์ค์ ์๋ก์ด ์กฐ๊ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Libfido2๋ OpenBSD, Linux, macOS ๋ฐ Windows๋ฅผ ์ง์ํฉ๋๋ค.
ํค๋ฅผ ์ธ์ฆํ๊ณ ์์ฑํ๋ ค๋ฉด libsk-libfido2.so์ ๋ํ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ด๋ SSH_SK_PROVIDER ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ๊ฑฐ๋(SSH_SK_PROVIDER=/path/to/libsk-libfido2.so ๋ด๋ณด๋ด๊ธฐ) SecurityKeyProvider๋ฅผ ํตํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ์ํด์ผ ํฉ๋๋ค. ์ค์ ํ "ssh-keygen-t ecdsa-sk"๋ฅผ ์คํํ๊ฑฐ๋, ํค๊ฐ ์ด๋ฏธ ์์ฑ ๋ฐ ๊ตฌ์ฑ๋์ด ์๋ ๊ฒฝ์ฐ "ssh"๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ์ ์ฐ๊ฒฐํฉ๋๋ค. ssh-keygen์ ์คํํ๋ฉด ์์ฑ๋ ํค ์์ด โ~/.ssh/id_ecdsa_skโ์ ์ ์ฅ๋๋ฉฐ ๋ค๋ฅธ ํค์ ์ ์ฌํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ณต๊ฐ ํค(id_ecdsa_sk.pub)๋ Authorized_keys ํ์ผ์ ์๋ฒ์ ๋ณต์ฌ๋์ด์ผ ํฉ๋๋ค. ์๋ฒ ์ธก์์๋ ๋์งํธ ์๋ช ๋ง ํ์ธํ๊ณ , ํด๋ผ์ด์ธํธ ์ธก์์๋ ํ ํฐ๊ณผ์ ์ํธ ์์ฉ์ ์ํํฉ๋๋ค. (์๋ฒ์ libsk-libfido2๋ฅผ ์ค์นํ ํ์๋ ์์ง๋ง ์๋ฒ๊ฐ "ecdsa-sk" ํค ์ ํ์ ์ง์ํด์ผ ํฉ๋๋ค.) . ์์ฑ๋ ๊ฐ์ธ ํค(id_ecdsa_sk)๋ ๋ณธ์ง์ ์ผ๋ก ํค ํธ๋ค์ด๋ฉฐ, U2F ํ ํฐ ์ธก์ ์ ์ฅ๋ ๋น๋ฐ ์ํ์ค์ ๊ฒฐํฉํด์ผ๋ง ์ค์ ํค๋ฅผ ํ์ฑํฉ๋๋ค.
id_ecdsa_sk ํค๊ฐ ๊ณต๊ฒฉ์์ ์์ ๋ค์ด๊ฐ ๊ฒฝ์ฐ ์ธ์ฆ์ ํต๊ณผํ๋ ค๋ฉด ํ๋์จ์ด ํ ํฐ์ ๋ํ ์ก์ธ์ค ๊ถํ๋ ์ป์ด์ผ ํ๋ฉฐ, ๊ทธ๋ ์ง ์์ผ๋ฉด id_ecdsa_sk ํ์ผ์ ์ ์ฅ๋ ๊ฐ์ธ ํค๋ ์ธ๋ชจ๊ฐ ์์ต๋๋ค. ๋ํ ๊ธฐ๋ณธ์ ์ผ๋ก ํค๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ ์ํํ ๋(์์ฑ ์ค ๋ฐ ์ธ์ฆ ์ค ๋ชจ๋) ์ฌ์ฉ์์ ๋ฌผ๋ฆฌ์ ์กด์ฌ์ ๋ํ ๋ก์ปฌ ํ์ธ์ด ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ํ ํฐ์ ์ผ์๋ฅผ ํฐ์นํ๋ ๊ฒ์ด ์ ์๋์ด ์์ผ๋ฏ๋ก ์ฐ๊ฒฐ๋ ํ ํฐ์ ์ฌ์ฉํ์ฌ ์์คํ ์ ๋ํ ์๊ฒฉ ๊ณต๊ฒฉ์ ์ํํฉ๋๋ค. ๋ ๋ค๋ฅธ ๋ฐฉ์ด์ ์ผ๋ก ssh-keygen์ ์์ ๋จ๊ณ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ํ์ฌ ํค ํ์ผ์ ์ก์ธ์คํ ์๋ ์์ต๋๋ค.
U2F ํค๋ "ssh-add ~/.ssh/id_ecdsa_sk"๋ฅผ ํตํด ssh-agent์ ์ถ๊ฐ๋ ์ ์์ง๋ง ssh-agent๋ "ecdsa-sk" ํค์ ๋ํ ์ง์์ผ๋ก ๊ตฌ์ถ๋์ด์ผ ํ๋ฉฐ libsk-libfido2 ๊ณ์ธต์ด ์์ด์ผ ํ๋ฉฐ ์์ด์ ํธ๋ ํ ํฐ์ด ์ฐ๊ฒฐ๋ ์์คํ
์์ ์คํ๋๊ณ ์์ด์ผ ํฉ๋๋ค.
OpenSSH ecdsa ํค์ ํ์์ด ์ถ๊ฐ ํ๋๊ฐ ์๋ ECDSA ๋์งํธ ์๋ช
์ U2F ํ์๊ณผ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์๋ก์ด ํค ์ ํ "ecdsa-sk"๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru