사용자의 프라이버시 및 기타 이유로 비밀번호는 일반적으로 서버에 저장되지 않습니다. 일반적으로 사용자는 서버에 일종의 해시로 저장된 암호를 선택합니다.
사용자는 사용자 입력을 기반으로 제공된 해시에 대해 저장된 해시를 검사하여 웹 응용 프로그램을 인증합니다. 클라이언트가 인증되면 세션 식별자가 제공되어 서버 리소스를 사용할 수 있습니다. 이 시간 동안 사용자는 예를 들어 파일을 업로드 할 수 있습니다. 서버에서 파일의 암호화는 호스팅 서버가 적절하게 보안되고 다른 문제가없는 것으로 가정 할 때 불필요합니다.
이 경우 인증 메커니즘은 명확하지 않으며 위험한 위협이나 업로드 된 파일의 수명주기도 아닙니다.
서버에 암호화 된 파일과 일부 유형의 암호가있는 것 같습니다. 전송 단계에서 또는 서버의 저장소로 고려되는 암호 보호입니까? HTTPS 프로토콜은 파일/데이터의 전송과 관련된 위협으로부터 보호 할 수 있습니다. 귀하의 설명에서 알 수 있듯이 우려는 서버 측의 스토리지로 보입니다.
암호를 서버에서받은 후에 (개별적으로 또는 마스터 암호를 사용하여) 암호를 추가하면 다른 보안 계층이 추가되지만이 방법은 (1)을 암호로 저장해야하므로 오류가 발생하지 않습니다 (2) 파일에 액세스하기위한 일반 텍스트로 된 서버 또는 암호를 요구하는 처리의 일부로 필요한 경우 관리자가 수동으로 입력해야합니다. 암호로 암호화 된 자원은 사용자가 사용할 수 없게됩니다.
나는 무엇이 계속되고 있는지 완전히 알지 못하지만 가장 안전한 방법은 웹 응용 프로그램을 다시 작성하고 디자인과 요구 사항을주의 깊게 생각하는 것입니다.
감사합니다. 왜 파일 디스크립터 (FD)를 사용하는 것이 더 안전한 지 설명해 주시겠습니까? –
암호를 저장하기 위해 임시 파일이 필요 없기 때문에; 파이썬 프로세스는 openssl 프로세스에 직접 삽입 할 수 있습니다. –