2016-07-01 6 views
0

AIX는 다른 유닉스와 마찬가지로 사용자 암호의 해시 된 해시 만 저장합니다. 예전에는 DES 암호문을 사용한 다음 Linux에서 찾을 MD5 암호문 (사소한 버전)을 사용합니다.Aix : AIX/etc/security/passwd에서 유효한 sha1/sha256/sha512 암호 해시를 생성하는 방법?

AIX의 최신 버전과/etc/security/passwd를 사용하면 새로운 SHA1/SHA256/SHA512 해시를 사용할 수 있습니다.

- salted sha1 : {ssha1}12$tyiOfoE4WXucUfh/$1olYn48enIIKGOOs0ve/GE.k.sF 
- salted ssha256: {ssha256}12$tyiOfoE4WXucUfh/$YDkcqbY5oKk4lwQ4pVKPy8o4MqcfVpp1ZxxvSfP0.wS 
- salted ssha512: {ssha512}10$tyiOfoE4WXucUfh/$qaLbOhKx3fwIu93Hkh4Z89Vr.otLYEhRGN3b3SAZFD3mtxhqWZmY2iJKf0KB/5fuwlERv14pIN9h4XRAZtWH.. 

설정 파일은 {algo_name}가 "num_cost"후 수를 설명 /etc/security/pwdalg.cfg : 그들은 (암호 "비밀"에 대한 예를 해시 문자열 결과) 그 모습 2^num_cost를 사용하여 해싱 함수에 사용 된 반복 횟수를 구할 수 있습니다.

/etc/security/passwd에서 후자의 스칼라 응용 프로그램에서 유효한 해시를 생성해야합니다.

나는 commons-codec Sha2Crypt (https://commons.apache.org/proper/commons-codec/apidocs/src-html/org/apache/commons/codec/digest/Sha2Crypt.html) 마녀가 공식 Sha-Crypt 알고리즘 (https://www.akkadia.org/drepper/SHA-crypt.txt)을 구현하려고했지만 잘못된 해시를 제공합니다.

누구에게 무엇을해야하는지 알고 있습니까?

답변

2

짧은 대답은 표준 유닉스 구현이며 접두어 ("$ 1"대신에 "smd5") 만 다른 md5에 대한 appart입니다. 다른 구현은 https://www.akkadia.org/drepper/SHA-crypt.txt에 설명 된 표준 유닉스 크립트와 상당히 다릅니다. 실제로, 그것들은 kepted :

  • 해시 바이트 (그래서 문자) 수 : ssha1 20, ssha256 32, 64 ssh512
  • base64로 부호화 테이블 (표준하지 않다 하나는 "./012"등으로 시작합니다.
변경 무엇

은 다음과 같습니다

  • 들이 SHA-크립트 대신 PBKDF2 HMAC- (SHA1, SHA256, SHA512)를 사용
  • 들이 다른 패딩 테이블을 사용
  • 반복 횟수, 이름이 "라운드 "Unix crypt vocabulary에서 해시 문자열의 시작 부분 (algo 이름 뒤에)에서 N이 발견되지 않았습니다. 반복의 수는 실제로 2^N, N은 그 풀에,

유효한 스칼라 구현은 러더의 AixPasswordHashAlgo.scala (지금에서 찾을 수 있습니다 "비용"/etc/security/pwdalg.cfg에라고 요청 : https://github.com/Normation/cf-clerk/pull/84/files)