Key Management Framework(KMF)를 사용한 Password2 암호화

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기5분
  • 에서 핵심 관리 프레임워크지원하는 (양방향 암호화) 필드 유형을 사용하여 Password2 업무, 키 보호 및 수명 주기 관리의 분리로 사용자 지정 필드를 암호화하고 해독합니다. NIST 800-57 지침에 따라 작동하며 FIPS 140-2-L3 보호를 제공합니다.

    Password2 는 양방향 암호화를 사용하여 암호를 저장하는 텍스트 필드입니다. 양방향 암호화는 비밀번호를 인스턴스 내에서 해독할 수 있는 안전한 암호화 값으로 저장합니다.

    팁:
    릴리스부터 Vancouver 관리자는 password2 필드에서 3DES 암호화를 폐지하고 새로운 AES(Advanced Encryption Standard)를 사용할 수 있습니다. 자세한 내용은 password2 필드에 대한 3DES의 GlideEncrypter 사용 중단 문서를 참조하십시오.

    활성화

    Password2 기능은 기본적으로 활성화됩니다. 이는 모든 새 인스턴스와 업그레이드에 glide.kmf.encrypter.enabled 대해 true 로 설정된 속성에 의해 제어됩니다. 를 사용하도록 Password2설정할 필드 암호화 엔터프라이즈 필요가 없습니다.

    Password2 작동 방식

    핵심 관리 프레임워크 기본 시스템 상위 암호화 모듈 cm_glide_encrypter 제공합니다. 이 모듈은 암호화 사양과 레거시 Password2 필드를 해독할 수 있는 키를 제공합니다.

    그림 1. 용 암호화 모듈 Password2
    Password2용 암호화 모듈입니다.

    이 cm_glide_encrypter 모듈에는 각각 고유한 모듈 키와 사양이 있는 하위 모듈이 있을 수 있습니다. 필드가 있는 Password2 애플리케이션과 동일한 애플리케이션 범위와 함께 서브모듈이 존재하는 경우, 시스템은 서브모듈을 사용합니다. 예를 들어, 애플리케이션의 테이블에 ServiceNow® 고객 서비스 서브모듈이 있고 애플리케이션 범위에 있는 고객 서비스 테이블의 필드에 정보를 Password2 쓰는 경우, 암호화 프로세스는 서브모듈을 호출합니다고객 서비스. 또한 이 프로세스는 고유한 AES 256 GCM 암호화 키를 사용하여 암호화 및 암호 해독을 위해 해당 하위 모듈의 키를 사용합니다. 애플리케이션 범위당 하나의 서브모듈이 허용됩니다. 부모 모듈이 항상 전역 범위에 사용되는 것은 아닙니다. 일반적으로 새 필드는 instance_level_glide_encrypter 사용합니다.

    주:
    에서 Yokohama자체 하위 모듈을 생성할 수 없습니다. 하위 모듈은 의 Now Platform다양한 애플리케이션 플러그인에 제공됩니다. 하위 모듈에서는 키를 회전할 수 있지만 상위 cm_glide_encrypter 모듈에서는 회전할 수 없습니다.

    도메인 분리 및 온 프레미스 고객

    KMF Password2 은 도메인 분리를 지원하지 않습니다. 온프레미스 인스턴스와 함께 사용할 Password2 수 있습니다.

    레거시 Password2 및 현재 Password2

    에서 Yokohama기존 Password2 필드가 업그레이드되었습니다.

    Password2현재 구현:
    • 핵심 관리 프레임워크NIST 800-57 키 래핑 지침에 따라 사용하고 전체 키 계층 구조에 대해 FIPS 140-2-L3 보호를 제공합니다.
    • 특정 애플리케이션을 위한 고유한 전용 KMF Password2 하위 모듈을 생성하는 기능이 포함되어 있어 애플리케이션 범위를 통해 통제를 제공합니다. 각 서브모듈에는 고유한 AES 256 GCM 암호화 키가 있습니다.

    스크립트의 Password2 필드

    스크립트를 사용하여 필드에 액세스할 Password2 때는 테이블 범위와 동일한 범위에서 스크립트를 실행합니다. setDisplayValue()를 사용하여 값을 암호화 Password2 하고 getDecryptedValue()를 사용하여 값을 해독하고 읽습니다.

    주:
    필드에 GlideEncrypter() API Password2 를 사용하지 마십시오.
    이 예시 스크립트는 테이블 'table_xyz'의 password2 열에서 my@Password 암호화하는 방법을 보여줍니다.
    
    var  gr =  new GlideRecord(‘table_xyz’);
    gr.setDisplayValue(‘pwd2column_name’, ‘my@Password’); 
    gr.insert();
    
    중요사항:
    필드에 setValue() API를 Password2 사용할 수 없습니다.

    이 예시 스크립트는 값을 검색하기 위해 동일한 필드의 암호를 해독하는 방법을 보여줍니다.

    
    var  gr =  new GlideRecord(‘table_xyz’);
    gr.query();
    gr.next();
    var ge=gr.getElement('pwd2column_name');
    var ged1 = ge.getDecryptedValue(); 
    
    중요사항:
    getDecryptedValue() API는 범위가 지정되지 않습니다. 전 세계에서 사용할 수 있습니다.
    1. 필드의 데이터를 Password2 암호화하면 시스템이 필드가 있는 애플리케이션의 Password2 범위를 결정합니다.
    2. 그런 다음 시스템은 속성이 로 설정된 true경우 애플리케이션과 동일한 범위를 가진 cm_glide_encrypter 상위 모듈의 하위 모듈을 찾습니다.
      주:
      같은 스코프를 가진 서브 모듈이 있으면, 서브 모듈 스펙과 키를 사용하여 암호화를 수행합니다.

    이 그림은 인스턴스가 필드의 데이터를 Password2 해독하는 방법을 설명합니다.

    그림 2. Password2 암호 해독 플로우
    Password2 암호 해독 플로우입니다.

    KMF Password2 마이그레이션 작업

    이전 릴리스에서 업그레이드하는 고객을 위해 마이그레이션 작업이 제공됩니다. 레거시 Password2 암호화로 암호화된 데이터를 서브모듈 키의 키 KMF Password2 로 다시 암호화합니다. 다시 암호화는 애플리케이션 범위에 필드가 있고 Password2 해당 범위에 대해 생성된 하위 모듈이 있는 테이블에만 적용됩니다. 예를 들어, XYZ_example 애플리케이션의 레거시 Password2 필드(XYZ_example 애플리케이션 범위 포함)는 XYZ_example 애플리케이션 범위에 대한 하위 모듈이 cm_glide_encrypter 상위 모듈 아래에 있는 경우에만 다시 암호화됩니다.

    KMF Password2 서브모듈의 암호화 키는 키 계층 구조에서 KMF 보호됩니다(봉투 암호화).