mod_session_crypto의 Apache 2.4 보안

mod_session_crypto의 Apache 2.4 보안

세션 쿠키의 내용을 암호화하기 위해 으로 구성된 Apache 2.4 서버가 있습니다 mod_auth_form.mod_sessionmod_session_crypto

제가 착각한 것이 아니라면 기본 암호화는 OpenSSL 및 aes256 cypher를 사용해야 합니다. 이는 개인 키와 공개 키를 사용하는 비대칭 암호입니다. 나는 그 지시를 잘 이해하지 못한다 SessionCryptoPassphrase. 이 암호는 정확히 어떤 용도로 사용되나요? 문서에는 다음과 같이 명시되어 있습니다.

SessionCryptoPassphrase 지시문은 활성화하는 데 사용할 키를 지정합니다.대칭세션을 쓰기 전에 세션 내용을 암호화하거나 세션을 읽은 후 세션 내용을 해독합니다.

마지막으로 제 질문은 쿠키가 이런 방식으로 암호화되는 것이 얼마나 안전한가요?입니다. 여기에는 여전히 사용자 이름과 비밀번호가 포함되어 있으며 암호화되어 있습니다. 해커가 이를 해독하고 내부 데이터에 접근할 수 있습니까? 이 암호를 알면 해커가 쿠키 내부의 정보를 얻을 수 있습니까?

답변1

https://github.com/winlibs/apache/blob/master/2.4.x/modules/session/mod_session_crypto.c#L156용도https://apr.apache.org/docs/apr-util/1.6/group___a_p_r___util___crypto.html#ga98dea2011c0e173ab1f059c5a9ea8b14제공된 암호에서 키를 생성합니다. IV가 어떻게 설정/결정되는지는 확실하지 않지만 적어도 CBC 모드를 사용하므로 충분히 안전해 보입니다.

불행하게도 저는 쿠키를 다른 백엔드 애플리케이션과 공유하고 싶습니다. mod_session_dbd동일한 암호를 사용하더라도 KDF를 정확하게 복제하는 것보다 사용하는 것이 더 쉬운 것 같습니다.

관련 정보