본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

NIST SP 800-63C(Digital Identity Guidelines: Federation and Assertions)는 미국 국립표준기술연구소(NIST, National Institute of Standards and Technology)가 발행한 디지털 신원 지침으로, 연합 신원 관리(Federation), 인증 주장(Assertion), 신원 제공자와 신뢰 당사자 간 신뢰관계 및 연합 보증 수준(FAL)에 관한 기술적·관리적 요구사항을 정의하는 특별간행물이다.

NIST SP 800-63C는 서로 다른 정보시스템이나 조직 사이에서 이용자의 인증 결과와 신원 속성을 안전하게 전달하기 위한 연합 신원 관리 지침이다.

연합 신원 관리에서는 이용자가 서비스마다 별도의 인증기를 등록하고 관리하는 대신, 신원 제공자(Identity Provider, IdP)에서 인증한 결과를 신뢰 당사자(Relying Party, RP)에 전달하여 서비스를 이용할 수 있다.

RP는 이용자의 인증기를 직접 검증하지 않고 IdP가 발급한 인증 주장(Assertion)을 검증하여 인증된 세션을 생성한다.

이 문서는 연합 인증 과정에서 발생할 수 있는 인증 주장 위조, 재전송, 주입, 신원정보 유출 및 신원 제공자 침해 등의 위험에 대응하기 위한 요구사항을 규정한다.[1]

주요 내용은 다음과 같다.

  • 연합 신원 관리의 참여 주체와 역할.
  • 연합 보증 수준(Federation Assurance Level, FAL).
  • 신원 제공자(IdP)와 신뢰 당사자(RP) 간 신뢰관계.
  • 인증 주장(Assertion)의 생성·서명·검증.
  • 인증 주장 주입 공격(Assertion Injection Attack) 방어.
  • 인증 주장 재전송 공격 방어.
  • 연합 식별자(Federated Identifier) 관리.
  • 가명 식별자를 이용한 개인정보 보호.
  • 연합 인증에 필요한 암호 키와 식별자 관리.
  • 연합 인증 프록시(Federation Proxy).
  • 가입자 제어 디지털 지갑(Subscriber-Controlled Wallet).
  • 속성 묶음(Attribute Bundle)과 선택적 정보 공개.
  • 인증 결과의 보증 수준 전달.
  • 연합 인증 과정의 개인정보 보호와 이용자 경험.
항목 내용
문서 번호 NIST SP 800-63C
정식 명칭 Digital Identity Guidelines: Federation and Assertions
발행기관 미국 국립표준기술연구소(NIST)
최신 확정판 SP 800-63C-4
발행일 2025년 7월 31일
이전판 SP 800-63C(2020년 3월 갱신본)
상위 지침 NIST SP 800-63-4
핵심 체계 FAL1, FAL2, FAL3
주요 적용 대상 신원 제공자, 신뢰 당사자, 자격 증명 서비스 제공자, 연합 인증 서비스 운영기관
주요 분야 디지털 신원, 연합 인증, SSO, IAM
공식 문서 NIST CSRC

발행 및 개정 이력

편집 원본 편집

NIST SP 800-63C는 2017년 SP 800-63 시리즈가 디지털 신원 지침으로 개편되면서 별도 문서로 분리되었다.

이전에는 연합 인증에 관한 요구사항이 SP 800-63의 일부로 포함되어 있었다.

시기 문서 주요 내용
2006년 SP 800-63 전자 인증(Electronic Authentication) 지침 최초 발행
2017년 SP 800-63C 연합 신원 관리와 인증 주장에 관한 요구사항을 별도 문서로 분리
2020년 3월 SP 800-63C 갱신 Revision 3 체계의 연합 인증 지침 갱신
2022년 12월 SP 800-63C-4 최초 공개 초안 연합 보증 수준 및 연합 인증 모델 개정 추진
2024년 8월 SP 800-63C-4 두 번째 공개 초안 디지털 지갑, 인증 주장 보호 및 신뢰관계 요구사항 보완
2025년 7월 31일 SP 800-63C-4 최종본 Revision 4 확정

2026년 10월 23일 기준 최신 확정판은 SP 800-63C-4이며, 2020년 갱신된 이전 SP 800-63C를 대체한다.[2]

NIST는 2026년 10월 6일 SP 800-63 Revision 4의 구현을 지원하는 Implementation Resource Hub를 공개하였다.[3]

Revision 4의 주요 변경사항

편집 원본 편집

Revision 4는 기존의 연합 인증 모델을 확대하고 보증 수준별 요구사항을 재정비하였다.

주요 변경사항은 다음과 같다.[1]

  • 연합 보증 수준별 보호조치 재구성.
  • FAL2 이상에서 인증 주장 주입 공격에 대한 강력한 보호 요구.
  • FAL2 이상에서 RP가 시작하는 연합 인증 거래 요구.
  • FAL3에서 RP의 추가 인증기 검증 요구.
  • 신뢰관계 수립과 암호 키·식별자 설정 절차 구분.
  • 가입자 제어 디지털 지갑을 정식 연합 인증 모델에 포함.
  • 디지털 지갑에 발급하는 서명된 속성 묶음 개념 도입.
  • 가입자 속성의 선택적 공개 및 파생 속성 활용 확대.
  • 연합 식별자와 가명 식별자의 개인정보 보호 요구사항 강화.
  • 연합 인증 프록시와 다자간 신뢰관계의 요구사항 구체화.
  • 연합 인증 과정의 개인정보 보호 및 이용자 경험 고려사항 확대.

특히 Revision 4에서는 이전판과 달리 FAL2가 인증 주장 암호화 여부만으로 결정되지 않는다.

FAL2의 핵심 요구사항은 인증 주장 주입 공격에 대한 강력한 보호, 단일 RP 대상 제한, 사전 수립된 신뢰관계 등이다.

연합 신원 관리 모델

편집 원본 편집

연합 신원 관리(Federation)는 가입자가 RP에 자신의 인증기를 직접 제시하지 않고, IdP가 전달한 인증 결과를 이용하여 RP에서 인증된 세션을 생성하는 방식이다.

연합 인증은 서로 다른 조직이나 보안 도메인 사이에서 사용할 수 있으며, 동일한 조직 내부에서도 계정 관리의 통합과 기술적 연계를 위해 사용할 수 있다.

