Linux에서 Python과 함께 비밀번호를 가역적으로 저장하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1001744

문제

첫째, 내 질문은 암호 해싱에 관한 것이 아니라 암호 암호화에 관한 것입니다. 사용자를 타사 서비스로 인증 해야하는 데스크탑 응용 프로그램을 구축하고 있습니다. 로그인 프로세스 속도를 높이려면 사용자에게 자격 증명을 저장할 수있는 옵션을 제공하고 싶습니다. 그를 서비스로 인증하기 위해 비밀번호가 필요하기 때문에 해시 될 수 없습니다.

자격 증명을 암호화하기 위해 Pycrypto 모듈과 Blowfish 또는 AES 구현을 사용하는 것을 생각했습니다. 문제는 키를 저장하는 곳입니다. 일부 응용 프로그램은 소스 코드에 직접 키를 저장하지만 오픈 소스 응용 프로그램을 코딩하고 있기 때문에 매우 효율적인 솔루션처럼 보이지 않습니다.

따라서 Linux에서 비밀번호 저장 보안을 높이기 위해 사용자 별 또는 시스템 별 키를 구현하는 방법이 궁금했습니다.

Pycrypto 및 System/사용자 별 키를 사용하는 것 보다이 문제에 대한 더 나은 솔루션이있는 경우 주저하지 말고 공유하십시오. 앞에서 말했듯이 해싱은 솔루션이 아니며 암호 암호화가 취약하다는 것을 알고 있지만 사용자에게 옵션을 제공하고 싶습니다. 많은 사람들 (나 자신을 포함한)이 그것을 사용하지 않기 때문에 그놈-비유를 사용하는 것도 옵션이 아닙니다.

도움이 되었습니까?

해결책

암호를 암호화한다고해서 일반 텍스트를 저장하는 것보다 훨씬 더 많은 보호를 구매하지는 않습니다. 데이터베이스에 액세스 할 수있는 사람은 누구나 웹 서버 머신에 완전히 액세스 할 수 있습니다.

그러나 보안 손실이 허용되고 실제로 필요하면 설치 프로세스의 일부로 새로운 키 파일 (좋은 임의 데이터 소스에서)을 생성하고이를 사용합니다. 분명히이 키를 가능한 한 안전하게 저장하십시오 (잠금 파일 권한 등). 소스에 내장 된 단일 키를 사용하는 것은 좋은 생각이 아닙니다. 분리 된 설치가 동일한 키를 가져야 할 이유가 없습니다.

다른 팁

사용해보십시오 . 사용자가 로그인 할 때 키를 자동으로 암호화하지 않는 모듈을 만들 수 있습니다. 이는 내부적으로 Gnome-eyyring의 작동 방식 (가능한 경우)입니다. 파이썬으로 PAM 모듈을 쓸 수도 있습니다 PAM_PYTHON.

Password Safe는 Bruce Schneier와 오픈 소스가 설계했습니다. 그것은 창을위한 것이지만, 그들이하고있는 일을보고 재사용 할 수 있어야합니다.

http://www.schneier.com/passsafe.html

http://passwordsafe.sourceforge.net/

이것을 읽으십시오 : 코드에 AE를 입력하면 잘못하고 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top