3.9. 영역 키 구성


Red Hat Single Sign-On에서 사용하는 인증 프로토콜에는 암호화 서명 및 암호화가 필요합니다. Red Hat Single Sign-On에서는 private 키와 공개 키 쌍을 사용하여 이를 수행합니다.

Red Hat Single Sign-On에는 한 번에 하나의 활성 키 쌍이 있지만 여러 개의 수동 키도 있을 수 있습니다. 활성 키 쌍은 새 서명을 만드는 데 사용되며 수동 쌍은 이전 서명을 확인하는 데 사용할 수 있습니다. 이렇게 하면 사용자가 다운타임이나 중단 없이 키를 정기적으로 순환할 수 있습니다.

영역이 생성되면 키 쌍과 자체 서명된 인증서가 자동으로 생성됩니다.

절차

  1. 관리 콘솔에서 영역을 선택합니다.
  2. CloudEvent 설정을 클릭합니다.
  3. 를 클릭합니다.
  4. Passive 를 클릭하여 수동 키를 봅니다.
  5. Disabled 를 클릭하여 비활성화된 키를 확인합니다.

키 쌍의 상태는 Active 이지만 영역의 현재 활성 키 쌍으로는 선택되지 않습니다. 서명에 사용되는 선택한 활성 쌍은 활성 키 쌍을 제공할 수 있는 우선 순위별로 정렬된 첫 번째 키 공급자를 기반으로 선택됩니다.

3.9.1. 키 교체

정기적으로 키를 교체하는 것이 좋습니다. 먼저 기존 활성 키보다 우선 순위가 높은 새 키를 만듭니다. 대신 동일한 우선 순위로 새 키를 생성하고 이전 키를 수동 설정할 수 있습니다.

새 키를 사용할 수 있게 되면 모든 새 토큰과 쿠키가 새 키로 서명됩니다. 사용자가 애플리케이션에 인증하면 SSO 쿠키가 새 서명으로 업데이트됩니다. OpenID Connect 토큰이 새로 고쳐지면 새 토큰이 새 키로 서명됩니다. 결국 모든 쿠키와 토큰은 새 키를 사용하며 잠시 후 이전 키를 제거할 수 있습니다.

이전 키를 삭제하는 빈도는 보안의 장단점이며 모든 쿠키와 토큰이 업데이트되었는지 확인합니다. 새 키를 생성한 후 3~6개월마다 새 키를 생성하고 이전 키를 2개월 후에 삭제하는 것이 좋습니다. 사용자가 추가되는 새 키와 이전 키 사이의 기간에 비활성 상태인 경우 해당 사용자는 다시 인증해야 합니다.

회전 키는 오프라인 토큰에도 적용됩니다. 애플리케이션이 업데이트되도록 하려면 이전 키를 제거하기 전에 토큰을 새로 고쳐야 합니다.

3.9.2. 생성된 키 쌍 추가

이 절차를 사용하여 자체 서명된 인증서를 포함하여 키 쌍을 생성합니다.

절차

  1. 관리 콘솔에서 영역을 선택합니다.
  2. CloudEvent 설정을 클릭합니다.
  3. 탭을 클릭합니다.
  4. 공급자 탭을 클릭합니다.
  5. Add keystore 를 클릭하고 rsa-generated 를 선택합니다.
  6. Priority 필드에 숫자를 입력합니다. 이 숫자는 새 키 쌍이 활성 키 쌍인지 확인합니다. 가장 높은 숫자는 키 쌍을 활성화합니다.
  7. keysize 값을 선택합니다.
  8. 저장을 클릭합니다.

공급자의 우선 순위를 변경하면 키가 다시 생성되지 않지만 키 크기를 변경하려면 공급자를 편집할 수 있으며 새 키가 생성됩니다.

3.9.3. 인증서를 추출하여 키 교체

RSA 생성된 키 쌍에서 인증서를 추출하고 새 키 저장소에서 해당 인증서를 사용하여 키를 회전할 수 있습니다.

사전 요구 사항

  • 생성된 키 쌍

절차

  1. 관리 콘솔에서 영역을 선택합니다.
  2. VMDK 설정을 클릭합니다.
  3. 탭을 클릭합니다.

    활성 키 목록이 나타납니다.

  4. RSA 키가 있는 행에서 공개 키 아래 의 인증서를 클릭합니다.

    인증서가 텍스트 형식으로 표시됩니다.

  5. 인증서를 파일에 저장하고 해당 행에 묶습니다.

    ----Begin Certificate----
    <Output>
    ----End Certificate----
  6. keytool 명령을 사용하여 키 파일을 PEM 형식으로 변환합니다.
  7. 키 저장소에서 현재 RSA 공개 키 인증서를 제거합니다.

    keytool -delete -keystore <keystore>.jks -storepass <password> -alias <key>
  8. 새 인증서를 키 저장소로 가져옵니다.

    keytool -importcert -file domain.crt -keystore <keystore>.jks -storepass <password>  -alias <key>
  9. 애플리케이션 배포를 취소하고 다시 빌드합니다.

    wildfly:undeploy
    mvn clean install wildfly:deploy

