2017-03-21 1 views
0

tomcat 서버를 시작하면 로그가 표시됩니다. "[SHA1PRNG]를 사용하여 세션 ID 생성을위한 SecureRandom 인스턴스 생성"[SHA1PRNG]을 (를) 사용하는 세션 ID 생성이 안전하지 않습니까?

여기에 질문이 있습니다! 아시다시피 SHA1은 안전하지 않습니다. 그렇다면 [SHA1PRNG]를 사용하여 세션 ID를 생성하는 것이 문제가됩니까?

보안 문제가있는 경우 대체 아이디어는 무엇입니까?

+0

질문은 실제로'SHA1PRNG'가 안전한지, 즉 Tomcat 세션 ID가 다소 긴 것을 감안할 때 안전하다는 것을 의미합니다. – EJP

답변

1

요점은 : SHA1 실제로 그러나 예를 https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html

에 대한 참조 고장 :이 충돌을 "전용"그리고 그들은 처리의 수백 CPU의 시간이 걸렸다.

두 점이 관련되어 있습니다. - 충돌 계산을위한 출발점이 있어야합니다. 누출 된 것이 아무것도 도움이되지 않기 때문에 세션 ID가 없습니다. SHA1은 SHA1-PRNG는해도 파손되지이다 : - 는 세션은 내가 적어도

+0

잠시 동안 만 세션 ID를 유지하는 것이 좋습니다. 고맙습니다! –

0

짧은 대답 짧은 기간 세션 ID를 들어, 보안 위험으로 고려하지 않을

몇 시간에만 유효합니다 부서진.

긴 대답은 :

암호화 해시 기능은, 여러 가지 특성을 가지고 있어야되는 가장 일반적으로 인용 된 것들 : 충돌 저항, 사전 이미지 저항, 그리고 2 차 사전 이미지 저항. 그러나 우리가 원하는 다른 속성이 있습니다. 비록 '무작위 오라클처럼 보이기'와 같이 의미가 없더라도. 우리는 해시 함수가 모든 종류의 미친 방법에서 사용될 수 있고 사람들이 보안을 얻고 있다고 생각할 수 있도록 이러한 속성을 요청합니다.

그러나 실제로는 다른 구조가 기본 해시 기능의 여러 속성에 의존합니다. Sha1은 특히 사전 화상 저항에 의존하고 충돌 저항 또는 제 2 사전 화상 저항에 의존하지 않는다.

우리는 sha1에서 충돌을 발견 할 수 있습니다 (우리는 수년 동안 그것을 알고 있었지만 첫 번째 예제 충돌은 최근에 발표되었습니다). 그러나 아무도 sha1의 다른 원하는 특성이 만족스럽지 않다는 증거를 제시하지 못했습니다.

결과적으로 sha1이 사용되면 충돌 저항이 필요한 구성 요소가 손상되지만이 속성을 필요로하지 않는 구성 요소는 여전히 괜찮을 수 있습니다. Sha1-prng는 보안을 위해 충돌 저항을 요구하지 않습니다. HMAC-sha1도 마찬가지입니다 (많은 사람들이 저도 궁금해합니다).

+0

와우 !!, 당신의 대답은 제게 많은 도움이되었습니다 !! 고맙습니다!!! –

관련 문제