ED25519
μλ νμΈμ Mambo μ λλ€.
μ€λμ 보μ κ΄λ ¨ κΈ°μ μΈ νμ곑μ μνΈ μκ³ λ¦¬μ¦μ κΈ°λ°μΌλ‘ νλ ED25519λΌλ κ²μ λν΄ μμλ³΄λ €κ³ ν©λλ€.
μλ§μ‘΄ μΉ μλΉμ€μμλ 2021λ 8μ 17μΌλΆν° EC2 μΈμ€ν΄μ€ μ κ·Όμ μν΄ ED25519 νμμ ν€λ‘ SSH μ°κ²°μ μνν μ μλλ‘ μ§μνμμΌλ©° 2021λ 9μ 1μΌμλ κΉνλΈμμλ DSA νμμ ν€λ₯Ό μ κ±°νκ³ ECDSAμ ED25519 νμμ ν€λ₯Ό μΆκ°νκΈ°λ‘ κ²°μ νμμ΅λλ€.
곡ν΅μΌλ‘ μΈκΈλκ³ μλ ED25519λΌλ κ²μ λͺ¨λ₯΄μλ λΆμ΄λΌλ©΄ μ μ ν¨κ» μμ보λλ‘ ν©μλ€.
ED25519
ED25519(Ed25519)λ ECC(Elliptic Curve Cryptography) μκ³ λ¦¬μ¦μΌλ‘ μννλλ‘ κ΅¬νλ μ μμλͺ μ λλ€. νμ곑μ μνΈ μκ³ λ¦¬μ¦μ μ¬μ©νλ 곡κ°ν€ μνΈν λ°©μμ κΈ°μ‘΄μ RSAμ λΉκ΅ν΄μ λμΌν μμ μ±μ κ°μ§λ©΄μλ μλμ μΌλ‘ λ μ μ κΈΈμ΄μ ν€λ₯Ό κ°μ§λ€κ³ ν©λλ€. μ»΄ν¨ν° μ°μ° μλκ° λ°μ ν¨μ λ°λΌ μΌλ°μ μΌλ‘ μ¬μ©λλ RSAμ κΆμ₯λλ ν€ κΈΈμ΄κ° κΈΈμ΄μ§μΌλ‘ μΈνμ¬ μΌλ° μ»΄ν¨ν° λλ λλ°μ΄μ€μμλ μ°μ° μλκ° λλ €μ§λ λ¨μ μ κ°μ§κ² λκ³ μλμ μΌλ‘ μμ ν€ κΈΈμ΄λ₯Ό μ¬μ©ν μ μμΌλ©΄μ λμΌν μμ μ±μ 보μ¬μ£Όλ―λ‘ κΆμ₯λλ 곡κ°ν€ μνΈν λ°©μμ΄λΌκ³ ν μ μμ΅λλ€.
RSAμ λΉκ΅ν΄μ 보μμ μΌλ‘ μ°μνλ€κ³ λ³Ό μ μμ§λ§ μλμ μΌλ‘ λΉκ΅νμ¬ ν¨μ¨μ μ΄λΌλ κ²μ μ΄ν΄νμ μΌν©λλ€.
νμ 곑μ
ED25519λ μ΄λ€ νμ 곑μ μ μ¬μ©νμ¬ κ΅¬νλ μ μμλͺ μΌμ§ κΆκΈν΄μ§λλ€. λ€μμ μνΈνμ μ ν©νλ€κ³ νλ¨λμ΄ νμ€μΌλ‘ μ μλ νμ 곑μ λ€μ λλ€.
- secp256k1
- secp256r1
- prime256v1
- Curve25519
λ―Έκ΅ κ΅λ¦½νμ€μ°κ΅¬μ(NIST) λλ νμ€ μνΈν κ·Έλ£Ή(SECG)μμλ ν¨μ¨μ μΈ νμ 곑μ λ€μ μ΄λ¦μ λΆμ¬νμ΅λλ€. μλ₯Ό λ€μ΄, ECC NIST P-256μ SECGμμ μ μν secp256r1κ³Ό prime256v1λ₯Ό μ§μΉν κ²κ³Ό κ°μ΅λλ€.
νμ€μΌλ‘ μ μλ λ€μν νμ 곑μ λ€μ λν μμΈν λ΄μ©μ λ€μμ λ λ¬Έμλ₯Ό ν΅ν΄ νμΈν μ μμ΅λλ€.
μ λ‘μλ μ΄ν΄νκΈ° νλ λΆλΆμ΄λΌκ³ μκ°νμ¬ μ€λͺ μ μλ΅νλ©° κ°λ¨νκ² λ§ν΄μ μ¬λ¬κ°μ§ νμ 곑μ ννλ₯Ό λλ©μΈ νλΌλ―Έν°λ‘ μ μνμ¬ μ΄λ¦μ λΆμ¬ν κ² μ λλ€. NIST P-256μ NISTμμ μ μν μμ κΈ°λ°μ νμ 곑μ λ°©μ μμ λ§νλ©° secp256k1λ SECGμμ μ μν Koblitz curve κΈ°λ°μ νμ 곑μ λ°©μ μμ λ§ν©λλ€.
λΉνΈμ½μΈκ³Ό μ΄λ리μμμλ secp256k1 λΌλ νμ곑μ μ μ¬μ©νλ€κ³ β¦
ν€ κ΅νκ³Ό μ μ μλͺ
νμ 곑μ μ μ¬μ©νμ¬ λνΌ-ν¬λ¨Ό ν€ κ΅νμ ꡬνν μκ³ λ¦¬μ¦μ ECDHλΌκ³ νλ©° νμ 곑μ μνΈλ₯Ό μ¬μ©ν΄μ μ μμλͺ μκ³ λ¦¬μ¦(DSA)λ₯Ό ꡬνν κ²μ ECDSAλΌκ³ ν©λλ€. ECDSAλ μ§λ SSL μΈμ¦μ κΈμμ TLS νΈλμμ΄ν¬ κ³Όμ μμ ECDHE_ECDSAμ κ°μ νμ 곑μ μνΈ λ°©μμ μ¬μ©νλ κ²μ ν΅ν΄ μ΄λ―Έ νμΈν κ°λ μΈλ° κΈ°μ΅νμλ λΆμ΄ κ³μ€μ§ λͺ¨λ₯΄κ² μ΅λλ€.
νμ 곑μ κΈ°λ°μ μ μ μλͺ μκ³ λ¦¬μ¦μλ EdDSAλ μμΌλ©° Twisted Edwards curveμ Schnorr μλͺ λ°©μμ μ¬μ©νλλ‘ κ΅¬νλ DSA μ λλ€.
X25519 κ·Έλ¦¬κ³ Ed25519
μμ μΈκΈλ νμ 곑μ μ€ Curve25519λ ν€ κ΅ν μκ³ λ¦¬μ¦μΈ λνΌ-ν¬λ¨Όκ³Ό κ°μ΄ μ¬μ©νλλ‘ κ³ μλ νμ 곑μ μ λλ€. Curve25519λ₯Ό κΈ°λ°μΌλ‘νμ¬ ECDHλ‘ ν€ κ΅νμ μννλ κ²μ X25519λΌκ³ νκ² λ©λλ€. κ·Έλ¦¬κ³ Curve25519κ³Ό ν¨κ» SHA-512μ κ°μ ν΄μ ν¨μλ₯Ό μ¬μ©νλ ꡬνλ EdDSAλ₯Ό Ed25519λΌλ μ΄λ¦μΌλ‘ λΆλ₯΄κ² λ©λλ€.
- ECDSA : νμ 곑μ κΈ°λ°μ μ μ μλͺ μκ³ λ¦¬μ¦
- X25519 : Curve25519λ₯Ό μ¬μ©νλ νμ 곑μ ν€ κ΅ν μκ³ λ¦¬μ¦
- Ed25519 : Curve25519λ₯Ό μ¬μ©νλ νμ 곑μ μ μ μλͺ μκ³ λ¦¬μ¦
ED25519 ν€ νμ΄
μ§κΈλΆν°λ ED25519 νμμ ν€ νμ΄λ₯Ό λ§λ€κ³ EC2 μΈμ€ν΄μ€μ μ κ·Όν΄λ³΄λ κ²μ λ°λΌν΄λ³΄κ² μ΅λλ€.
ν€ νμ΄ μμ±νκΈ°
λ¨Όμ , ED25519 νμμ ν€ νμ΄λ OpenSSHλ₯Ό ν΅ν΄ λ§λ€ μλ μκ³ μλ§μ‘΄ μΉ μλΉμ€λ₯Ό ν΅ν΄ ED25519 νμμ ν€ νμ΄λ₯Ό μμ±ν μ μμ΅λλ€.
2021λ 8μ 17μΌ λΆν°λ μ½μμ ν΅ν΄ ED25119 ν€ νμ΄λ₯Ό μ¬μ©νμ¬ EC2 μΈμ€ν΄μ€ μ°κ²°μ΄ κ°λ₯νλ€κ³ νλλ° μ°μΈ‘ μ μ½μ¬νμλ μμ§ μ λ°μ΄νΈλμ§ μμ λ― ν©λλ€.
μλμ κ°μ΄ AWS CLIμ create-key-pair λͺ λ Ήμ΄λ₯Ό ν΅ν΄μλ ED25519 ν€ νμ΄λ₯Ό μμ±ν μ μμ΅λλ€.
aws ec2 create-key-pair --key-name mambo --key-type ed25519 --query "KeyMaterial" --output text > aws-mambo.pem
aws ec2 describe-key-pairs
{
"KeyPairs": [
{
"KeyPairId": "###",
"KeyFingerprint": "###",
"KeyName": "mambo",
"KeyType": "ed25519",
"Tags": []
}
]
}
μλ§μ‘΄ μΉ μλΉμ€μ ν€ νμ΄κ° μμ±λμμΌλ©΄ VPCμ EC2 μΈμ€ν΄μ€λ₯Ό μμν λ SSH μ μ μ μ¬μ©λ ED25519 ν€ νμ΄λ₯Ό μ νν μ μμ΅λλ€.
EC2 μΈμ€ν΄μ€κ° μ€νλμμΌλ©΄ μλ§μ‘΄ μΉ μλΉμ€ μ½μμ EC2 μΈμ€ν΄μ€ μ°κ²° κΈ°λ₯μ ν΅ν΄ μΈμ€ν΄μ€μ μ μν΄λ³΄κ² μ΅λλ€.
ED25519 ν€ νμ΄λ₯Ό μ¬μ©ν΄μ EC2 μΈμ€ν΄μ€ μ°κ²°μ μ±κ³΅νμμ΅λλ€. κ·Έλ°λ° λ§μ΄μ£ , μλ§μ‘΄ μΉ μλΉμ€μμ μμ±λ ED25519 ν€ νμ΄λ₯Ό μλμ° 10μμ μ§μνλ SSH ν΄λΌμ΄μΈνΈμμ μ¬μ©ν΄λ³΄λ©΄ μλͺ»λ νμμ΄λΌκ³ λ‘κ·Έκ° μΆλ ₯λκ³ EC2 μΈμ€ν΄μ€μ μ°κ²°ν μ μμμ νμΈνμ΅λλ€.
ssh -i "aws-mambo.pem" ec2-user@ec2-3-36-96-111.ap-northeast-2.compute.amazonaws.com
The authenticity of host 'ec2-3-36-96-111.ap-northeast-2.compute.amazonaws.com (3.36.96.111)' can't be established.
ECDSA key fingerprint is SHA256:gvSJ/qfnIlB8bkTE78QY65HO4px3YpoYvsyAv90LsTE.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-3-36-96-111.ap-northeast-2.compute.amazonaws.com,3.36.96.111' (ECDSA) to the list of known hosts.
Load key "aws-mambo.pem": invalid format
ec2-user@ec2-3-36-96-111.ap-northeast-2.compute.amazonaws.com: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
μλ§μ‘΄ μΉ μλΉμ€κ° λ§λ€μ΄μ£Όλ ED25519 νμμ ν€ νμ΄λ₯Ό μ¬μ©νμ§ μκ³ μ§μ μλμ° 10μμ ssh-keygenμ ν΅ν΄ ED25519 νμμ ν€ νμ΄λ₯Ό μμ±νκ³ μλ§μ‘΄ μΉ μλΉμ€μ νΌλΈλ¦ ν€λ₯Ό μΆκ°νλ©΄ μ μμ μΌλ‘ EC2 μΈμ€ν΄μ€ μ°κ²°ν μ μμ΅λλ€.
ssh-keygen -t ed25519 -m PEM -f ./mambo.pem
μ΄μ²λΌ μλ§μ‘΄ μΉ μλΉμ€μμ λ§λ€μ΄μ£Όλ ED25519 νμμ ν€ νμ΄λ μλμ°μμ μ¬μ©ν μ μκΈ° λλ¬Έμ μ£Όμν΄μΌν κ² κ°μ΅λλ€.
νμ곑μ μνΈμ λν΄μ λ μμΈν μκ³ μΆλ€λ©΄ λ€μμ κΈλ€μ μ°Έκ³ ν΄λ³΄μκΈ°λ₯Ό μΆμ²λ립λλ€.
κ°μ¬ν©λλ€.