[unix] 유닉스는 언제 일반 텍스트로 비밀번호 저장을 중단 했습니까?

Unix는 언제 암호로 일반 텍스트 암호를 저장하지 않습니까? 또한 섀도 파일은 언제 소개 되었습니까?



답변

유닉스 암호 저장의 초기 역사는 Robert Morris와 Ken Thompson의 암호 보안 : 사례 기록을 읽으십시오 . 초기 Unix 시스템이 오늘날에도 여전히 암호 저장의 중요한 기능으로 여겨지는 대부분의 기능을 획득 한 이유와 방법에 대해 설명합니다 (그러나 더 잘 수행됨).

  • 최초의 유닉스 시스템은 암호를 평문으로 저장했습니다. Unix Third Edition crypt은 비밀번호를 해시하는 기능을 도입했습니다 . 현대의 암호화 용어가 아직 확립되지 않았고 기존 방식과는 달리 암호화 알고리즘을 사용했기 때문에 “해싱”이 아니라 “암호화”로 설명됩니다. 시스템에 저장되어 있어야하는 키가있을 때 실행 취소하기 쉬운 키로 암호를 암호화하는 대신 암호를 키로 사용합니다.
  • Unix가 이전 암호에서 당시의 DES 로 전환했을 때 DES를 여러 번 반복하여 느리게 만들었습니다. 언제 발생했는지 정확히 모르겠습니다 : V6? V7?
  • 비밀번호를 해시하는 것만으로 다중 대상 공격에 취약합니다. 가장 일반적인 비밀번호를 모두 한 번에 해시하고 비밀번호 표에서 일치하는 항목을 찾으십시오. 각 계정에 고유 한 솔트가있는 해싱 메커니즘에 솔트를 포함하면이 사전 계산이 무효화됩니다. Unix는 1979 년 Seventh Edition에서 소금을 획득했습니다 .
  • 유닉스는 또한 1970 년대의 최소 길이와 같은 암호 복잡성 규칙을 획득했습니다.

원래 비밀번호 해시는 공개적으로 읽을 수있는 파일에 /etc/passwd있었습니다. 해시를 /etc/shadow시스템과 시스템 관리자 만 액세스 할 수 있는 별도의 파일에 넣는 것은 1980 년대 중반 SunOS 4에서 시작된 썬의 많은 혁신 중 하나였습니다. 그것은 다른 유닉스 변종으로 점차 퍼져 나갔으며 (부분적으로 오늘날 자손이 Linux에서 여전히 사용되는 타사 섀도 스위트 를 통해 ) 1990 년대 중반까지 사용할 수 없었습니다.

수년에 걸쳐 해싱 알고리즘이 개선되었습니다. 가장 큰 도약은 1994 년 Poul-Henning Kamp의 MD5 기반 알고리즘 으로, DES 기반 알고리즘을 더 나은 디자인으로 대체했습니다. 암호 문자 8 개와 솔트 문자 2 개에 대한 제한을 제거했으며 속도가 느려졌습니다. IEEE의 오픈 소스 소프트웨어 개발 , 1 월 -2 월을 참조하십시오 . 2004, p. 7–8 . 오늘날의 사실상 표준 인 SHA-2 기반 알고리즘은 동일한 원리를 기반으로하지만 내부 디자인이 약간 우수하고 구성 가능한 속도 저하 요소가 가장 중요합니다.


답변

아직 기본 소스가 없지만 이 TrustedSec 게시물 (강조 광산) 에 따르면 :

초기 시스템은 암호를 일반 텍스트로 저장했지만 결국보다 안전한 형태의 암호 저장소로 대체되었습니다. Robert Morris는 m-209 암호 시스템을 기반으로 암호를 개발했으며 버전 3 Unix 에 나타 났지만 Crypt는 6th Edition Unix (1974)까지 암호를 저장하는 데 사용되지 않았습니다.

여러 소스에 따르면 버전 3 UNIX는 1973 년 2 월 에 릴리스되었습니다 .

에서 톰슨과 모리스에 의해 원래의 종이 , 우리는 일반 텍스트로 저장 원래 사용 된 것을 확인할 수 있습니다 :

UNIX 시스템은 먼저 모든 사용자의 실제 비밀번호가 포함 된 비밀번호 파일로 구현되었으므로 비밀번호 파일은 읽거나 쓰지 않도록 크게 보호해야했습니다.

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


답변

위키 백과의 암호 페이지 의 기록 섹션에 따르면 ,

패스워드 섀도 잉은 1980 년대 중반에 SunOS가 개발 된 유닉스 시스템에서 처음 등장했습니다. [10] 1988 년 System V Release 3.2와 1990 년 BSD4.3 Reno. 그러나 이전 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 배포에 계속 포함됩니다.


답변