SSL을 사용하지 않고 PHP 세션을 보안 화하는 것에 관심이 있습니다.패킷 스니핑을 통한 세션 하이재킹으로부터 인증 된 PHP 세션 보호
놀랍게도 중간자가 사용자와 서버간에 교환되는 패킷을 스니핑하면 세션이 인증 되더라도 세션을 도용하기가 매우 쉽습니다. 로그인/로그 아웃시 sessionid 변경, 사용자 시스템 매개 변수 (예 : OS, 브라우저) 기록/확인과 같은 피해를 줄이기위한 몇 가지 전술이 있음을 알고 있습니다.
그러나 이미 인증되었지만 로그 아웃되지 않은 경우 (시간 초과가없는 시간) 공격자는 세션 ID를 가져올 수 있으며 세션을 도용 할 수 있습니다. 나는 그 문제를 이해한다.)
가능한 해결책에 대해 생각해 보았습니다. 가능한 해결책은 암호화 된 로그인 인증 중에 서버가 임의의 세션 암호를 클라이언트에 보낼 수 있다는 것입니다. 세션 암호는 해당 로그인 세션 동안에 만 유효합니다. 따라서 세션 중에 교환 된 모든 메시지는 세션 비밀번호 (예 : MD5 (세션 비밀번호 + 메시지 콘텐츠))를 사용하여 서명해야합니다.
문제가 해결 되었습니까? 침입자가 초기 로그인 교환을 암호화 분석 할 수 없다고 가정 할 때이 접근법의 약점은 무엇입니까?
위법은 아니지만 SSL 만 사용하는 것으로 간주됩니다 ... 1 년에 약 49 ~ 100 달러의 비용이 들지만 사용자 정의 보안 체계 인 –
+1을 유지 관리하는 데 개발자에게 비용을 지불하는 것보다 훨씬 저렴합니다. 또한, @ João Salada, 무작위 세션 비밀 번호는 SSL없이 어떻게 전송됩니까? –
불쾌감 없음! ;) 나는 단지 처음부터 내 블로그를 만들고 싶다. 그래서이 블로그와 같은 주요한 문제가 무엇인지 이해할 수있다. 하지만 ssl을 사용하는 것은 당신이 기밀성 (나의 의견)을 가질 필요가 없을 때 엄청난 과잉이다. 비록 내가 생각하기에이 계획은 아주 간단 해 보입니다 ... 그래서 그것이 문제를 해결했는지 또는 결함이 있는지 묻고 싶었습니다. – Leaurus