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


37

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


당신은 무엇을 검색 했습니까?
Ken Sharp

답변:


62

유닉스 암호 저장의 초기 역사는 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 기반 알고리즘은 동일한 원리를 기반으로하지만 내부 디자인이 약간 우수하고 구성 가능한 속도 저하 요소가 가장 중요합니다.


또한, 소금은 암호화되는 것입니다.
여호수아

Postscript 뷰어가없는 사람들을 위해 여기
grahamj42

8

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

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

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

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

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

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


6

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

패스워드 섀도 잉은 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 배포에 계속 포함됩니다.


5
섀도우가 아닌 암호 저장소! = 해시되지 않은 일반 텍스트 저장소.
rackandboneman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.