Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Cipher 채널과 라이선스로 민감한 값 보호하기

Cipher는 암호화, 복호화와 해시를 사용해 데이터의 원래 값을 가리는 서비스입니다. 저장소와 네트워크의 암호화에 더해, 업무에 필요한 사용자만 특정 값을 확인하도록 구성할 수 있습니다. 원래 식별자가 필요하지 않은 분석에서는 식별자를 해시하거나 암호화해 노출을 줄일 수 있습니다.

채널(Channel)은 알고리즘과 키 또는 비밀값을 관리하고, 라이선스(License)는 그 채널에서 어떤 작업을 누가 사용할 수 있는지 정합니다. 두 리소스 모두 Foundry 파일시스템에 저장합니다.

채널과 암호문 형식

채널은 암호화 알고리즘, 파라미터와 키 또는 해시 알고리즘과 비밀값을 정의합니다. 라이선스 하나는 정확히 하나의 상위 채널에 연결됩니다.

Cipher로 암호화한 값은 다음 형태를 사용합니다. channel-rid는 채널의 실제 RID이며, 암호문 안의 메타데이터로 적절한 채널을 식별해 권한을 확인합니다.

CIPHER::<channel-rid>::<encrypted-value>::CIPHER

라이선스를 볼 권한이 있는 사용자는 그 라이선스가 허용하는 채널 작업을 사용할 수 있습니다. 따라서 라이선스의 위치를 옮기거나 공유하면 암호 연산 접근 대상도 바뀔 수 있습니다.

채널 생성과 알고리즘 선택

프로젝트의 + New > Cipher Channel을 선택하거나, 앱 목록의 Platform Apps > Data Governance > Cipher에서 시작합니다. 채널 생성 기능이 없으면 Palantir 담당자에게 문의합니다.

알고리즘특성선택 기준
AES_GCM_SIV확률적 암호화입니다. 같은 평문도 암호화할 때 다른 암호문이 되도록 처리합니다.값의 종류가 적거나 분포를 쉽게 예측할 수 있어 동일값 및 빈도 노출을 줄여야 하는 경우를 고려합니다.
AES_SIVAES-256-SIV 결정적 암호화입니다. 같은 키와 입력은 같은 결과를 만듭니다.암호문으로 조인하거나 집계해야 하는 경우에 사용할 수 있습니다.
SHA-256Pepper를 사용하는 결정적 해시입니다.원래 값을 복원할 필요가 없고 같은 입력을 같은 값으로 연결해야 하는 경우입니다.
SHA-512Pepper를 사용하는 결정적 해시입니다.같은 목적의 다른 해시 알고리즘 선택지입니다.
Visual Obfuscation Image Scrambling결정적이며 되돌릴 수 있는 이미지 픽셀 변환입니다.이미지의 일부 영역을 가리고 권한 있는 사용자에게 복원하는 경우입니다.

암호화는 권한과 키가 있으면 복호화할 수 있지만 해시는 암호 연산으로 원래 값을 복원할 수 없습니다. 재식별이 업무에 필요하면 암호화를 선택합니다. 결정적 방식은 동일값 관계를 유지하므로 값의 종류가 적거나 알려진 분포가 있는 데이터에서 사전 또는 통계 공격 위험을 고려해야 합니다. 해시를 했다는 사실만으로 익명화를 보장하지 않습니다.

비밀값과 키

암호화에서는 다음 키 구성 방식을 선택할 수 있습니다.

  • 권장되는 Stretching key derivation은 비밀값에서 키를 유도합니다. 키 버튼으로 무작위 비밀값을 생성할 수 있습니다.
  • Single key는 키 유도 없이 기존의 적절하게 생성한 AES_SIV 키를 직접 사용하며 Base64로 인코딩해 입력합니다. AES-256-SIV의 원시 키는 두 개의 256비트 키를 합친 64바이트이므로 원시 키 바이트 수와 Base64 문자열 길이를 구분해야 합니다.

해시 비밀값은 최소 14자 이상의 무작위 값을 준비하거나 키 버튼으로 생성합니다. Visual Obfuscation에는 이미지 픽셀 재배열 및 변환에 사용할 길고 무작위인 숫자 seed를 지정합니다. 구성이 끝나면 Create cipher channel을 선택합니다.

라이선스 발급

채널에서 Create New Cipher License를 선택합니다. 사용자가 허용된 연산을 사용하게 하려면 라이선스의 View 접근을 부여합니다.