주요 참여 주체

편집 원본 편집
주체 영문 역할
가입자 Subscriber 연합 인증을 통해 서비스에 접근하는 개인
자격 증명 서비스 제공자 Credential Service Provider(CSP) 가입자 계정과 신원 속성 및 인증기 연결 관계 관리
신원 제공자 Identity Provider(IdP) 가입자를 인증하고 RP에 전달할 인증 주장 생성
신뢰 당사자 Relying Party(RP) 인증 주장을 검증하고 가입자에게 서비스 제공
연합 관리기관 Federation Authority 연합 참여기관 간 신뢰관계 수립과 관리 지원
연합 프록시 Federation Proxy IdP와 RP 사이에서 연합 인증 프로토콜 중계
권한 있는 당사자 Authorized Party 신원 속성의 제공과 이용을 승인할 권한이 있는 주체

하나의 조직이 여러 역할을 수행할 수 있다.

예를 들어 기업의 통합 인증 시스템은 CSP와 IdP 역할을 동시에 수행할 수 있다.

반대로 CSP와 IdP를 서로 다른 조직이 운영하는 것도 가능하다.

일반적인 연합 인증 절차

편집 원본 편집

일반 목적 IdP를 이용하는 연합 인증은 다음과 같이 이루어진다.

  1. 가입자가 RP의 보호된 서비스에 접근한다.
  2. RP가 가입자를 IdP로 연결하고 인증을 요청한다.
  3. IdP가 가입자의 인증기를 검증하거나 기존 인증 세션을 확인한다.
  4. IdP가 인증 결과와 필요한 신원 속성을 포함한 인증 주장을 생성한다.
  5. 인증 주장이 연합 인증 프로토콜을 통해 RP에 전달된다.
  6. RP가 인증 주장의 서명, 발급자, 수신 대상 및 유효 기간을 검증한다.
  7. RP가 요구하는 IAL·AAL·FAL 충족 여부를 확인한다.
  8. RP가 가입자에 대한 인증된 세션을 생성한다.
  9. RP가 자체 접근통제 정책에 따라 서비스 이용을 허용한다.

이 과정에서 RP는 일반적으로 가입자의 비밀번호나 인증기 비밀키를 직접 처리하지 않는다.

다만 연합 인증을 사용하더라도 RP는 인증 주장의 검증과 접근통제에 대한 책임을 가진다.

연합 보증 수준

편집 원본 편집

FAL(Federation Assurance Level)은 연합 인증 과정에서 인증 주장을 안전하게 전달하고 검증하는 데 필요한 보호 수준이다.

NIST SP 800-63C는 FAL을 FAL1, FAL2, FAL3의 세 단계로 구분한다.[4]

요구사항 FAL1 FAL2 FAL3
보증 수준 기본 높음 매우 높음
인증 주장 수신 대상 복수 RP 허용 단일 RP 단일 RP
인증 주장 재전송 방지 RP별 필수 필수 필수
인증 주장 주입 공격 방어 권고 필수 필수
연합 인증 거래 시작 RP 시작 권고 RP 시작 필수 RP 시작 필수
신뢰관계 가입자 주도 또는 사전 수립 사전 수립 필수 사전 수립 필수
식별자 및 키 설정 동적 또는 수동 동적 또는 수동 식별자 수동 설정
인증 주장 제시 방식 Bearer Assertion Bearer Assertion Holder-of-Key Assertion 또는 Bound Authenticator

상위 보증 수준은 하위 보증 수준의 요구사항을 포함한다.

다만 개별 요구사항이 상위 수준에서 더 엄격하게 규정된 경우에는 해당 요구사항을 적용한다.

FAL1은 연합 인증 거래에 대한 기본적인 보호 수준을 제공한다.

주요 요구사항은 다음과 같다.

  • IdP가 승인된 암호 기술로 인증 주장에 서명.
  • RP가 예상한 IdP의 검증 키로 서명을 확인.
  • 인증 주장의 수신 대상을 특정 RP 또는 RP 집합으로 제한.
  • 각 RP가 동일한 인증 주장의 재사용을 방지.
  • 인증 주장 주입 공격에 대한 보호 적용 권고.
  • RP가 연합 인증 거래를 시작하도록 권고.

FAL1에서는 하나의 인증 주장을 여러 RP가 수신하도록 지정할 수 있다.

그러나 각 RP는 동일한 인증 주장을 두 번 이상 받아들이지 않도록 재전송 방지 기능을 적용해야 한다.

신뢰관계는 사전에 수립하거나 연합 인증 거래 중 가입자의 결정에 따라 수립할 수 있다.

연합 식별자에 이용자의 이름, 전자우편 주소, 직원번호 등 평문 개인정보를 포함하지 않는 것이 권고된다.

FAL2는 연합 인증 거래에 대한 높은 수준의 보호를 제공한다.

FAL1의 요구사항에 더하여 다음 사항이 적용된다.

  • 인증 주장 주입 공격에 대한 강력한 보호 필수.
  • RP가 연합 인증 거래를 시작해야 함.
  • 인증 주장의 수신 대상을 단일 RP로 제한.
  • RP의 인증 주장 재전송 방지 필수.
  • 연합 인증 거래 전에 신뢰관계 수립 필수.
  • 연합 식별자에 평문 개인정보 포함 금지.

미국 연방기관이 직접 운영하거나 연방기관을 대신하여 운영하는 IdP는 FAL2 이상의 인증 주장 서명 키를 FIPS 140 보안 수준 1 이상으로 검증된 메커니즘으로 보호해야 한다.

FAL2에서는 인증 주장을 특정 RP와 해당 인증 거래에 연결하는 것이 중요하다.

공격자가 다른 인증 거래에서 획득한 인증 주장이나 인증 주장 참조값을 현재 RP의 인증 절차에 주입하여 계정을 탈취하지 못하도록 해야 한다.

FAL3는 연합 인증 거래에 대한 가장 높은 보호 수준이다.

FAL3에서는 IdP가 전달한 인증 주장 외에 RP가 가입자의 인증기 통제 여부를 추가로 확인해야 한다.

주요 요구사항은 다음과 같다.

  • FAL1과 FAL2의 요구사항 충족.
  • RP가 가입자의 추가 인증기 통제 여부를 검증.
  • Holder-of-Key Assertion 또는 Bound Authenticator 사용.
  • 연합 인증 거래 전에 신뢰관계 수립.
  • CSP·IdP·RP의 식별자를 수동으로 설정.
  • 각 식별자를 해당 기관의 검증 키와 고유하게 연결.
  • 검증 키를 신뢰할 수 있는 메커니즘으로 전달.

FAL3는 IdP 자체가 침해될 가능성에 대한 추가적인 보호를 제공한다.

공격자가 IdP를 침해하여 유효한 인증 주장을 생성하더라도, RP에서 요구하는 추가 인증기를 통제하지 못하면 인증을 완료할 수 없도록 설계한다.

FAL3에서 식별자는 수동으로 설정해야 하지만, 검증 키의 전달과 갱신까지 반드시 수동으로 수행해야 하는 것은 아니다.

검증 키는 신뢰관계에서 정한 안전한 메커니즘을 통해 자동으로 전달할 수도 있다.

IAL·AAL·FAL의 관계

편집 원본 편집

NIST SP 800-63 시리즈는 디지털 신원 관리의 보증 수준을 세 가지로 구분한다.

구분 정식 명칭 평가 대상
IAL Identity Assurance Level 가입자의 현실 세계 신원에 대한 신뢰 수준
AAL Authentication Assurance Level 가입자가 인증기를 정당하게 통제한다는 신뢰 수준
FAL Federation Assurance Level 연합 인증 거래와 인증 주장에 대한 보호 수준

IAL·AAL·FAL은 서로 다른 위험을 다루므로 독립적으로 선정한다.

예를 들어 IAL2·AAL2·FAL3을 조합할 수 있다.

FAL3가 적용되었다는 사실만으로 가입자의 신원이 IAL3 수준으로 확인되었거나 인증 과정이 AAL3 수준으로 수행되었다고 판단할 수는 없다.

IdP는 연합 인증 거래에서 다음 정보를 RP에 제공해야 한다.

  • 가입자 계정의 IAL 또는 IAL을 주장하지 않는다는 사실.
  • IdP에서 활성화된 가입자 세션의 AAL 또는 AAL을 주장하지 않는다는 사실.
  • 해당 연합 인증 거래의 FAL.

이 정보는 신뢰관계의 조건이나 인증 주장 또는 양자의 조합으로 전달할 수 있다.

RP는 자신이 제공하는 기능에 필요한 최소 IAL·AAL·FAL을 결정하고, 수신한 인증 결과가 이를 충족하는지 확인해야 한다.

특정 IAL이나 AAL이 전달되지 않은 경우에는 해당 보증 수준을 임의로 추정해서는 안 된다.[4]

인증 주장(Assertion)은 IdP가 RP에 전달하는 검증 가능한 진술로, 특정 가입자의 인증 사건과 관련 정보를 나타낸다.

대표적인 인증 주장 형식은 다음과 같다.

  • SAML Assertion.
  • OpenID Connect의 ID Token.
  • 디지털 지갑이 생성하는 서명된 인증 주장.

인증 주장은 가입자 식별자, 인증 시각, 유효 기간 및 기타 신원 속성을 포함할 수 있다.

일반 목적 IdP의 인증 주장 필수 정보

편집 원본 편집

일반 목적 IdP가 발급하는 인증 주장에는 다음 정보가 포함되어야 한다.[5]

항목 영문 설명
발급자 식별자 Issuer Identifier 인증 주장을 발급한 IdP
수신 대상 식별자 Audience Identifier 인증 주장을 수신하도록 지정된 RP
발급 시각 Issuance Time 인증 주장이 생성된 시각
유효 기간 Validity Time Window 인증 주장이 유효한 시간 범위
인증 주장 식별자 Assertion Identifier 인증 주장을 고유하게 구분하는 값
인증 시각 Authentication Time 가입자가 IdP에서 인증된 시각
서명 Signature 인증 주장의 무결성과 발급자를 검증하는 암호학적 서명

RP는 인증 주장의 내용을 신뢰하기 전에 필요한 검증을 수행해야 한다.

인증 주장의 형식이 올바르거나 서명이 존재한다는 사실만으로 인증이 완료되는 것은 아니다.

인증 주장 서명

편집 원본 편집

IdP는 인증 주장에 암호학적 서명을 적용해야 한다.

서명은 인증 주장의 전체 내용을 보호해야 하며, 발급자·수신 대상·가입자 식별자·유효 기간 등이 서명 범위에 포함되어야 한다.

RP는 예상한 IdP의 검증 키를 사용하여 서명을 확인해야 한다.

서명은 다음 두 방식 중 하나로 구현할 수 있다.

  • 비대칭 암호 기반 전자서명.
  • 공유 대칭키 기반 메시지 인증 코드(MAC).

공유 대칭키를 사용하는 경우에는 키를 공유하는 당사자의 범위와 키 관리 정책을 고려해야 한다.

인증 주장 암호화

편집 원본 편집

인증 주장에는 개인정보나 민감한 신원 속성이 포함될 수 있다.

이러한 정보의 노출을 방지하기 위해 인증 주장의 내용을 암호화할 수 있다.

대표적인 구현은 다음과 같다.

  • SAML Assertion의 XML Encryption.
  • OpenID Connect ID Token의 JSON Web Encryption(JWE).
  • IdP와 RP 사이의 상호 인증된 TLS 보호 채널.

인증 주장에 포함된 개인정보의 보호 수준은 전송 경로, 처리 주체 및 신뢰관계의 요구사항에 따라 결정한다.

Revision 4에서는 FAL2와 FAL3에 인증 주장 자체의 암호화를 일률적으로 요구하지 않는다.

다만 적용되는 개인정보 보호 요구사항이나 신뢰관계의 조건에 따라 암호화가 필요할 수 있다.

수신 대상 제한

편집 원본 편집

수신 대상 제한(Audience Restriction)은 인증 주장이 특정 RP에서만 사용되도록 제한하는 기능이다.

RP는 인증 주장에 지정된 수신 대상에 자신이 포함되어 있는지 확인해야 한다.

FAL1에서는 하나의 인증 주장에 여러 RP를 지정할 수 있다.

FAL2와 FAL3에서는 단일 RP만 지정할 수 있다.

