暗号ライブラリの変更
Windows 8.1 x64
openssl_3_0_1 | libressl_3_4_2 | |
鍵交換 | ― | ― |
diffie-hellman-group1-sha1 | ○ | ○ |
diffie-hellman-group14-sha1 | ○ | ○ |
diffie-hellman-group-exchange-sha1 | ○ | ○ |
diffie-hellman-group-exchange-sha256 | ○ | ○ |
ecdh-sha2-nistp256 | ○ | ○ |
ecdh-sha2-nistp384 | ○ | ○ |
ecdh-sha2-nistp521 | ○ | ○ |
diffie-hellman-group14-sha256 | ○ | ○ |
diffie-hellman-group16-sha512 | ○ | ○ |
diffie-hellman-group18-sha512 | ○ | ○ |
サーバホスト鍵 | ― | ― |
ssh-rsa1 | ○ | ○ |
ssh-dss | ○ | ○ |
ssh-rsa | ○ | ○ |
ecdsa-sha2-nistp256 | ○ | ○ |
ecdsa-sha2-nistp384 | ○ | ○ |
ecdsa-sha2-nistp521 | ○ | ○ |
ssh-ed25519 | ○ | ○ |
暗号アルゴリズム | ― | ― |
DES | 未 | 未 |
3DES | ○ | ○ |
Blowfish | ○ | ○ |
3des-cbc | ○ | ○ |
aes128-cbc | ○ | ○ |
aes192-cbc | ○ | ○ |
aes256-cbc | ○ | ○ |
blowfish-cbc | ×1 | ○ |
cast128-cbc | ×1 | ○ |
arcfour | ×1 | ○ |
arcfour128 | ×1 | ○ |
arcfour256 | ×1 | ○ |
aes128-ctr | ×1 | ○ |
aes192-ctr | ×1 | ○ |
aes256-ctr | ×1 | ○ |
3des-ctr | 未 | 未 |
blowfish-ctr | 未 | 未 |
cast128-ctr | 未 | 未 |
camellia128-cbc | 未 | 未 |
camellia192-cbc | 未 | 未 |
camellia256-cbc | 未 | 未 |
camellia128-ctr | 未 | 未 |
camellia192-ctr | 未 | 未 |
camellia256-ctr | 未 | 未 |
aes128-gcm@openssh.com | ○ | ○ |
aes256-gcm@openssh.com | ○ | ○ |
chacha20-poly1305@openssh.com | ○ | ○ |
MACアルゴリズム | ― | ― |
hmac-sha1 | ○ | ○ |
hmac-md5 | ○ | ○ |
hmac-sha1-96 | ○ | ○ |
hmac-md5-96 | ○ | ○ |
hmac-ripemd160@openssh.com | ×2 | ○ |
hmac-sha2-256 | ○ | ○ |
hmac-sha2-512 | ○ | ○ |
hmac-sha1-etm@openssh.com | ○ | ○ |
hmac-md5-etm@openssh.com | ○ | ○ |
hmac-sha1-96-etm@openssh.com | ○ | ○ |
hmac-md5-96-etm@openssh.com | ○ | ○ |
hmac-ripemd160-etm@openssh.com | ×2 | ○ |
hmac-sha2-256-etm@openssh.com | ○ | ○ |
hmac-sha2-512-etm@openssh.com | ○ | ○ |
認証鍵の署名方式 | ― | ― |
rsa1 | ○ | ○ |
ssh-dss | ○ | ○ |
ssh-rsa (RSA/SHA-1) | ○ | ○ |
ecdsa-sha2-nistp256 | ○ | ○ |
ecdsa-sha2-nistp384 | ○ | ○ |
ecdsa-sha2-nistp521 | ○ | ○ |
ssh-ed25519 | ○ | ○ |
×1 接続が切れる。Cipher initialize error(6)
×2 デスクトップにダンプが出力され、Application Fault で落ちる
Windows 10 x64
暗号アルゴリズム | ― |
blowfish-cbc | ×1 |
cast128-cbc | ×1 |
arcfour | ×1 |
arcfour128 | ×1 |
arcfour256 | ×1 |
aes128-ctr | ×1 |
aes192-ctr | ×1 |
aes256-ctr | ×1 |
MACアルゴリズム | ― |
hmac-ripemd160@openssh.com | ×2 |
hmac-ripemd160-etm@openssh.com | ×2 |
「Windows 10未満」なので動かないわけではない
Windows 8.1 x64
openssl_3_0_1 | libressl_3_4_2 | |
DES | ○ | ○ |
3des-ctr | ×1 | ○ |
blowfish-ctr | ×1 | ○ |
cast128-ctr | ×1 | ○ |
camellia128-cbc | ○ | ○ |
camellia192-cbc | ○ | ○ |
camellia256-cbc | ○ | ○ |
camellia128-ctr | ×1 | ○ |
camellia192-ctr | ×1 | ○ |
camellia256-ctr | ×1 | ○ |
LibreSSL だとすべて動作する。
Windows 8.1 x64
openssl_3_0_1 | |
aes128-ctr | ○ |
aes192-ctr | ○ |
aes256-ctr | ○ |
camellia128-ctr | ○ |
camellia192-ctr | ○ |
camellia256-ctr | ○ |
上記のアルゴリズムは、OpenSSL の関数に変更すると OpenSSL 3 でも動作する。
cipher-ctr.c(NG) | OpenSSL(NG) | OpenSSL(OK) | |
blowfish-cbc | ― | EVP_bf_cbc() *1 | ― |
cast128-cbc | ― | EVP_cast5_cbc() *1 | ― |
arcfour | ― | EVP_rc4() *1 | ― |
arcfour128 | ― | EVP_rc4() *1 | ― |
arcfour256 | ― | EVP_rc4() *1 | ― |
aes128-ctr | evp_aes_128_ctr() *2 | ― | EVP_aes_128_ctr() |
aes192-ctr | evp_aes_128_ctr() *2 | ― | EVP_aes_192_ctr() |
aes256-ctr | evp_aes_128_ctr() *2 | ― | EVP_aes_256_ctr() |
3des-ctr | evp_des3_ctr() *3 | ― | ― |
blowfish-ctr | evp_bf_ctr() *3 | ― | ― |
cast128-ctr | evp_cast5_ctr() *3 | ― | ― |
camellia128-ctr | evp_camellia_128_ctr() *3 | ― | EVP_camellia_128_ctr() |
camellia192-ctr | evp_camellia_128_ctr() *3 | ― | EVP_camellia_192_ctr() |
camellia256-ctr | evp_camellia_128_ctr() *3 | ― | EVP_camellia_256_ctr() |
hmac-ripemd160@openssh.com | ― | EVP_ripemd160() *1 | ― |
hmac-ripemd160-etm@openssh.com | ― | EVP_ripemd160() *1 | ― |
*1 OpenSSL のバグ?
*2 この関数のコードは OpenSSH から持ってきたものだが、今の OpenSSH は OpenSSL に関数があればそちらを使うようになっている。現在 OpenSSH + OpenSSL の組み合わせでこの処理は使われていない。
*3 OpenSSH にはない。AES 以外の暗号アルゴリズムに *2 と同じ処理をしている。
ブランチ
TODO