Unix는 언제 암호를 일반 텍스트로 저장하는 것을 중단했습니까?

Unix는 언제 암호를 일반 텍스트로 저장하는 것을 중단했습니까?

Unix는 언제 passwd에 일반 텍스트 비밀번호 저장을 중단했습니까? 또한 섀도우 파일은 언제 도입되었나요?

답변1

Unix 비밀번호 저장의 초기 역사에 대해서는 Robert Morris와 Ken Thompson의 글을 읽어보세요.비밀번호 보안: 사례 기록. 그들은 오늘날에도 암호 저장을 위해 여전히 중요하다고 여겨지는 대부분의 기능을 초기 Unix 시스템이 획득한 이유와 방법을 설명합니다(그러나 더 나은 성능을 발휘했습니다).

  • 최초의 Unix 시스템은 비밀번호를 일반 텍스트로 저장했습니다. 세 번째 버전의 Unix 출시crypt비밀번호를 해시하는 기능입니다. 현대 암호화 용어가 아직 정립되지 않았기 때문에 '해싱'이 아닌 '암호화'라고 설명하며, 파격적이긴 하지만 암호화 알고리즘을 사용합니다. 키를 사용하여 비밀번호를 암호화하는 대신 비밀번호를 키로 사용합니다(키가 있으면 비밀번호를 쉽게 취소할 수 있습니다(시스템에 저장해야 함).).
  • 유닉스가 초기 암호에서 당시 현대 암호로 전환했을 때DES, DES를 여러 번 반복하면 속도가 느려집니다. 정확히 언제 그런 일이 일어났는지는 모르겠습니다. V6? V7?
  • 단순히 비밀번호를 해싱하는 것은 다중 대상 공격에 취약합니다. 가장 일반적인 비밀번호를 모두 한 번에 해시한 다음 비밀번호 테이블에서 일치하는 항목을 찾습니다. 해싱 메커니즘에 솔트(각 계정에는 고유한 솔트가 있음)를 포함하면 이 사전 계산이 중단됩니다. 유닉스는 소금을 얻습니다1979년 7판.
  • Unix는 또한 1970년대에 최소 길이와 같은 암호 복잡성 규칙을 획득했습니다.

처음에 비밀번호 해시는 공개적으로 읽을 수 있는 파일에 있습니다 /etc/passwd. 해시를 별도의 파일에 저장/etc/shadow시스템(및 시스템 관리자)만 액세스할 수 있는 이 기능은 1980년대 중반 SunOS 4로 거슬러 올라가는 Sun의 많은 혁신 중 하나입니다. 점차적으로 다른 Unix 변종으로 확산되었습니다(부분적으로는 타사를 통해).섀도우 키트그 후손은 오늘날에도 여전히 Linux에서 사용되고 있으며 1990년대 중반까지는 어느 곳에서도 사용할 수 없었습니다.

해시 알고리즘은 수년에 걸쳐 개선되었습니다. 가장 큰 점프는Poul-Henning Kamp MD5 기반 알고리즘1994년에는 DES 기반 알고리즘을 더 잘 설계된 알고리즘으로 대체했습니다. 비밀번호 문자 8자와 솔트 문자 2자의 제한을 제거하고 속도를 높입니다. 바라보다IEEE오픈소스 소프트웨어로 개발, 2004년 1월~2월, 17페이지. 7~8. SHA-2 기반 알고리즘은 오늘날의 사실상의 표준으로, 동일한 원리를 기반으로 하지만 약간 더 나은 내부 설계와 가장 중요하게는 구성 가능한 속도 저하 요인을 갖추고 있습니다.

답변2

아직 주요 소스는 없지만,이 TrustedSec 게시물(강조):

초기 시스템에서는 비밀번호를 일반 텍스트로 저장했지만 이는 결국 보다 안전한 형태의 비밀번호 저장으로 대체되었습니다.Robert Morris는 m-209 암호 기계를 기반으로 crypt를 개발하고 Unix 버전 3에 등장했습니다., Crypt는 Unix의 6번째 버전(1974)까지 비밀번호를 저장하는 데 사용되지 않았습니다.

여러 출처에 따르면 UNIX 버전 3은1973년 2월.

~에서Thompson과 Morris의 원본 논문, 일반 텍스트 저장소가 처음에 사용되었음을 확인할 수 있습니다.

UNIX 시스템은 먼저 모든 사용자의 실제 비밀번호가 포함된 비밀번호 파일로 구현되므로 비밀번호 파일을 읽거나 쓰지 못하도록 엄격하게 보호해야 합니다.

다른 답변에서 언급했듯이 /etc/shadow는 UNIX의 여러 분기에 나타납니다.

답변3

~에 따르면역사위키피디아 섹션비밀번호페이지,

비밀번호 섀도잉은 1980년대 중반 SunOS, [10] 1988년 System V 릴리스 3.2, 1990년 BSD4.3 Reno 개발과 함께 Unix 시스템에 처음 나타났습니다. 그러나 이전 UNIX 버전에서 이식한 공급업체는 해당 버전에 항상 새로운 암호 숨기기 기능을 포함하지 않았으므로 이러한 시스템 사용자는 암호 파일 공격에 노출되었습니다.

시스템 관리자는 연결된 각 시스템의 파일이 아닌 분산 데이터베이스(예: NIS 및 LDAP)에 암호가 저장되도록 구성할 수도 있습니다. NIS의 경우 섀도우 비밀번호 메커니즘은 일반적으로 다른 분산 메커니즘의 NIS 서버에서 여전히 사용되며 다양한 사용자 인증 구성 요소에 대한 액세스 문제는 기본 데이터 저장소의 보안 메커니즘에 의해 처리됩니다.

1987년 원래 Shadow Password Suite의 작성자인 Julie Haugh는 컴퓨터 해킹을 경험하여 login, passwd 및 su 명령이 포함된 Shadow Suite의 초기 버전을 작성했습니다. 초기 버전은 SCO Xenix 운영 체제용으로 작성되었으며 다른 플랫폼으로 빠르게 이식되었습니다. Shadow Suite는 Linux 프로젝트가 처음 발표된 지 1년 후인 1992년에 Linux로 포팅되었으며 많은 초기 배포판에 포함되었으며 현재 많은 Linux 배포판에 계속 포함되어 있습니다.

관련 정보