OpenSSH āĻā§āĻĄāĻŦā§āĻ¸ā§
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻĄāĻŋāĻāĻžāĻāĻ¸āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ
ā§āĻ¯āĻžāĻā§āĻ āĻāĻ°āĻ¤ā§, OpenSSH-āĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ§āĻ°āĻ¨ā§āĻ° āĻā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ "[āĻāĻŽā§āĻ˛ āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤]â (âecdsa-skâ), āĻ¯āĻž NIST P-256 āĻāĻĒāĻŦā§āĻ¤ā§āĻ¤āĻžāĻāĻžāĻ° āĻŦāĻā§āĻ°āĻ°ā§āĻāĻž āĻāĻŦāĻ SHA-256 āĻšā§āĻ¯āĻžāĻļ āĻ¸āĻš ECDSA (Elliptic Curve Digital Signature Algorithm) āĻĄāĻŋāĻāĻŋāĻāĻžāĻ˛ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻ
ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¨ā§āĻāĻžāĻ°āĻ
ā§āĻ¯āĻžāĻā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ¤ā§ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž PKCS#11 āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻ
āĻ¨ā§āĻ°ā§āĻĒāĻāĻžāĻŦā§ āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋāĻ° āĻāĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻŽā§āĻĄāĻŧāĻāĨ¤
U2F āĻ¸āĻā§āĻˇāĻŽ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻā§āĻĄāĻŦā§āĻ¸ā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻāĻž āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
Libfido2 OpenBSD, Linux, macOS āĻāĻŦāĻ Windows āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤
āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻžāĻā§ SSH_SK_PROVIDER āĻāĻ¨āĻāĻžāĻ¯āĻŧāĻ°āĻ¨āĻŽā§āĻ¨ā§āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻ¸ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§, āĻāĻ¤ā§ libsk-libfido2.so āĻāĻ° āĻĒāĻĨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°ā§ (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) āĻ āĻ¨ā§āĻŽā§āĻĻāĻŋāĻ¤_āĻā§ āĻĢāĻžāĻāĻ˛ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤āĨ¤ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻĻāĻŋāĻā§, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĄāĻŋāĻāĻŋāĻāĻžāĻ˛ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ° āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŦāĻ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¸āĻžāĻāĻĄā§ āĻā§āĻā§āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻĨāĻ¸ā§āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧ (āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ libsk-libfido2 āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĻāĻ°āĻāĻžāĻ° āĻ¨ā§āĻ, āĻ¤āĻŦā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻā§ āĻ āĻŦāĻļā§āĻ¯āĻ "ecdsa-sk" āĻā§ āĻāĻžāĻāĻĒ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§) . āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž āĻĒā§āĻ°āĻžāĻāĻā§āĻ āĻā§ (id_ecdsa_sk) āĻŽā§āĻ˛āĻ¤ āĻāĻāĻāĻŋ āĻā§ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§āĻ˛, āĻ¯āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° U2F āĻā§āĻā§āĻ¨ āĻ¸āĻžāĻāĻĄā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻā§āĻĒāĻ¨ āĻ¸āĻŋāĻā§āĻ¯āĻŧā§āĻ¨ā§āĻ¸ā§āĻ° āĻ¸āĻāĻŽāĻŋāĻļā§āĻ°āĻŖā§ āĻāĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤
āĻ¯āĻĻāĻŋ id_ecdsa_sk āĻā§ āĻāĻā§āĻ°āĻŽāĻŖāĻāĻžāĻ°ā§āĻ° āĻšāĻžāĻ¤ā§ āĻĒāĻĄāĻŧā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻĒāĻžāĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻā§ āĻšāĻžāĻ°ā§āĻĄāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻā§āĻā§āĻ¨ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĒā§āĻ¤ā§ āĻšāĻŦā§, āĻ¯āĻž āĻāĻžāĻĄāĻŧāĻž id_ecdsa_sk āĻĢāĻžāĻāĻ˛ā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻāĻ¤ āĻā§āĻāĻŋ āĻ āĻā§āĻā§āĨ¤ āĻ¤āĻĻā§āĻŦā§āĻ¯āĻ¤ā§āĻ¤, āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§, āĻā§āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§ āĻā§āĻ¨āĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ (āĻāĻāĻ¯āĻŧ āĻĒā§āĻ°āĻāĻ¨ā§āĻŽā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ), āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻļāĻžāĻ°ā§āĻ°āĻŋāĻ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤āĻāĻ°āĻŖā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻā§āĻā§āĻ¨ā§ āĻ¸ā§āĻ¨ā§āĻ¸āĻ° āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻāĻāĻŋāĻā§ āĻāĻ āĻŋāĻ¨ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤ āĻāĻāĻāĻŋ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻā§āĻā§āĻ¨ āĻ¸āĻš āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻĻā§āĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻā§āĻ°āĻŽāĻŖ āĻāĻžāĻ˛āĻžāĻ¨āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻ°āĻā§āĻˇāĻžāĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻ˛āĻžāĻāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻā§ āĻĢāĻžāĻāĻ˛ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ ssh-keygen-āĻāĻ° āĻ¸ā§āĻāĻžāĻ°ā§āĻāĻāĻĒ āĻĒāĻ°ā§āĻŦā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻāĻāĻŋ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
U2F āĻā§ "ssh-add ~/.ssh/id_ecdsa_sk" āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ ssh-āĻāĻā§āĻ¨ā§āĻā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ ssh-agent āĻ
āĻŦāĻļā§āĻ¯āĻ "ecdsa-sk" āĻā§āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤, libsk-libfido2 āĻ¸ā§āĻ¤āĻ°āĻāĻŋ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻā§āĻ¨ā§āĻ āĻ
āĻŦāĻļā§āĻ¯āĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ āĻāĻ˛āĻŽāĻžāĻ¨ āĻĨāĻžāĻāĻŦā§, āĻ¯āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻā§āĻ¨ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻ°āĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻā§ āĻ§āĻ°āĻ¨ā§āĻ° "ecdsa-sk" āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯ā§āĻšā§āĻ¤ā§ āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ OpenSSH ecdsa āĻā§āĻā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ ECDSA āĻĄāĻŋāĻāĻŋāĻāĻžāĻ˛ āĻ¸ā§āĻŦāĻžāĻā§āĻˇāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ U2F āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻĨā§āĻā§ āĻāĻ˛āĻžāĻĻāĻžāĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru