8.6. W3C 웹 인증(WebAuthn)
Red Hat Single Sign-On은 W3C 웹 인증(WebAuthn) 을 지원합니다. Red Hat Single Sign-On은 WebAuthn의 Relying Party(RP) 로 작동합니다.
WebAuthn의 운영 성공 여부는 인증자, 브라우저 및 플랫폼을 지원하는 사용자의 WebAuthn에 따라 다릅니다. 인증자, 브라우저 및 플랫폼이 WebAuthn 사양을 지원하는지 확인합니다.
8.6.1. 설정
2FA에 대한 WebAuthn 지원 설정 절차는 다음과 같습니다.
8.6.1.1. WebAuthn authenticator 등록 활성화
- 메뉴에서 인증을 클릭합니다.
- 필요한 작업 탭을 클릭합니다.
- Register 를 클릭합니다.
- Required Action 드롭다운 목록을 클릭합니다.
- Webauthn Register 를 클릭합니다.
- 확인을 클릭합니다.
모든 새 사용자가 WebAuthn 자격 증명을 등록하도록 하려면 Default Action 확인란을 표시합니다.
8.6.1.2. 브라우저 흐름에 WebAuthn 인증 추가
- 메뉴에서 인증을 클릭합니다.
- browser flow 를 클릭합니다.
- 복사를 클릭하여 기본 제공 browser flow의 사본을 만듭니다.
- 복사의 이름을 입력합니다.
- 확인을 클릭합니다.
- WebAuthn browser - Conditional OTP 에 대한 Actions 링크를 클릭하고 삭제 를 클릭합니다.
- 삭제를 클릭합니다.
모든 사용자에게 WebAuthn이 필요한 경우:
- WebAuthn CloudEvent에 대한 Actions 링크를 클릭합니다.
- 실행 추가를 클릭합니다.
- 공급자 드롭다운 목록을 클릭합니다.
- WebAuthn Authenticator 를 클릭합니다.
- 저장을 클릭합니다.
WebAuthn Authenticator에 대해 REQUIRED 를 클릭합니다.
- 바인딩 탭을 클릭합니다.
- browsers flow 드롭다운 목록을 클릭합니다.
- WebAuthn browser를 클릭합니다.
- 저장을 클릭합니다.
사용자에게 WebAuthn 자격 증명이 없는 경우 사용자는 WebAuthn 자격 증명을 등록해야 합니다.
WebAuthn 자격 증명만 등록된 경우 사용자는 WebAuthn으로 로그인할 수 있습니다. WebAuthn Authenticator 실행을 추가하는 대신 다음을 수행할 수 있습니다.
절차
- WebAuthn CloudEvent에 대한 Actions 링크를 클릭합니다.
- 흐름 추가를 클릭합니다.
- Alias (별칭) 필드에 "Conditional 2FA"를 입력합니다.
- 저장을 클릭합니다.
- 상태 2FA에 대해 CONDITIONAL 을 클릭합니다.
- Conditional 2FA 에 대한 Actions 링크를 클릭합니다.
- 실행 추가를 클릭합니다.
- 공급자 드롭다운 목록을 클릭합니다.
- 상태 - 사용자 구성 을 클릭합니다.
- 저장을 클릭합니다.
- Conditional 2FA에 대해 REQUIRED 를 클릭합니다.
- Conditional 2FA 에 대한 Actions 링크를 클릭합니다.
- 실행 추가를 클릭합니다.
- 공급자 드롭다운 목록을 클릭합니다.
- WebAuthn Authenticator 를 클릭합니다.
- 저장을 클릭합니다.
조건부 2FA에 대해 iPXENATIVE를 클릭합니다.
사용자는 두 번째 요인으로 WebAuthn과 OTP를 사용할지 여부를 선택할 수 있습니다.
절차
- Conditional 2FA 에 대한 Actions 링크를 클릭합니다.
- 실행 추가를 클릭합니다.
- 공급자 드롭다운 목록을 클릭합니다.
- ITP 양식을 클릭합니다.
- 저장을 클릭합니다.
조건부 2FA에 대해 iPXENATIVE를 클릭합니다.
8.6.2. WebAuthn authenticator로 인증
WebAuthn authenticator를 등록하면 사용자는 다음 작업을 수행합니다.
- 로그인 양식을 엽니다. 사용자는 사용자 이름과 암호로 인증해야 합니다.
- 사용자의 브라우저는 WebAuthn authenticator를 사용하여 인증하도록 사용자에게 요청합니다.
8.6.3. 관리자로 WebAuthn 관리
8.6.3.1. 인증 정보 관리
Red Hat Single Sign-On은 사용자 인증 정보 관리 의 다른 인증 정보와 마찬가지로 WebAuthn 자격 증명을 관리합니다.
- Red Hat Single Sign-On은 사용자에게 Reset Actions 목록에서 WebAuthn 자격 증명을 생성하고 Webauthn Register 를 선택하는 데 필요한 작업을 할당합니다.
- 관리자는 삭제를 클릭하여 WebAuthn 자격 증명을 삭제 할 수 있습니다.
- 관리자는 Show data… 을 선택하여 AAGUID와 같은 인증 정보 데이터를 볼 수 있습니다.
- 관리자는 User Label 필드에 값을 설정하고 데이터를 저장하여 인증 정보 레이블을 설정할 수 있습니다.
8.6.3.2. 정책 관리
관리자는 WebAuthn 관련 작업을 영역당 WebAuthn 정책 으로 구성할 수 있습니다.
절차
- 메뉴에서 인증을 클릭합니다.
- WebAuthn Policy 탭을 클릭합니다.
- 정책 내에서 항목을 구성합니다(아래 설명 참조).
- 저장을 클릭합니다.
구성 가능한 항목 및 설명은 다음과 같습니다.
설정 | 설명 |
---|---|
신뢰할 수 있는 엔티티 이름 | 읽을 수 있는 서버 이름입니다. WebAuthn Relying Party. 이 항목은 필수 항목이며 WebAuthn authenticator 등록에 적용됩니다. 기본 설정은 "keycloak"입니다. 자세한 내용은 WebAuthn Specification 을 참조하십시오. |
서명 알고리즘 | 알고리즘은 공개 키 자격 증명에 사용할 서명 알고리즘을 WebAuthn 인증자에게 알립니다. Red Hat Single Sign-On은 공개 키 자격 증명을 사용하여 인증 지원을 서명하고 확인합니다. 알고리즘이 없는 경우 기본 ES256 이 적용됩니다. ES256은 WebAuthn 인증자 등록에 적용되는 선택적 구성 항목입니다. 자세한 내용은 WebAuthn Specification 을 참조하십시오. |
당사자 ID 사용 | 공개 키 자격 증명 의 범위를 결정하는 WebAuthn Relying Party의 ID입니다. ID는 원본의 유효 도메인이어야 합니다. 이 ID는 WebAuthn 인증자 등록에 적용되는 선택적 구성 항목입니다. 이 항목이 비어 있으면 Red Hat Single Sign-On은 Red Hat Single Sign-On의 기본 URL의 호스트 부분을 조정합니다. 자세한 내용은 WebAuthn Specification 을 참조하십시오. |
제품 설명서 (Conveyance Preference) | 브라우저의 WebAuthn API 구현(WebAuthn Client)은 Attestation 문을 생성하는 기본 방법입니다. 이 기본 설정은 WebAuthn authenticator 등록에 적용되는 선택적 구성 항목입니다. 옵션이 없는 경우 해당 동작은 "none"을 선택하는 것과 동일합니다. 자세한 내용은 WebAuthn Specification 을 참조하십시오. |
Authenticator 연결 | WebAuthn Client에 대해 WebAuthn 인증 프로그램의 허용 가능한 첨부 패턴입니다. 이 패턴은 WebAuthn authenticator 등록에 적용되는 선택적 구성 항목입니다. 자세한 내용은 WebAuthn Specification 을 참조하십시오. |
Resident Key가 필요합니다. | WebAuthn 인증자가 필요한 옵션을 사용하여 공개 키 자격 증명을 클라이언트 측의 공개 키 인증 정보 소스로 생성합니다. 이 옵션은 WebAuthn 인증 도구 등록에 적용됩니다. 비워 두면 해당 동작은 "No"를 선택하는 것과 동일합니다. 자세한 내용은 WebAuthn Specification 을 참조하십시오. |
사용자 확인 요구 사항 | WebAuthn 인증자가 사용자 확인을 확인해야 합니다. 이는 WebAuthn Authenticator 등록 및 WebAuthn 인증자가 사용자 인증에 적용되는 선택적 구성 항목입니다. 옵션이 없는 경우 해당 동작은 "기본 설정"을 선택하는 것과 동일합니다. 자세한 내용은 WebAuthn 인증자가 사용자를 인증하기 위해 WebAuthn authenticator 및 WebAuthn Specification을 등록하기 위한 WebAuthn Specification을 참조하십시오. |
Timeout | WebAuthn authenticator를 등록하고 WebAuthn authenticator를 사용하여 사용자를 인증하는 시간 초과 값(초)입니다. 0으로 설정하면 WebAuthn Authenticator 구현에 따라 동작이 달라집니다. 기본값은 0입니다. 자세한 내용은 WebAuthn 인증자가 사용자를 인증하기 위해 WebAuthn authenticator 및 WebAuthn Specification을 등록하기 위한 WebAuthn Specification을 참조하십시오. |
Same Authenticator 등록 방지 | 활성화되어 있는 경우 Red Hat Single Sign-On은 이미 등록된 WebAuthn 인증자를 다시 등록할 수 없습니다. |
허용 가능한 AAGUIDs | WebAuthn 인증자가 등록해야 하는 AAGUID의 흰색 목록입니다. |
8.6.4. 검증 결과
WebAuthn authenticator를 등록할 때 Red Hat Single Sign-On은 WebAuthn 인증자가 생성한 검증 문의 신뢰할 수 있는지 확인합니다. Red Hat Single Sign-On에는 이를 위해 신뢰 앵커의 인증서가 필요합니다. Red Hat Single Sign-On은 Keycloak 신뢰 저장소를 사용하므로 이러한 인증서를 미리 가져와야 합니다.
이 검증을 생략하려면 이 신뢰 저장소를 비활성화하거나 WebAuthn 정책의 구성 항목 "Attestation Conveyance Preference"를 "none"으로 설정합니다.
8.6.5. WebAuthn 자격 증명 관리
8.6.5.1. WebAuthn authenticator 등록
WebAuthn 인증기를 등록하는 적절한 방법은 사용자가 Red Hat Single Sign-On에 계정을 이미 등록했는지 여부에 따라 달라집니다.
8.6.5.2. 새 사용자
WebAuthn Register 필수 작업이 영역의 기본 동작 인 경우 새 사용자는 처음 로그인한 후 WebAuthn 보안 키를 설정해야 합니다.
절차
- 로그인 양식을 엽니다.
- Register 를 클릭합니다.
- 양식의 항목을 입력합니다.
- Register 를 클릭합니다.
등록이 완료되면 브라우저가 사용자에게 WebAuthn authenticator 레이블의 텍스트를 입력하도록 요청합니다.
8.6.5.3. 기존 사용자
첫 번째 예제에 표시된 대로 WebAuthn Authenticator
가 설정된 경우 기존 사용자가 로그인하려고 할 때 WebAuthn Authenticator를 자동으로 등록해야 합니다.
절차
- 로그인 양식을 엽니다.
- 폼의 항목을 입력합니다.
- 저장을 클릭합니다.
- 로그인을 클릭합니다.
등록에 성공하면 사용자의 브라우저가 사용자에게 WebAuthn 인증자 레이블의 텍스트를 입력하도록 요청합니다.
8.6.6. 암호가 없는 WebAuthn과 Two-Factor
Red Hat Single Sign-On은 2단계 인증에 WebAuthn을 사용하지만 WebAuthn을 첫 번째 인증으로 사용할 수 있습니다. 이 경우 암호가 없는
WebAuthn 자격 증명을 가진 사용자는 암호 없이 Red Hat Single Sign-On에 인증할 수 있습니다. Red Hat Single Sign-On은 영역과 단일 인증 흐름 컨텍스트에서 WebAuthn을 암호 없이 2단계 인증 메커니즘으로 사용할 수 있습니다.
관리자는 일반적으로 WebAuthn 암호 없는 인증을 위해 사용자가 등록한 보안 키가 다른 요구 사항을 충족해야 합니다. 예를 들어 보안 키는 사용자가 CloudEvent를 사용하여 보안 키로 인증해야 하거나 더 강력한 인증 기관의 보안 키를 사용해야 할 수 있습니다.
이로 인해 Red Hat Single Sign-On을 통해 관리자는 별도의 WebAuthn 암호 없는 정책을
구성할 수 있습니다. Webauthn Register Passwordless
action 유형 및 WebAuthn Passwordless Authenticator
유형의 인증기(Authn Passwordless Authenticator) 유형에는 필수 Webauthn Registerless 작업이 있습니다.
8.6.6.1. 설정
절차
다음과 같이 WebAuthn 암호 없는 지원을 설정합니다.
-
WebAuthn 암호 없이 지원에 필요한 새로운 작업을 등록합니다. WebAuthn Authenticator 등록 활성화에 설명된 단계를 사용하십시오.
Webauthn Register Passwordless
작업을 등록합니다. - 정책을 구성합니다. 정책 관리에 설명된 단계 및 구성 옵션을 사용할 수 있습니다. WebAuthn Passwordless Policy 탭에서 Admin Console에서 구성을 수행합니다. 일반적으로 보안 키의 요구 사항은 2 단계 정책보다 강력합니다. 예를 들어 암호 없이 정책을 구성할 때 User Verification Requirement 를 Required 로 설정할 수 있습니다.
인증 흐름을 구성합니다. browsers 흐름에 WebAuthn 인증 추가에 설명된 WebAuthn browser 흐름을 사용합니다. 다음과 같이 흐름을 구성합니다.
- WebAuthn CloudEvent forms 하위 흐름에는 첫 번째 인증자로서 Username Form 이 포함되어 있습니다. 기본 Username Password Form authenticator를 삭제하고 Username Form authenticator를 추가합니다. 이 작업을 수행하려면 사용자가 사용자 이름을 첫 번째 단계로 제공해야 합니다.
- 필요한 하위 흐름(예: Passwordless 또는 Two-factor )이 있습니다. 이 하위 흐름은 사용자가 Passwordless WebAuthn 자격 증명 또는 Two-factor 인증을 사용하여 인증할 수 있음을 나타냅니다.
- 이 흐름에는 첫 번째 대안으로 WebAuthn Passwordless Authenticator 가 포함되어 있습니다.
- 두 번째 대안은 Password and Two-factor Webauthn 이라는 하위 흐름입니다. 예를 들면 다음과 같습니다. 이 하위 흐름에는 암호 양식과 Web Authn Authenticator 가 포함되어 있습니다.
흐름의 최종 구성은 다음과 유사합니다.
암호 없는 흐름
이미 Red Hat Single Sign-On으로 알려진 사용자에게 필요한 작업으로 WebAuthn Register Passwordless 를 추가하여 이를 테스트할 수 있습니다. 첫 번째 인증 중에 사용자는 암호 및 두 번째 요소 WebAuthn 자격 증명을 사용해야 합니다. 사용자가 WebAuthn 암호 없는 자격 증명을 사용하는 경우 암호 및 두 번째 요소 WebAuthn 자격 증명을 제공할 필요가 없습니다.
8.6.7. LoginLess WebAuthn
Red Hat Single Sign-On은 2단계 인증에 WebAuthn을 사용하지만 WebAuthn을 첫 번째 인증으로 사용할 수 있습니다. 이 경우 암호가 없는
WebAuthn 자격 증명을 가진 사용자는 로그인 또는 암호를 제출하지 않고도 Red Hat Single Sign-On에 인증할 수 있습니다. Red Hat Single Sign-On은 영역 컨텍스트에서 loginless/passwordless 및 2 단계 인증 메커니즘으로 WebAuthn을 사용할 수 있습니다.
관리자는 일반적으로 WebAuthn 로그인리스 인증을 위해 사용자가 등록한 보안 키가 다른 요구 사항을 충족해야 합니다. 로그인되지 않은 인증에서는 사용자가 보안 키(예: CloudEvent 코드 또는 지문을 사용하여) 인증하고 로그인리스 자격 증명과 관련된 암호화 키가 보안 키에 물리적으로 저장되어야 합니다. 모든 보안 키가 이러한 종류의 요구 사항을 충족하는 것은 아닙니다. 장치가 '사용자 확인' 및 '기타 키'를 지원하는지의 보안 주요 공급 업체에 확인하십시오. 지원되는 보안 키 를 참조하십시오.
Red Hat Single Sign-On에서는 관리자가 로그인 없이 인증할 수 있는 방식으로 WebAuthn 암호 없는 정책을
구성할 수 있습니다. 로그인리스 인증은
자격 증명으로만 구성할 수 있습니다. WebAuthn 로그인리스 인증 및 WebAuthn 암호 없는 인증은 동일한 영역에서 구성할 수 있지만 동일한 정책 WebAuthn Passwordless
정책 및 WebAuthn 암호 없는WebAuthn 암호 없는
정책을 공유합니다.
8.6.7.1. 설정
절차
다음과 같이 WebAuthn 로그인 없는 지원을 설정합니다.
-
WebAuthn 암호 없이 지원에 필요한 새로운 작업을 등록합니다. WebAuthn Authenticator 등록 활성화에 설명된 단계를 사용하십시오.
Webauthn Register Passwordless
작업을 등록합니다. -
WebAuthn 암호 없는 정책
구성 .WebAuthn Passwordless Policy
탭에서 Admin Console,Authentication
섹션에서 구성을 수행합니다. 로그인할 수 없는 시나리오에 대한 정책을 구성할 때 사용자 확인 요구 사항을 required 로 설정하고 Resident Key 를 Yes 로 설정해야 합니다. 로그인리스 전용 정책이 없기 때문에 사용자 verification=no/resident key=no 및 loginless 시나리오(사용자 검증=yes/resident key=yes)와 인증 시나리오를 혼합할 수 없습니다. 스토리지 용량은 일반적으로 보안 키에 매우 제한되므로 보안 키에 많은 상주 키를 저장할 수 없습니다. - 인증 흐름을 구성합니다. 새 인증 흐름을 만들고 "WebAuthn Passwordless" 실행을 추가하고 실행 요구 사항 설정을 필수로 설정합니다 .
흐름의 최종 구성은 다음과 유사합니다.
LoginLess flow
이제 이를 테스트하기 위해 이미 Red Hat Single Sign-On에 알려진 사용자에게 WebAuthn Register Passwordless
작업을 사용자에게 추가할 수 있습니다. 필요한 작업이 구성된 사용자는 인증해야 하며(예: 사용자 이름/암호 사용) 로그인이 없는 인증에 사용할 보안 키를 등록하라는 메시지가 표시됩니다.
8.6.7.2. 벤더별 공지 사항
8.6.7.2.1. 호환성 검사 목록
Red Hat Single Sign-On으로 로그인할 때 다음과 같은 기능을 충족하기 위해 보안 키가 필요합니다.
- FIDO2 규정 준수: FIDO/U2F와 혼동되지 않음
- 사용자 확인: 보안 키를 사용하여 사용자를 인증할 수 있는 기능(로그인 없이 인증할 수 있는 보안 키를 찾는 사람 포함)
- Resident Key: 보안 키가 로그인 및 클라이언트 애플리케이션과 관련된 암호화 키를 저장할 수 있는 기능
8.6.7.2.2. Windows Hello
Windows Hello 기반 자격 증명을 사용하여 Red Hat Single Sign-On에 대해 인증하려면 RS256 값을 포함하도록 WebAuthn 암호 없는 정책의
서명 알고리즘 설정을 구성합니다. 일부 브라우저에서는 개인 창에서 플랫폼 보안 키(예: Windows Hello)에 대한 액세스를 허용하지 않습니다.
8.6.7.2.3. 지원되는 보안 키
다음 보안 키는 Red Hat Single Sign-On을 사용하여 로그인할 수 없는 인증을 성공적으로 테스트했습니다.
- Windows Hello (Windows 10 21H1/21H2)
- Yubico Yubikey 5 iPXE
- 페리안 ePass FIDO-NFC