Bug 24682

Summary: ssh-keygen -t dsa -b 2048 generates invalid keys
Product: Sisyphus Reporter: Andriy Stepanov (stanv) <stanv>
Component: openssh-commonAssignee: Gleb F-Malinovskiy <glebfm>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: baraka, glebfm, lav, ldv, rider, shadrinov, vt
Version: unstable   
Hardware: all   
OS: Linux   

Description Andriy Stepanov (stanv) 2010-12-03 15:03:43 MSK
Ключи созданные следующей командой у нас не работают:


[root@mn ~]# ssh-keygen -N '' -b 2048 -t dsa -f test666
Generating public/private dsa key pair.
Your identification has been saved in test666.
Your public key has been saved in test666.pub.
...

# ssh -l test666 -i test666 hpc13
ssh: bad sig size 32 32
test666@hpc13's password: 

[root@mn ~]# ssh hpc13
Last login: Fri Dec  3 15:00:28 2010 from mn.cluster
[root@hpc13 ~]# cat /etc/openssh/authorized_keys2/test666 
ssh-dss AAAAB3NzaC1kc3MAAAEBALAgaEX...

# rpm -qa | grep openssh
openssh-server-control-5.6p1-alt1
openssh-server-5.6p1-alt1
openssh-clients-5.6p1-alt1
openssh-common-5.6p1-alt1
Comment 1 Dmitry V. Levin 2010-12-03 18:17:14 MSK
This is a regression in 5.6p1-alt1.
Comment 2 Dmitry V. Levin 2010-12-10 00:42:38 MSK
Апстрим не поддерживает создание таких ключей вообще, так что не blocker.
Comment 3 Vitaly Lipatov 2010-12-14 18:06:41 MSK
Убрал из примера в http://www.altlinux.org/SSH параметры -b 2048 с комментарием
«DSA keys must be exactly 1024 bits as specified by FIPS 186-2»
Comment 4 Dmitriy Shadrinov 2011-02-03 11:55:14 MSK
Имеется так же более новое дополнение: FIPS-186-3. Приведу так же выдержку из рекомендаций по выбору и управлению ключами (NIST 800-57):

4.2.4.1
DSA
The Digital Signature Algorithm (DSA) is specified in [FIPS186-3] for specific key sizes: 1024, 2048, and 3072 bits. The DSA will produce digital signatures of 320, 448, or 512 bits. Older systems (legacy systems) used smaller key sizes. While it may be appropriate to continue to verify and honor signatures created using these smaller key sizes5, new signatures shall not be created using these key sizes.
Comment 5 Vitaly Lipatov 2011-02-10 02:02:41 MSK
Если смысла в ключах 2038 нет, апстрим не поддерживает, у нас не работает — может быть тогда просто заблокировать возможность их создания?
Comment 6 Dmitry V. Levin 2011-02-10 02:05:24 MSK
(In reply to comment #5)
> Если смысла в ключах 2038 нет,

Ну, это не факт.

> апстрим не поддерживает, у нас не работает —
> может быть тогда просто заблокировать возможность их создания?

Может быть.
Comment 7 Dmitry V. Levin 2011-09-14 03:07:18 MSK
This is a regression introduced in openssh-5.3p1-alt5:
* Fri Oct 01 2010 Dmitry V. Levin <ldv@altlinux> 5.3p1-alt5
- Rebuilt with libcrypto.so.10.
Comment 8 Dmitry V. Levin 2011-09-14 03:32:05 MSK
openssl >= 1.0 теперь использует SHA256 место SHA1 для создания DSA-ключей длины >= 2048 бит, а openssh всегда использует SHA1 для работы с DSA-ключами.
Comment 9 Repository Robot 2011-09-14 18:12:59 MSK
openssh-5.9p1-alt1 -> sisyphus:

* Wed Sep 14 2011 Dmitry V. Levin <ldv@altlinux> 5.9p1-alt1
- Updated to 5.9p1 (closes: #19085).
- ssh-keygen: forced use of SHA1 for large keys (closes: #24682).
- sshd: added systemd support (by Alexey Shabalin; closes: #25617).
- sshd: enabled UsePrivilegeSeparation=sandbox by default.
- sshd: deprecated AuthorizedKeysSystemFile*.