2013-01-14 5 views
3

웹 응용 프로그램에서 로그인 상태를 유지하기 위해 영구 쿠키를 사용하는 보안 감사인 플래그가 방금 있습니다. 약간의 배경 지식으로, 우리의 웹 애플리케이션은 멀티 테넌트 (multi-tenanted)이지만 아무런 (또는 많지 않은) 조작은 파괴적입니다. 우리 포털을 통해 입주자가 중요한 정보에 따라 다를 수 있습니다.영구 쿠키 사용 여부

위로 우리가 우리의 응용 프로그램을 디자인 할 때, 우리는 영구적 인 쿠키의 사용에 대해 논의했고, 우리가 유용성에 근거해야한다고 결정했습니다. 우리는 정보를 민감한 정보로 간주하지 않았으며 여전히 학위를받지 못했습니다. 우리의 사용자는 초보자이며 수백 건의 비밀번호 재설정 요청에 더 관심이있었습니다.

로그인에 영구 쿠키를 사용하는 것이 보안 위험으로 간주됩니까? 우리가 꽤 큰 대기업의 운영 데이터에 관해 이야기 할 때 유용성에 대한 논의는 논의가 될까요?

Google은 고객이 아닌 영구 쿠키와 관련하여 어떠한 질문도하지 않았습니다. 양면을 만족시키기 위해 기본값이 꺼져있는 '진드기를 지키는 진드기'를 구현할 가치가 있습니까?

+1

보안은 항상 유용성과 상반 관계에 있으며 대부분의 경우 사용자는 개발자와 개발자가 잘 알고있는 것보다 감사하는 것보다 잘 알고 있습니다. – Kimvais

+1

http://security.stackexchange.com/에서이 질문에 대한 더 나은 답변을 얻을 수 있습니다. –

+1

@IlmariKaronen 나는 그것을 고려했다. 그러나 나는 담장의 양쪽에서 이슈를 볼 수있는 비보안 사람들의 의견을 따랐다. 보안 대 가용성. –

답변

2

영구 쿠키는 다양한 이유로 사용되며 다양한 기능을 지원합니다. 앱에 '민감한'정보가 전혀없는 경우 영구 쿠키로 영구 쿠키를 사용하고 재 인증을 통해 사용자 계정 세부 정보에 액세스하거나 변경 (예 : 비밀번호 또는 전자 메일 주소 변경) 할 수 있습니다. 당신은 사용자가 초보자라고 언급했기 때문에 다른 사용자가 브라우저를 사용하면 자신의 암호를 모른 채 인증을받을 것입니다 (나는 사용자에게 지적 할 것입니다).

온라인 뱅킹과 같은 보안에 중점을 둔 앱이 영구 로그인 쿠키를 발행하지 않는 이유는 계정 잔액을 변경하기 전에 모바일을 통해 대역 외 인증을 다시해야하기 때문입니다 , 또는 어떤 형태의 OTP). 그러나 불안정한 것으로 여겨지며 누군가의 잔액이 이미 자신의 사생활을 침해하고 있기 때문에 가능할 수도 있습니다.

귀하의 앱이 정부 기관의 통제를받지 않고 귀하의 국가에서 법에 구속되지 않고 앱의 중요한 부분에 재 인증을 구현 한 다음 2 ~ 3 주의 영구 쿠키를 발행하는 경우 인증을 위해 중요한 보안 위협이 아닙니다.

+0

그것이 우리가 작업 한 이유입니다. 감사원은 은행이 영구 쿠키를 용납 할 수 없다고 언급했지만 아직 고객이 없습니다. 나는 그 대답이 여기에 있다고 생각한다. 영구 쿠키를 비활성화 할 필요가있을 때 우리는 그렇게 할 것입니다. –

0

영구 쿠키를 신뢰할 수없는 경우 Fatfredyy의 제안이 훌륭하게 들립니다.

그러나 문제가 영구 쿠키를 사용하는 것이 안전하지 않은 경우 암호화하지 않으시겠습니까?

"내 계정 정보 기억"을 선택하거나 기본적으로 사용자를위한 알 수없는 고유 ID와 확인을 포함하는 암호화 된 부분을 포함하는 쿠키가 생성됩니다. 대칭 암호화의 핵심은 사용자 ID가있는 DB에 저장되며 결코 사용자와 공유되지 않습니다. 사용자가 다시 방문 할 때 ID를 사용하여 키에 액세스하고 나머지는 해독하여 변경이 수행되지 않았 음을 확인합니다.

사용자 ID를 알아 내려고 시도한 경우 사용자에게 메시지를 표시하고 사용자가 다시 인증해야하는 암호화 키를 변경하십시오.

이렇게하면 사용자를 손상시키지 않으면 서 영구 쿠키를 사용할 수 있습니다.