수신 대상 제한은 한 서비스에 발급된 인증 주장이 다른 서비스에서 사용되는 공격을 방지한다.

인증 주장 제시 방식

편집 원본 편집

NIST SP 800-63C는 인증 주장을 제시하는 방식에 따라 Bearer Assertion과 Holder-of-Key Assertion 등을 구분한다.

Bearer Assertion은 인증 주장을 제시하는 당사자가 별도의 인증기 소유 증명을 수행하지 않아도 인증 주장 자체를 검증하여 사용할 수 있는 방식이다.

Bearer Assertion은 FAL1과 FAL2에서 사용할 수 있다.

인증 주장이나 참조값이 공격자에게 노출되면 부정 사용의 위험이 발생할 수 있다.

따라서 다음 보호조치가 중요하다.

  • 인증 주장 서명 검증.
  • 수신 대상 제한.
  • 짧은 유효 기간.
  • 재전송 공격 방지.
  • 인증 거래와 인증 주장 간 연결.
  • 인증 주장 주입 공격 방어.

Holder-of-Key Assertion

편집 원본 편집

Holder-of-Key Assertion은 인증 주장에 특정 인증기를 식별할 수 있는 정보를 포함하고, RP가 가입자의 인증기 통제 여부를 별도로 확인하는 방식이다.

대표적으로 인증 주장이 가입자의 공개키 또는 인증서와 연결될 수 있다.

RP는 인증 주장에 포함된 인증기 식별 정보를 확인하고 가입자가 해당 인증기를 실제로 통제하는지 검증해야 한다.

이때 사용하는 인증기는 피싱 내성을 제공해야 한다.

Holder-of-Key Assertion은 FAL3를 구현하는 방법 중 하나이다.

Bound Authenticator

편집 원본 편집

Bound Authenticator는 RP가 연합 인증 주장과 연결된 별도의 인증기를 확인하는 방식이다.

FAL3에서는 Holder-of-Key Assertion 또는 Bound Authenticator를 이용하여 추가적인 인증기 검증을 수행할 수 있다.

이러한 방식은 IdP의 인증 주장만을 신뢰하는 구조보다 높은 수준의 보호를 제공한다.

연합 인증 거래의 보안 요구사항

편집 원본 편집

연합 인증은 여러 시스템과 통신 경로를 거치므로 직접 인증보다 복잡한 보안 위험이 발생할 수 있다.

NIST SP 800-63C는 연합 인증 거래에 공통으로 적용되는 보안 요구사항을 정의한다.[6]

인증 주장 주입 공격

편집 원본 편집

인증 주장 주입 공격(Assertion Injection Attack)은 공격자가 탈취하거나 위조한 인증 주장 또는 인증 주장 참조값을 RP의 인증 거래에 삽입하는 공격이다.

공격에 성공하면 RP가 공격자의 세션을 다른 가입자의 계정에 연결할 수 있다.

대표적인 대응 방법은 다음과 같다.

  • RP가 인증 거래를 시작하도록 제한.
  • 인증 요청과 응답을 고유한 난수로 연결.
  • RP의 인증 거래 상태를 안전하게 관리.
  • 백채널(Back-Channel)을 통한 인증 주장 전달.
  • RP의 IdP 인증.
  • 인증 주장에 RP가 제공한 논스를 포함하고 서명으로 보호.
  • 예상하지 않은 인증 주장 수신 차단.

FAL1에서는 이러한 보호가 권고된다.

FAL2와 FAL3에서는 강력한 인증 주장 주입 공격 방어가 필수이다.

인증 주장 재전송 공격

편집 원본 편집

재전송 공격(Replay Attack)은 공격자가 이전에 사용된 인증 주장을 다시 제출하여 인증을 시도하는 공격이다.

주요 대응 방법은 다음과 같다.

  • 인증 주장마다 고유 식별자 부여.
  • 인증 주장의 유효 기간 제한.
  • 이미 처리한 인증 주장 식별자 기록.
  • 동일한 인증 주장의 중복 사용 거부.
  • 인증 요청과 인증 응답의 연관성 확인.

재전송 방지는 모든 FAL에서 요구된다.

인증 주장 위조 및 변조

편집 원본 편집

공격자는 인증 주장의 발급자, 가입자 식별자 또는 신원 속성을 변조하여 다른 이용자로 위장하려고 시도할 수 있다.

주요 대응 방법은 다음과 같다.

  • 승인된 암호 알고리즘 사용.
  • IdP의 서명 키 보호.
  • RP의 서명 검증.
  • 발급자 식별자 확인.
  • 수신 대상 식별자 확인.
  • 인증 주장 유효 기간 확인.
  • 암호 키의 교체 및 폐기 절차 마련.

오래된 신원 속성

편집 원본 편집

RP가 오래된 신원 속성을 계속 사용하는 경우에도 보안 문제가 발생할 수 있다.

예를 들어 퇴사자의 소속 정보나 폐기된 전자우편 주소를 계속 신뢰하면 부적절한 접근 권한이 유지될 수 있다.

이에 대한 대응 방법은 다음과 같다.

  • 신원 속성의 갱신 시각 관리.
  • 속성 묶음의 유효성 확인.
  • 폐기된 속성의 사용 방지.
  • RP와 IdP 간 속성 갱신 절차 마련.
  • 필요한 경우 신원정보 API를 통한 최신 정보 확인.

신뢰관계 관리

편집 원본 편집

신뢰관계(Trust Agreement)는 연합 인증에 참여하는 당사자들이 인증 결과와 신원 속성을 어떤 조건에서 교환하고 신뢰할 것인지 정한 합의이다.

모든 연합 인증 거래에는 하나 이상의 신뢰관계가 적용되어야 한다.

신뢰관계는 반드시 별도의 법적 계약서 형태일 필요는 없다.

조직 내부의 정책, 양자간 합의, 다자간 신뢰 프레임워크 또는 가입자의 동적 승인 방식으로도 구성할 수 있다.[7]

신뢰관계의 주요 내용

편집 원본 편집

신뢰관계에는 다음 사항이 포함된다.

  • 연합 인증에 참여하는 기관과 역할.
  • 신뢰관계가 적용되는 가입자 집단.
  • 허용되는 IAL·AAL·FAL.
  • 신원 속성의 제공 범위.
  • 신원 속성의 이용 목적.
  • 개인정보 보존 정책.
  • 인증 주장과 암호 키의 관리 책임.
  • 신원 증명 절차 및 예외 처리 방식.
  • 이용자 경험 관련 요구사항.
  • 이의제기 및 문제 해결 절차.
  • 연합 참여기관 사이의 책임 분담.

