모든 Linux 배포판은 동일한 암호화 해시 함수를 사용합니까?

모든 Linux 배포판은 동일한 암호화 해시 함수를 사용합니까?

모든 Linux 배포판이 동일한 것을 사용합니까?암호화 해시 함수?

그렇다면 커널 자체에서 이를 제공합니까?

편집하다:-나는 주로 사용자 로그인 비밀번호를 저장하는 데 사용되는 기능을 언급하고 있습니다.

답변1

귀하의 질문에 아니오.

crypt(3)자세한 내용은 해당 기능을 확인해 보도록 하겠습니다 . 에서 man crypt(3):

GNU 확장

이 함수의 glibc2 버전에는 다음과 같은 추가 기능이 있습니다. salt 가 $1$최대 8자로 시작하고 선택적으로 로 끝나는3자에서$$1$&‹string›$‹string›$1$[a–zA–Z0–9./]

pam 설정을 확인하여 MD5 또는 DES를 사용하고 있는지 확인할 수 있습니다.

$ egrep "password.*pam_unix.so" /etc/pam.d/system-auth
password    sufficient    pam_unix.so md5 shadow nis nullok try_first_pass use_authtok

/etc/shadow이 시스템 파일 에서 MD5도 사용하는 것을 볼 수 있습니다 .

root:$1$<DELETED PASSWORD HASH>:14245:0:99999:7:::

/etc/shadow각 해시 유형에 대해 표시되는 코드는 다음과 같습니다.

  • $1 – MD5
  • $2 – 복어
  • $2a – 엑스복어
  • $5 – SHA-256
  • $6 – SHA-512

authconfigRed Hat 배포판에서는 다음 명령을 사용하여 이 설정을 변경할 수 있습니다 .

$ sudo authconfig --passalgo=sha512 --update

인용하다

답변2

암호화 해시 함수는 특정 유형의 암호화 해시 함수이며 암호화 해시 함수의 다른 용도에는 사용되지 않습니다. 암호화 해시 함수는 느려야 합니다. 일반적으로 우리는 빠른 암호화 해시 함수를 사용합니다. 실제로 기술적으로 암호화 해시 함수는 해시 함수가 아니라 솔팅 함수입니다.키 스트레칭 알고리즘, 두 개의 입력(비밀번호 및 솔트)을 허용하는 반면 해시 함수는 단일 입력(데이터)을 허용합니다. 바라보다비밀번호를 안전하게 해시하는 방법은 무엇입니까?비밀번호 해싱에 대한 추가 정보

역사적인 이유로 많은 UNIX 문서에서는 비밀번호 해싱을 "암호화"라고 부르지만 이는 암호화 프로세스가 아닙니다. 해시를 다시 비밀번호로 해독할 수는 없습니다. 역사적인 이유는 Unix 초기에는 암호화 해시 함수가 기반으로 구축되었기 때문입니다.DES암호화에 주로 사용되는 알고리즘입니다.

비밀번호 해싱은 표준 라이브러리의 함수에 의해 수행됩니다.crypt. (라는 전통적인 Unix 유틸리티가 있다는 점에 유의하십시오.crypt, 이는 관련이 없습니다. 이것은 실제로 암호화되어 있습니다. ) 커널은 비밀번호에 대해 아무것도 모릅니다. (일부 플랫폼의 일부 커널은 하드웨어 가속기를 활용하기 위해 암호화 라이브러리를 제공합니다.)

히스토리 crypt기능은 DES 기반 알고리즘을 사용하는데, 당시에는 괜찮았지만 오늘날의 컴퓨터 속도에는 너무 약했습니다. 오늘날 암호화 해시 함수는 솔트로 시작하는 문자( $1$, $5$, , $6$, …)로 표시됩니다. 이 세 가지 값(및 기타 몇 가지 값)은 많은 유닉스(Glibc 기반 Linux 시스템 포함)의 사실상 표준입니다. 비내장형 및 일부 더 큰 내장형). 일부 UNIX 변형은 더 많은 옵션을 제공합니다. 임베디드 Linux 시스템에는 이러한 방법이 모두 없을 수도 있습니다.

$1$MD5를 기반으로 하지만 반복 횟수가 고정되어 있으므로 더 이상 사용되지 않습니다. SHA2-256 및 SHA2-512를 기반으로 하는 다양한 반복 횟수가 있습니다 $5$. $6바라보다명령줄에서 SHA512 비밀번호 해시를 생성하는 방법명령줄에서 일부 비밀번호 해시를 계산하려는 경우.

답변3

아니요, 커널에서 제공되지 않습니다. 사용 중인 버전, distro 및 unix에 따라 다양한 해시 인코딩 알고리즘이 사용된다는 것을 알 수 있습니다(주로 비밀번호 저장을 의미한다고 가정합니다).
이 파일을 루트로 보면 /etc/shadowLinux에서 어떤 해시가 사용되는지 확인할 수 있습니다.

해시로 서명하려는 경우 대부분의 Unices는 바이너리 md5sum또는sha1sum

관련 정보