토큰 코드, 스마트 카드, FIDO 키: VPN이 받아들이는 것
코드 키, 스마트 카드, FIDO 키는 모두 하드웨어 토큰이라고 불립니다. 이들은 서로 다른 흐름에 참여하며, 그중 하나만 인증서 키를 보관합니다.
같은 커넥터와 같은 키링 고리를 가진 세 장치가 서로 무관한 세 가지 교환에 참여합니다. 하나는 서버가 검사하는 코드를 표시하고, 하나는 장치를 떠나지 않는 키로 서명하며, 또 하나는 자체 프로토콜로 브라우저 로그인을 승인합니다. 따라서 VPN이 인증서를 써야 하는지 하드웨어 토큰을 써야 하는지 묻는 것은 형식을 장치 등급과 비교하는 일입니다. 답은 실제로 세 가지 중 무엇을 샀는지에 달려 있습니다.
장치보다 증명을 먼저 이름 붙이라
일회용 코드 토큰은 인증 서비스가 자체 메커니즘으로 검증하는 값을 만들어 냅니다. VPN은 RADIUS나 연합 ID 공급자를 통해 그 서비스에 도달할 수 있습니다, 그리고 토큰은 터널 자체에 속한 무엇도 보관할 필요가 없습니다. 그것이 증명하는 것은 그 사람이 코드를 생성하는 장치를 가지고 있다는 점입니다. 코드를 입력한 기계에 대해서는 아무것도 증명하지 않습니다.
스마트 카드형 토큰은 개인 키를 저장하고 요청이 있으면 서명 연산을 수행합니다. 이렇게 키를 내보내지 않고도 인증서 신원이 증명되며, 옆에 있는 인증서는 공개 자료이고 그 인증서를 넘기는 것은 키를 넘기는 것과 전혀 다른 행위입니다.
FIDO 키는 다시 세 번째 프로토콜로 말합니다. 브라우저 로그인은 ID 공급자에서 그것을 쓸 수 있지만, 그 사이트에서의 성공이 같은 키가 VPN 클라이언트의 스마트 카드 인터페이스로 나타난다는 뜻은 아닙니다.
일부 장치는 이런 응용 프로그램 여러 개를 나란히 구현하며, 공급업체 문서가 모드를 따로 나열하는 이유가 바로 그것입니다. 시장의 모든 키가 모든 모드를 지원한다는 증거는 아닙니다.
하드웨어는 키를 보호하지 정책을 보호하지 않는다
인증서 기반 장치의 PIN은 보통 키의 로컬 사용을 승인하며, VPN 계정 시스템이 검사하는 비밀번호가 아닙니다. NIST의 인증기 지침 같은 지침은 그 로컬 입력을 활성화 비밀이라고 부르며, 인증기 자체와 구분합니다. 보증은 화면의 프롬프트 수가 아니라 전체 설계에서 나옵니다.
등록, 갱신, 제거는 어느 경우든 신원 소유자에게 남습니다. 누가 등록할 수 있는지 결정하고, 자격 증명을 올바른 사람에게 묶고, 장치를 잃었을 때 교체가 가능하게 하는 사람이 여전히 필요합니다. 새 키를 사도 옛 키가 폐기되지는 않습니다.
하드웨어를 고르기 전에 사용자가 코드를 입력하는지, 서명 키를 잠금 해제하는지, 브라우저 프롬프트를 승인하는지 로그인 의식을 설명하십시오. 각 답은 다른 클라이언트, 다른 게이트웨이 설정, 다른 헬프데스크 절차를 뜻합니다.
실제로 흐름이 갈라지는 지점
코드 토큰은 배포가 가장 쉽고 입력한 코드가 실시간으로 중계될 수 있어 정교한 가짜 페이지에 가장 취약합니다. 인증서 기반 키는 그런 공격을 견디지만 발급과 폐기가 서비스의 일부가 되므로 운영 비용이 더 듭니다. FIDO 키는 웹 로그인과 함께 있으며, ID 공급자가 이 응용 프로그램에 대해 지원하는지에 전적으로 달려 있습니다.
혼합 환경은 흔하며 자동으로 틀린 것이 아닙니다. 터널용 인증서와 관리 콘솔용 코드 토큰의 조합은 둘 다 같은 신원에 대해 등록되어 있다면 일관된 분할이고, 깨지는 것은 아무도 문서화하지 않은 분할이며 헬프데스크가 사용자에게 어떤 요소가 빠졌는지 말할 수 없는 경우입니다.
결정을 구체적으로 만드십시오
실제 사용자가 수행하는 단계의 순서로 의식을 적고, 클라이언트, 게이트웨이, ID 공급자가 모두 그 순서를 지원하는지 확인하십시오. 불일치는 보통 마지막 단계에서 드러나며, 클라이언트가 장치를 전혀 찾지 못하는 경우입니다.
그다음 장치를 잃거나 인증서가 만료되면 무슨 일이 생기는지 확인하십시오. 그 답이 적혀 있지 않다면 배포에는 월요일 아침에 발견될 구멍이 있습니다.
pkcs11-tool --list-slots
pkcs11-tool --list-objects --type cert