동일한 조직이 IdP와 RP를 모두 운영하는 경우에도 신뢰관계의 조건을 정의해야 한다.

양자간 신뢰관계

편집 원본 편집

양자간 신뢰관계(Bilateral Trust Agreement)는 연합 인증에 참여하는 당사자들이 직접 신뢰관계를 수립하는 방식이다.

예를 들어 기업의 IdP와 외부 SaaS 서비스가 직접 인증서와 메타데이터를 교환하고 연합 인증 정책을 설정할 수 있다.

이 방식에서는 참여기관이 상대방의 신뢰성과 기술적 요구사항을 직접 관리한다.

다자간 신뢰관계

편집 원본 편집

다자간 신뢰관계(Multilateral Trust Agreement)는 여러 IdP와 RP가 공통의 신뢰 프레임워크에 참여하는 방식이다.

연합 관리기관(Federation Authority)이 참여기관의 적합성을 확인하고 신뢰관계의 수립을 지원할 수 있다.

주요 기능은 다음과 같다.

  • 연합 참여기관 등록.
  • 참여기관의 요구사항 충족 여부 확인.
  • 공통 신뢰 정책 관리.
  • 참여기관의 추가 및 제외.
  • 연합 인증에 필요한 식별자와 키 정보 관리 지원.

다자간 신뢰관계는 모든 참여기관이 서로 직접 계약하거나 기술적 연결을 수립해야 하는 부담을 줄일 수 있다.

연합 식별자(Federated Identifier)는 연합 인증 환경에서 특정 가입자를 고유하게 구분하는 식별 정보이다.

일반 목적 IdP에서는 보통 다음 두 값의 조합으로 구성된다.

  • 발급자 식별자(Issuer Identifier).
  • 가입자 식별자(Subject Identifier).

발급자 식별자는 IdP를 구분하고, 가입자 식별자는 해당 IdP가 관리하는 가입자 계정을 구분한다.

서로 다른 IdP가 동일한 가입자 식별자를 사용할 수 있으므로 RP는 가입자 식별자만으로 계정을 구분해서는 안 된다.

일반적으로 발급자와 가입자 식별자를 함께 고려해야 한다.

연합 식별자는 하나의 RP에서 단일 가입자에 연결되어야 한다.

PPI(Pairwise Pseudonymous Identifier)는 동일한 가입자에게 RP별로 서로 다른 연합 식별자를 제공하는 방식이다.

예를 들어 한 이용자가 서로 다른 두 서비스에 로그인하더라도 각 서비스에는 다른 식별자를 제공할 수 있다.

이를 통해 서비스 운영자들이 공통 식별자를 이용하여 이용자의 활동을 연결하는 위험을 줄일 수 있다.

주요 요구사항은 다음과 같다.

  • RP별 또는 허용된 RP 집합별로 서로 다른 식별자 생성.
  • 가입자의 이름이나 전자우편 주소 등 식별 가능한 정보 포함 금지.
  • 공격자가 추측하기 어려운 값 사용.
  • 공유가 허용되지 않은 식별자를 다른 RP에 공개하지 않음.

다만 RP에 동일한 전자우편 주소나 이름 등의 속성을 함께 제공하면 가명 식별자를 사용하더라도 이용자를 다시 연결할 수 있다.

따라서 가명 식별자는 개인정보 보호를 위한 하나의 통제이며, 모든 추적 가능성을 제거하는 기술은 아니다.

연합 인증 프록시

편집 원본 편집

연합 프록시(Federation Proxy)는 IdP와 RP 사이에서 연합 인증 프로토콜을 중계하는 구성요소이다.

프록시는 상위 IdP에 대해서는 RP로 동작하고, 하위 RP에 대해서는 IdP로 동작한다.

예를 들어 여러 조직의 IdP를 하나의 공통 인증 플랫폼에 연결한 뒤 다수의 서비스에 인증 결과를 전달할 수 있다.

연합 프록시의 주요 기능은 다음과 같다.

  • 여러 IdP와 RP 사이의 인증 프로토콜 중계.
  • 서로 다른 연합 인증 프로토콜의 연결 지원.
  • 연합 식별자 변환.
  • 인증 주장 전달.
  • 연합 인증 거래의 보안 정책 적용.

프록시는 상위와 하위에서 각각 별도의 연합 인증 거래를 수행한다.

따라서 각 방향에서 수행하는 역할에 해당하는 IdP 또는 RP의 요구사항을 충족해야 한다.

연합 프록시와 연합 관리기관은 서로 다른 역할이다.

연합 프록시는 인증 프로토콜의 기술적 연결을 담당하고, 연합 관리기관은 신뢰관계의 수립과 관리를 지원한다.

하나의 조직이 두 기능을 함께 운영할 수는 있다.

가입자 제어 디지털 지갑

편집 원본 편집

가입자 제어 디지털 지갑(Subscriber-Controlled Wallet)은 가입자가 자신의 신원 속성과 증명 정보를 관리하고 필요한 경우 RP에 제시할 수 있도록 하는 소프트웨어 또는 서비스이다.

NIST SP 800-63C-4는 가입자 제어 디지털 지갑을 연합 신원 관리의 정식 모델로 포함한다.

디지털 지갑은 다음 형태로 구현할 수 있다.

  • 가입자가 통제하는 기기에서 실행되는 지갑.
  • 가입자를 대신하여 원격 서비스에서 운영되는 클라우드 지갑.

디지털 지갑은 연합 인증 과정에서 IdP의 역할을 수행할 수 있다.[8]

디지털 지갑의 기본 구조

편집 원본 편집

디지털 지갑 기반 연합 인증에는 일반적으로 다음 주체가 참여한다.

  • CSP: 가입자의 신원 속성을 확인하고 서명된 속성 묶음을 발급.
  • 디지털 지갑: 속성 묶음을 보관하고 인증 주장을 생성.
  • RP: 인증 주장과 속성 묶음의 유효성을 확인.

