2012-01-23 3 views
7

우리는 고객과 다른 서비스 사이의 게이트웨이 역할을하는 웹 서비스를 보유하고 있습니다. 클라이언트는 타사 서비스에 메시지를 보내고 임의 메시지를 수신합니다. 클라이언트의 서버는 들어오는 메시지를 수신하고 (몇 분 간격으로 서버를 폴링 할 필요가 없음) 보안 소켓을 통해 웹 서버에 대한 채널을 엽니 다.개방적이고 안전한 TCP 채널의 보안 기간은 얼마나됩니까?

내 질문은 :이 채널을 무한정 열어 두는 것이 안전합니까? 또는 정기적으로 닫고 새 자격 증명 (세션 키)을 얻기 위해 열어야합니까? 후자의 경우, 얼마나 자주 (매시간, 매일, 매주) "베스트 프랙티스"로 간주됩니까? 보안 통신에 대한 많은 정보를 찾았으나이 특정 질문에 대한 답변은 없습니다.

감사

+0

IPSEC은 매시간 세션 키를 확실히 재협상합니다. SSL도 그렇게 할 것이라고 생각합니까? [RFC5746] (http://tools.ietf.org/html/rfc5746)에서 코드에 의해 초기화 될 필요가있는 것처럼 보이지만 자동으로 실행되지는 않습니다. – Rup

답변

4

SSL 자동/새로 고침 세션 키를 사용하고 재협상을하지 않습니다 (난 당신이 여기에 대해 얘기하고 가정거야)/TLS. 활성 세션 내에서 세션 키를 변경할 수 있도록 프로토콜에 기본 제공되는 재협상 절차가 있지만이 절차는 몇 년 전에 심각한 취약성이 발견되었고 문제를 해결하기 위해 재협상 프로세스가 변경되었습니다 (in RFC 5746, see here). . SSL/TLS에 대한 세션 키를 재협상하려면이 RFC에 설명 된 방식으로 수행해야합니다.

그러나 원래 질문 인 IF에 세션 키를 변경하지 않아도됩니다. 대답은 ... 보안 요구 사항에 따라 다릅니다. 사용되는 좋은 지침은 암호화 된 데이터를 충분히 볼 수 있다면 암호화 된 통신을 결국 해독 할 수 있다는 것입니다 (이것이 얼마나 실용적이고/행할 수 있는지는 매우 다양 할 수 있습니다). 따라서 키를 자주 변경하는 것은 매우 좋은 일입니다. 보안 연결을 통해 소량의 데이터를 전달하고 데이터가 그다지 중요하지 않은 경우 정기적이지 않은 방식으로이 작업을 수행 할 수 있습니다 (실제로 SSL/TLS 세션이 진행 중입니다). 어쨌든 다소 정기적으로 두 당사자 중 한 사람의 시간 제한으로 인해 부서지고 재구성되었습니다.). 매우 민감한 데이터 세트를 가지고 있고 많은 양의 데이터를 보내고 있다면이 위험을 줄이기 위해 매일 키를 돌리거나 (단지 안전한 방식으로) 키를 권하는 것이 좋습니다.

관련 문제