Bug 24682 - ssh-keygen -t dsa -b 2048 generates invalid keys
Summary: ssh-keygen -t dsa -b 2048 generates invalid keys
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: openssh-common (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Gleb F-Malinovskiy
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-03 15:03 MSK by Andriy Stepanov (stanv)
Modified: 2011-09-14 18:12 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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*.