일반적인 처리 과정은 다음과 같다.

  1. 가입자가 CSP에서 신원 증명 및 등록 절차를 수행한다.
  2. CSP가 가입자에게 속성 묶음을 발급한다.
  3. 가입자가 디지털 지갑에 속성 묶음을 보관한다.
  4. RP가 필요한 신원 속성을 요청한다.
  5. 가입자가 지갑을 활성화하고 정보 제공 여부를 결정한다.
  6. 지갑이 필요한 속성과 인증 주장을 RP에 전달한다.
  7. RP가 CSP와 지갑의 서명을 검증한다.
  8. RP가 인증 결과와 신원 속성을 이용하여 서비스 접근 여부를 결정한다.

속성 묶음(Attribute Bundle)은 CSP가 발급한 하나 이상의 신원 속성 또는 파생 속성을 암호학적으로 보호한 데이터이다.

대표적인 구현 기술은 다음과 같다.

  • Selective Disclosure JSON Web Token(SD-JWT).
  • W3C Verifiable Credentials.
  • ISO/IEC 18013-5의 mDoc.

속성 묶음에는 발급자인 CSP의 식별 정보와 검증 가능한 서명이 포함된다.

RP는 속성 묶음의 서명을 검증하여 해당 속성이 신뢰할 수 있는 CSP에서 발급되었는지 확인할 수 있다.

속성 묶음은 디지털 지갑에서만 사용하는 개념은 아니며 일반 목적 IdP에서도 사용할 수 있다.

선택적 정보 공개

편집 원본 편집

선택적 정보 공개(Selective Disclosure)는 가입자가 보유한 신원 속성 중 필요한 일부만 RP에 제공하는 방식이다.

예를 들어 서비스에서 이용자의 성인 여부만 확인해야 한다면 정확한 생년월일을 제공하지 않고 성인 여부를 나타내는 파생 속성만 전달할 수 있다.

이 방식은 서비스 제공에 필요하지 않은 개인정보의 노출을 줄이는 데 도움이 된다.

NIST는 디지털 지갑이 속성 묶음의 일부 속성만 선택적으로 공개할 수 있는 기능을 제공하도록 권고한다.

디지털 지갑 활성화

편집 원본 편집

디지털 지갑은 다음 작업을 수행하기 전에 가입자의 활성화 요소(Activation Factor)를 요구해야 한다.

  • CSP에 지갑 서명 키의 소유를 증명하는 작업.
  • RP에 전달할 인증 주장에 서명하는 작업.

활성화 요소에는 PIN이나 생체정보 등을 사용할 수 있다.

가입자가 통제하는 기기에서 실행되는 지갑은 일반적으로 기기 잠금 해제와 별도의 지갑 활성화 작업을 요구한다.

다만 CSP가 관리하는 지갑 등 문서에서 정한 조건을 충족하는 경우에는 예외가 허용될 수 있다.

디지털 지갑의 키 관리

편집 원본 편집

디지털 지갑에서 인증 주장 서명에 사용하는 키는 여러 기기에 동기화하거나 공유해서는 안 된다.

키를 내보낼 수 없는 저장소를 사용하는 것이 권고된다.

FAL3에서 지갑의 서명 키를 Holder-of-Key 인증기로 사용하는 경우에는 내보낼 수 없는 키 저장소에 보관해야 한다.

원격 호스팅 지갑의 서명 키는 가입자가 직접 통제하는 기기의 키와 동일하게 취급할 수 없다.

따라서 원격 호스팅 지갑이 FAL3를 충족하려면 별도의 Holder-of-Key Assertion 또는 Bound Authenticator를 이용한 추가 검증이 필요하다.

신원 속성 관리

편집 원본 편집

연합 인증 과정에서는 인증 결과 외에 가입자의 신원 속성을 RP에 전달할 수 있다.

대표적인 신원 속성은 다음과 같다.

  • 이름.
  • 전자우편 주소.
  • 소속 조직.
  • 직원번호.
  • 연령 또는 성인 여부.
  • 계정 상태.
  • 자격 및 권한 관련 정보.

신원 속성은 인증 주장에 직접 포함하거나 별도의 신원정보 API를 통해 전달할 수 있다.

파생 속성(Derived Attribute)은 기존 신원 속성으로부터 계산한 값이다.

예를 들어 생년월일을 직접 전달하는 대신 특정 연령 이상인지 여부만 전달할 수 있다.

파생 속성은 서비스 제공에 필요한 정보만 전달하도록 하여 개인정보 노출을 줄이는 데 활용된다.

Identity API는 RP가 가입자의 신원 속성을 조회할 수 있도록 하는 보호된 API이다.

OpenID Connect의 UserInfo Endpoint가 대표적인 사례이다.

RP는 인증 주장과 별도로 신원 속성을 조회할 수 있다.

신원정보 API를 이용하면 인증 주장에 모든 개인정보를 포함할 필요가 없다.

다만 API에 대한 접근은 적절하게 제한해야 하며, 신뢰관계에서 정한 목적과 기간에 따라 사용해야 한다.

신원정보 API에 접근할 수 있다는 사실만으로 인증된 세션을 생성해서는 안 된다.

개인정보 보호

편집 원본 편집

연합 신원 관리는 이용자가 여러 서비스에서 별도의 인증정보를 관리해야 하는 부담을 줄일 수 있지만, 개인정보 보호 측면에서는 새로운 위험을 발생시킬 수 있다.

예를 들어 하나의 IdP가 여러 RP에 대한 인증 거래를 처리하면 이용자가 어떤 서비스를 이용하는지 파악할 수 있다.

또한 여러 RP가 공통 식별자나 신원 속성을 공유하면 이용자의 활동을 서로 연결할 수 있다.

NIST SP 800-63C는 이러한 위험을 줄이기 위한 보호조치를 제시한다.[9]

주요 고려사항은 다음과 같다.

  • RP에 필요한 최소한의 신원 속성 제공.
  • 가명 식별자 활용.
  • 가입자 활동의 불필요한 추적 방지.
  • 신원 속성의 이용 목적 명확화.
  • 개인정보 보존 기간 관리.
  • 가입자에 대한 정보 제공 및 동의 절차.
  • 속성 묶음의 선택적 공개.
  • 신원정보 API의 접근 범위 제한.
  • 연합 참여기관 사이의 개인정보 처리 책임 명확화.

