IKEv2의 SA 수명: 소프트 키 재생성, 하드 만료, 분리된 재인증
소프트 한도는 교체를 시작하고, 하드 한도는 이전 상태를 은퇴시키며, 사용량 한도가 먼저 발동할 수 있습니다. 어느 것도 사용자 인증을 반복하지 않습니다.
타이머는 터널의 키가 언제 교체되는지를 결정하며, 관련된 두 임계값은 흔히 하나로 읽힙니다. 하지만 그렇지 않습니다. 소프트 수명은 현재 보안 연계가 아직 트래픽을 나르는 동안 피어에게 교체본을 만들도록 요청하고, 하드 수명은 교체가 성공했든 아니든 이전 연계가 사라지는 기한입니다. 그 사이에는 패킷이 틈에 빠지지 않도록 하는 겹침 창이 있습니다.
수명이 실제로 제한하는 것
IPsec 보안 연계는 한 방향의 키, 보안 매개변수 색인, 알고리즘 집합, 선택자로 구성된 암호 상태의 묶음입니다. 수명은 그 상태를 사용할 수 있는 기간을 제한하며, 이는 하나의 키가 보호하는 트래픽 양을 제한합니다. 이것은 키를 억제하는 조치이며, 사용자 세션이 얼마나 지속되어야 하는지에 대한 진술이 아닙니다.
IKE 제어 연계는 데이터를 나르는 자식 연계와 별도로 자체 키와 자체 수명을 가집니다. 두 일정을 혼동하는 첫 지점이 바로 여기입니다.
소프트는 교체를 시작하고, 하드는 이전 상태를 끝낸다
소프트 임계값이 다가오면 피어가 교체를 시작합니다. 구현은 보통 일찍 발동하고 시점을 무작위화하여, 수백 개의 터널을 가진 헤드엔드가 모든 키를 한꺼번에 재생성하지 않게 합니다. IKEv2에서는 교체가 새로운 nonce를 실은 CREATE_CHILD_SA 교환이며, 완전 전방 비밀이 설정된 경우 Diffie-Hellman 교환도 더해집니다. 결과는 새로운 키를 가진 새로운 연계 쌍입니다.
겹침은 중요합니다. 짧은 동안 피어는 이전 연계와 새 연계를 모두 보유할 수 있고, 캡처에는 두 세트의 식별자가 나타납니다. 이는 메커니즘이 작동하는 것이지 결함이 아닙니다.
하드 임계값은 봐주지 않습니다. 그때까지 교체가 완료되지 않으면 이전 연계는 은퇴해야 하고 그것만으로 보호되던 트래픽은 멈춥니다. 하드 만료까지 이어지는 반복적인 키 재생성 실패 는, 터널이 매 주기마다 기한에 기대고 있으므로 조사해야 할 운영 신호입니다.
사용량 한도는 어떤 시계보다 먼저 발동할 수 있다
시간만이 유일한 한도는 아닙니다. 구현은 하나의 키가 보호하는 바이트나 패킷에 상한을 둘 수 있고, 바쁜 터널은 몇 시간짜리 타이머보다 훨씬 먼저 사용량 한도에 도달합니다. strongSwan은 시간, 바이트, 패킷에 대해 수명과 여유를 별도로 설정하므로, 실효 갱신 지점은 먼저 오는 임계값에서 설정된 여유를 뺀 것입니다.
터널이 설정된 시간이 시사하는 것보다 훨씬 자주 갱신된다면, 시계를 탓하기 전에 바이트와 패킷 한도를 확인하십시오. 같은 시간 설정의 포화 링크와 유휴 링크는 키 재생성 비율이 눈에 띄게 다르며, 둘 중 하나만 타이머를 따릅니다.
각 피어는 자신의 정책을 적용한다
IKEv2는 두 피어가 동일하게 표시해야 하는 단일 수명을 협상하지 않습니다. 각 측은 로컬 정책을 적용하고 자신의 한도가 다가오면 교체를 시작할 수 있습니다(RFC 7296 2.8 절에 설명된 대로). 따라서 두 피어의 설정 시간 불일치는 자동으로 결함이 아니지만, 한쪽이 다른 쪽이 방금 설치한 상태를 계속 교체하면 크게 다른 값은 혼란을 일으킬 수 있습니다.
조정이란 교환에 충분히 긴 겹침 창, 재시도 여지를 남기는 여유, 어느 쪽이 각 갱신을 시작했는지 보여 주는 모니터링 같은 호환되는 동작을 뜻합니다.
키 재생성은 재인증이 아니다
키 재생성은 기존 인증된 관계 아래에서 키를 갱신합니다. 재인증은 인증서 교환이든 EAP 대화든 신원 확인을 다시 합니다. 둘은 별도의 일정으로 돌아가며, 성공한 재생성은 계정이 여전히 접근 권한을 가져야 하는지에 대해 아무 말도 하지 않습니다.
이 구분은 철회에 중요합니다. 계정 비활성화, 인증서 철회, 세션 종료는 구현에 명시적 정책이 필요한 접근 결정이며, SA 타이머에서 나오는 것이 아니므로 이미 권한이 회수된 신원에 대해서도 키 재생성은 태연히 계속될 수 있습니다.
터널마다 무엇을 기록할지
어느 연계가 갱신을 일으켰는지, 이전 및 새 식별자, 어느 임계값이 발동했는지, 겹침 안에서 교체가 완료되었는지를 기록하십시오. 이 네 필드가 있으면 키 재생성 문제가 장애가 되기 전에 보이며, 공격적인 정책과 실패하는 정책을 구분할 수 있습니다.
접근 제거 일정은 그 기록 안이 아니라 옆에 두십시오. 암호 위생과 신원 정책은 서로 다른 통제이며, 제때 키를 돌리는 터널도 아무도 유지하려 하지 않았던 세션을 여전히 붙들고 있을 수 있습니다.