3.9.4. 기존 키 쌍 및 인증서 추가

다른 위치에서 가져온 키 쌍 및 인증서를 추가하려면 Provider 를 선택하고 드롭다운에서 rsa 를 선택합니다. 새 키 쌍이 활성 키 쌍이 되도록 우선 순위를 변경할 수 있습니다.

사전 요구 사항

  • 개인 키 파일입니다. 파일은 PEM 형식이어야 합니다.

절차

  1. 관리 콘솔에서 영역을 선택합니다.
  2. CloudEvent 설정을 클릭합니다.
  3. 탭을 클릭합니다.
  4. 공급자 탭을 클릭합니다.
  5. 키 저장소 추가 를 클릭하고 rsa 를 선택합니다.
  6. Priority 필드에 숫자를 입력합니다. 이 숫자는 새 키 쌍이 활성 키 쌍이 될지 여부를 결정합니다.
  7. Select file beside Private RSA Key 를 클릭하여 개인 키 파일을 업로드합니다.
  8. 개인 키의 서명된 인증서가 있는 경우 X509 인증서 옆에 있는 파일 선택을 클릭하여 인증서 파일을 업로드합니다. Red Hat Single Sign-On은 인증서를 업로드하지 않는 경우 자체 서명된 인증서를 생성합니다.
  9. 저장을 클릭합니다.

3.9.5. Java 키 저장소에서 키 로드

호스트의 Java 키 저장소 파일에 저장된 키 쌍과 인증서를 추가하려면 드롭다운에서 java-keystore 를 선택합니다. 새 키 쌍이 활성 키 쌍이 되도록 우선 순위를 변경할 수 있습니다.

연결된 인증서 체인을 로드하려면 키 쌍을 로드하는 데 사용되는 것과 동일한 키 별칭이 있는 Java 키 저장소 파일로 가져와야 합니다.

절차

  1. 관리 콘솔에서 영역을 선택합니다.
  2. CloudEvent 설정을 클릭합니다.
  3. 탭을 클릭합니다.
  4. 공급자 탭을 클릭합니다.
  5. 키 저장소 추가 를 클릭하고 java-keystore 를 선택합니다.
  6. Priority 필드에 숫자를 입력합니다. 이 숫자는 새 키 쌍이 활성 키 쌍이 될지 여부를 결정합니다.
  7. 키 저장소 값을 입력합니다.
  8. 키 저장소 암호 의 값을 입력합니다.
  9. Key Alias 의 값을 입력합니다.
  10. 키 암호 의 값을 입력합니다.
  11. 저장을 클릭합니다.

3.9.6. 키를 수동 설정

절차

  1. 관리 콘솔에서 영역을 선택합니다.
  2. CloudEvent 설정을 클릭합니다.
  3. 탭을 클릭합니다.
  4. 활성 탭을 클릭합니다.
  5. 패시브를 만들 키의 공급자를 클릭합니다.
  6. Active to OFF 로 전환합니다.
  7. 저장을 클릭합니다.

3.9.7. 키 비활성화

절차

  1. 관리 콘솔에서 영역을 선택합니다.
  2. CloudEvent 설정을 클릭합니다.
  3. 탭을 클릭합니다.
  4. 활성 탭을 클릭합니다.
  5. 패시브를 만들 키의 공급자를 클릭합니다.
  6. EnabledOFF 로 전환합니다.
  7. 저장을 클릭합니다.

3.9.8. 손상된 키

Red Hat Single Sign-On에는 서명 키가 로컬에 저장되고 클라이언트 애플리케이션, 사용자 또는 기타 엔티티와 공유되지 않습니다. 그러나 영역 서명 키가 손상되었다고 생각되면 먼저 위에 설명된 대로 새 키 쌍을 생성한 다음 손상된 키 쌍을 즉시 제거해야 합니다.

또는 공급자 테이블에서 공급자를 삭제할 수 있습니다.

절차

  1. 메뉴에서 Clients 를 클릭합니다.
  2. security-admin-console 을 클릭합니다.
  3. 취소 탭을 클릭합니다.
  4. Set to now 를 클릭합니다.
  5. 푸시 를 클릭합니다.

not-before 정책을 내보내면 클라이언트 애플리케이션이 손상된 키로 서명된 기존 토큰을 허용하지 않습니다. 클라이언트 애플리케이션은 Red Hat Single Sign-On에서 새 키 쌍을 다운로드해야 하므로 손상된 키로 서명된 토큰이 유효하지 않습니다.

참고

REST 및 기밀 클라이언트는 Admin URL 을 설정해야 Red Hat Single Sign-On에서 클라이언트에게 푸시되지 않음 정책 요청을 보낼 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.