FAL3에서 동일한 인증기를 여러 RP에 제시하는 경우에도 추적 위험이 발생할 수 있다.

인증기 자체가 여러 서비스에서 공통으로 식별될 수 있기 때문이다.

따라서 높은 연합 보증 수준을 적용하더라도 개인정보 보호 위험을 별도로 평가해야 한다.

주요 보안 위협

편집 원본 편집

NIST SP 800-63C는 연합 인증 과정에서 발생할 수 있는 공격 유형과 대응 방법을 설명한다.[10]

위협 영문 설명 주요 대응 방법
인증 주장 위조 Assertion Manufacture 공격자가 허위 인증 주장 생성 암호학적 서명과 발급자 검증
인증 주장 변조 Assertion Modification 인증 주장 내용 변경 서명 검증
인증 주장 노출 Assertion Disclosure 인증 주장에 포함된 정보 유출 보호 채널 및 필요한 암호화
인증 주장 전용 Assertion Redirect 다른 RP에 발급된 인증 주장 사용 수신 대상 제한
인증 주장 재사용 Assertion Reuse 이전 인증 주장 재전송 고유 식별자와 재전송 방지
인증 주장 대체 Assertion Substitution 다른 가입자의 인증 주장 삽입 인증 요청과 응답의 암호학적 연결
인증 주장 주입 Assertion Injection 탈취·위조된 인증 주장을 인증 거래에 삽입 RP 시작 거래와 주입 공격 방어
오래된 신원 속성 Revoked or Stale Attributes 폐기되거나 변경된 신원 속성 악용 속성 유효성 및 갱신 상태 확인

IdP가 침해되면 공격자는 다수의 RP에 영향을 줄 수 있다.

공격자는 인증 주장 서명 키를 탈취하거나 IdP의 인증 결과 생성 기능을 악용할 수 있다.

주요 대응 방법은 다음과 같다.

  • IdP의 관리자 계정 보호.
  • 인증 주장 서명 키의 안전한 보관.
  • 서명 키의 교체 및 폐기.
  • 인증 주장 검증 키의 신뢰성 확보.
  • 연합 인증 거래의 이상행위 탐지.
  • 고위험 서비스에 FAL3 적용 검토.

FAL3는 IdP의 인증 주장 외에 RP에서 추가 인증기 검증을 수행하므로 IdP 침해에 대한 보호를 강화할 수 있다.

다만 FAL3가 IdP 침해의 모든 영향을 제거하는 것은 아니다.

NIST SP 800-63C-4는 본문 9개 장과 3개 부록으로 구성된다.[1]

구분 영문 제목 주요 내용 성격
제1장 Introduction 목적, 적용 범위, 연합 신원 관리 개념 설명
제2장 Federation Assurance Level FAL1·FAL2·FAL3 요구사항 규범
제3장 Common Federation Requirements 연합 인증의 공통 요구사항 규범
제4장 General-Purpose IdPs 일반 목적 IdP의 연합 인증 요구사항 규범
제5장 Subscriber-Controlled Wallets 디지털 지갑과 속성 묶음 요구사항 규범
제6장 Threats and Security Considerations 연합 인증의 보안 위협과 대응 설명
제7장 Privacy Considerations 개인정보 보호 고려사항 설명
제8장 Customer Experience Considerations 이용자 경험 및 접근성 설명
제9장 Examples 연합 인증 구현 사례 설명
부록 A Abbreviations 약어 목록 설명
부록 B Glossary 용어 정의 설명
부록 C Change Log 개정 이력 설명

제2장부터 제5장까지는 규범적 요구사항을 포함한다.

문서에서 사용하는 SHALL과 SHALL NOT은 필수 요구사항을 의미한다.

SHOULD와 SHOULD NOT은 권고사항을 의미하며, MAY는 허용되는 선택사항을 의미한다.

다른 NIST 문서와의 관계

편집 원본 편집

NIST SP 800-63C는 디지털 신원 관리 중 연합 인증에 특화된 지침이다.

관련 문서와의 관계는 다음과 같다.

문서 주요 내용 SP 800-63C와의 차이
SP 800-63-4 디지털 신원 관리의 상위 지침 IAL·AAL·FAL 선정과 디지털 신원 위험 관리
SP 800-63A-4 신원 증명 및 등록 가입자의 현실 세계 신원 확인
SP 800-63B-4 인증 및 인증기 관리 가입자의 인증기 통제 여부 검증
SP 800-63C-4 연합 신원 관리 및 인증 주장 IdP와 RP 사이의 인증 결과 전달과 신뢰관계
SP 800-53 보안 및 개인정보 보호 통제 조직과 정보시스템에 적용하는 보안 통제 카탈로그
SP 800-57 암호 키 관리 암호 키의 생성·보관·교체·폐기 등에 관한 지침

SP 800-63A와의 차이

편집 원본 편집

SP 800-63A는 신원 증명과 가입자 등록을 다룬다.

즉, 가입자가 주장하는 현실 세계의 신원과 실제로 연결되는지를 확인하는 데 중점을 둔다.

반면 SP 800-63C는 신원정보와 인증 결과를 서로 다른 시스템에 전달하는 과정의 보안성을 다룬다.

SP 800-63B와의 차이

편집 원본 편집

SP 800-63B는 인증기와 검증자 사이의 인증 절차를 정의한다.

예를 들어 비밀번호, OTP, 패스키, 하드웨어 보안 키 등의 인증기 요구사항을 규정한다.

반면 SP 800-63C는 인증 결과를 RP에 전달하는 연합 인증 절차를 정의한다.

따라서 AAL과 FAL은 서로 다른 보안 속성을 나타낸다.

강력한 인증기를 사용하더라도 인증 주장을 안전하게 전달하지 못하면 연합 인증 과정에서 계정 탈취가 발생할 수 있다.

주요 연합 인증 표준과의 관계

편집 원본 편집

NIST SP 800-63C는 특정 연합 인증 프로토콜만을 사용하도록 요구하지 않는다.

대표적인 관련 표준은 다음과 같다.

표준 주요 목적 연합 인증에서의 역할
SAML 2.0 XML 기반 인증 주장 교환 기업 및 조직 간 연합 인증
OpenID Connect OAuth 2.0 기반 인증 계층 ID Token을 이용한 연합 로그인
OAuth 2.0 접근 권한 위임 연합 인증 과정의 보호된 API 접근 등에 활용
FIDO2/WebAuthn 공개키 기반 사용자 인증 IdP에서의 피싱 내성 인증 등에 활용
W3C Verifiable Credentials 검증 가능한 디지털 증명 정보 디지털 지갑의 속성 묶음 구현

SAML(Security Assertion Markup Language)은 XML 기반의 인증 주장 교환 표준이다.

IdP가 가입자의 인증 결과를 SAML Assertion으로 발급하면 RP는 서명과 수신 대상 등을 검증하여 인증된 세션을 생성할 수 있다.

SAML을 사용한다는 사실만으로 특정 FAL을 충족하는 것은 아니다.

실제 구현에서 적용한 인증 주장 보호조치와 신뢰관계 요구사항에 따라 FAL을 판단해야 한다.

OpenID Connect(OIDC)는 OAuth 2.0을 기반으로 사용자 인증 기능을 제공하는 표준이다.

IdP에 해당하는 OpenID Provider(OP)는 인증 결과를 ID Token으로 전달한다.

RP는 ID Token의 서명, 발급자, 수신 대상 및 유효 기간 등을 검증한다.

OIDC 역시 프로토콜을 사용한다는 사실만으로 특정 FAL을 충족하지 않는다.

OAuth 2.0과의 차이

편집 원본 편집

OAuth 2.0은 기본적으로 접근 권한 위임을 위한 프레임워크이다.

OAuth 2.0의 액세스 토큰은 보호된 자원에 접근하기 위한 권한을 나타내며, 그 자체로 이용자의 인증 결과를 표준화하여 전달하는 수단은 아니다.

사용자 인증과 연합 로그인을 구현할 때는 OpenID Connect 등 적절한 인증 프로토콜을 사용해야 한다.

적용 범위 및 한계

편집 원본 편집

NIST SP 800-63C는 네트워크를 통해 온라인 서비스에 접근하는 자연인의 연합 인증에 적용한다.

대표적인 활용 분야는 다음과 같다.

  • 기업의 통합 인증 및 SSO.
  • 조직 간 연합 인증.
  • 클라우드 서비스 로그인.
  • SaaS 서비스의 외부 IdP 연계.
  • 공공기관 온라인 서비스.
  • 금융 및 전자거래 서비스.
  • 디지털 신분증 기반 서비스.
  • 모바일 디지털 지갑.
  • 외부 협력업체의 업무시스템 접근.
  • 여러 IdP를 연결하는 인증 중계 플랫폼.

다만 다음 사항을 고려해야 한다.

  • 기계 간 인증을 직접적인 적용 대상으로 삼지 않는다.
  • 물리적 출입통제 절차 자체를 규정하지 않는다.
  • 신원 증명과 인증기 관리의 세부 요구사항은 별도 문서에서 정의한다.
  • FAL은 인증 주장과 연합 인증 거래의 보호 수준을 나타내며 접근 권한 자체를 의미하지 않는다.
  • 연합 인증에 성공하더라도 RP의 접근통제 정책에 따라 자원 접근이 제한될 수 있다.
  • FAL3를 적용하더라도 모든 IdP 침해나 세션 탈취 공격이 방지되는 것은 아니다.
  • NIST 지침의 적용 의무는 관련 법률, 계약 및 조직 정책에 따라 달라질 수 있다.

구현 시 고려사항

편집 원본 편집

NIST SP 800-63C를 실제 시스템에 적용할 때는 다음 사항을 확인해야 한다.

  • RP가 요구하는 최소 IAL·AAL·FAL 정의.
  • IdP와 RP 사이의 신뢰관계 수립.
  • 인증 주장 발급자와 수신 대상 검증.
  • 인증 주장 서명과 암호 키의 안전한 관리.
  • 인증 주장 재전송 공격 방지.
  • 인증 주장 주입 공격 방어.
  • FAL2 이상에서 RP 시작 인증 거래 적용.
  • FAL3에서 추가 인증기 검증.
  • 연합 식별자와 가입자 계정의 안전한 연결.
  • 개인정보를 포함하는 신원 속성의 최소 제공.
  • 신원 속성의 갱신 및 폐기 절차 마련.
  • 연합 프록시를 사용하는 경우 상위·하위 거래의 요구사항 확인.
  • 디지털 지갑을 사용하는 경우 속성 묶음과 지갑 서명 검증.
  • 인증 실패 및 연합 서비스 장애에 대한 대응 절차 마련.
  • 이용자의 이의제기 및 구제 절차 마련.

특히 연합 인증은 IdP와 RP가 서로 다른 역할을 수행하므로 어느 한쪽의 보안성만으로 전체 인증체계의 신뢰성을 보장할 수 없다.

NIST SP 800-63C는 이러한 특성을 고려하여 인증 주장 자체의 보호뿐 아니라 참여기관 간 신뢰관계, 식별자 관리, 암호 키 관리 및 개인정보 보호를 함께 요구한다.

  1. ↑ 1.0 1.1 1.2 David Temoshok 외, Digital Identity Guidelines: Federation and Assertions, NIST SP 800-63C-4, National Institute of Standards and Technology, 2025-07-31.
  2. ↑ SP 800-63C-4, Digital Identity Guidelines: Federation and Assertions, NIST Computer Security Resource Center, 확인: 2026-10-23.
  3. ↑ Implementation Resources for SP 800-63 Revision 4, NIST, 확인: 2026-10-23.
  4. ↑ 4.0 4.1 Federation Assurance Level, NIST Digital Identity Guidelines, 확인: 2026-10-23.
  5. ↑ General-Purpose IdPs, NIST Digital Identity Guidelines, 확인: 2026-10-23.
  6. ↑ Common Federation Requirements, NIST Digital Identity Guidelines, 확인: 2026-10-23.
  7. ↑ Trust Agreements, NIST Digital Identity Guidelines, 확인: 2026-10-23.
  8. ↑ Subscriber-Controlled Wallets, NIST Digital Identity Guidelines, 확인: 2026-10-23.
  9. ↑ Privacy Considerations, NIST Digital Identity Guidelines, 확인: 2026-10-23.
  10. ↑ Threats and Security Considerations, NIST Digital Identity Guidelines, 확인: 2026-10-23.
목차