기능Operational User LicenseData Manager LicenseAdmin License
개별 값 수준 감사지원미지원미지원
호출량 제한지원미지원미지원
데이터셋 열 전체 암호화 및 복호화미지원지원지원
암호 키 직접 접근을 실질적으로 허용아니요아니요예
Workshop, Object Explorer 등 객체 화면지원미지원미지원
Functions지원, 필요한 Checkpoint 우회 설정 필요미지원미지원
Pipeline Builder미지원지원지원
Contour미지원지원지원
코드 변환미지원미지원지원

Operational User License

이전 이름은 Frontend License입니다. 사용자별 개별 값 암호화 및 해시 권한과 개별 값 복호화 권한을 각각 구성합니다. 모든 작업을 값 단위로 감사할 수 있습니다.

각 연산에는 사용자 한 명이 정해진 시간 동안 수행할 수 있는 횟수 제한을 선택적으로 설정할 수 있습니다. 한도를 넘으면 기간이 초기화될 때까지 차단합니다.

Bypass checkpoints를 허용하면 Functions나 직접 API 호출처럼 질문 화면을 표시할 수 없는 경로에서 라이선스를 사용할 수 있습니다. 우회하더라도 값 단위 감사와 호출량 제한은 계속 적용됩니다. 사유를 제출하지 않는 경로의 실행을 허용하므로 그 경로와 업무 목적을 검토해야 합니다.

Data Manager License

이전 이름은 High Trust License입니다. Pipeline Builder나 Contour에서 데이터셋 열 전체의 암호화 및 해시, 열 전체의 복호화를 허용합니다. 각 방향의 권한을 따로 구성하며 암호 키를 직접 제공하지 않습니다.

Admin License

이전 이름은 Transforms License입니다. Code Repositories에서 열 전체를 암호화, 해시 또는 복호화할 수 있고 암호 키에 접근할 수 있습니다. Encryption/hashing Admin과 Decryption Admin을 구분해 부여합니다. 키 접근을 허용하므로 높은 신뢰 수준이 필요한 사용자에게만 공유합니다.

직원 데이터 예제

예제 직원 CSV는 가상의 데이터입니다. 다음 절차는 파일을 Foundry에 업로드한 후 Employee_name을 암호화하고 필요할 때만 복호화하는 구성입니다.

  1. 데이터가 들어오는 프로젝트에서 Cipher 채널을 만듭니다.
  2. 암호화 권한이 있는 Data Manager License를 만듭니다.
  3. + New > Pipeline으로 Pipeline Builder 파이프라인을 만들고 직원 데이터셋을 입력합니다.
  4. Cipher encrypt 변환에서 발급한 라이선스와 Employee_name 열을 선택합니다.
  5. 데이터셋을 객체 유형 출력에 연결하고 Employee_number를 기본 키와 제목으로 사용합니다.

  1. Pipeline outputs의 설정 아이콘에서 Output settings를 열고 Target ontology와 Output folder를 선택한 뒤 저장합니다.
  2. 암호화한 속성을 Cipher text로 구성하면 값이 암호문 표시로 나타납니다. 객체 속성 구성의 세부 설정을 적용합니다.
  3. 같은 채널에서 복호화 권한이 있는 Operational User License를 만들고 이용자에게 View 접근을 부여합니다. 이용자는 허용된 경로에서 개별 값을 선택하고 필요한 사유 확인을 거쳐 복호화할 수 있습니다.

원본 보호와 선택적 복호화 구성

다음 구조는 민감 데이터 원본을 별도 프로젝트에 두고, 노출을 줄인 결과만 업무 이용자에게 공유하는 예입니다.

  1. 데이터 수집 프로젝트의 원본을 보안 표지로 보호하고 Cipher 채널을 만듭니다.
  2. 코드 변환을 사용할 담당자에게 Admin License를 부여합니다. 화면 기반 변환에는 앞의 라이선스 표에 맞는 Data Manager 또는 Admin License를 사용합니다.
  3. 변환에서 민감한 열을 암호화하거나 해시하고, 접근을 넓혀도 되는 출력인지 검토한 뒤 필요한 승인 절차로 상속 표지의 전파를 중단합니다.
  4. 업무 프로젝트에서 노출을 줄인 결과를 참조합니다.
  5. 필요한 사용자에게 복호화용 Operational User License를 공유합니다.
  6. 온톨로지 속성의 암호문 표시를 설정하고 업무상 필요한 값만 복호화하게 합니다.

암호화했다고 보안 표지를 자동으로 제거하는 것은 아닙니다. 상속 표지 제거 절차에 따라 데이터 의미와 승인 조건을 검토합니다. 열 연산은 Pipeline Builder, Contour와 Python, 이미지 영역 처리는 Visual Obfuscation, 다른 환경 배포는 Marketplace 패키징을 참조합니다.