[ServiceNow] 암호화로 수수께끼로 고생한 이야기

최근 보안이 중요시되고 있는 가운데, ServiceNow에도 필드의 값을 암호화하는 기능이 당연히 있습니다. ServiceNow의 암호화 기능을 검증하고 있을 때 조금 고생했기 때문에 그 점에 대해 기술해 갑니다.

문제



동일한 암호화 컨텍스트 (암호화/복호화 키와 같은 것)를 설정 한 사용자 A와 B에서, A로 암호화 된 값은 B에서 보았을 때 복호화 된 값이 필드에 표시되지 않습니다.

기대치



검증 결과(impersonate user에서)



결론



암호화의 검증 작업에서는 대리 조작을 사용하지 말아라!
ServiceNow의 특징인 프록시 작업을 사용하면 암호화 유효성 검사를 올바르게 수행할 수 없습니다.
(냉정하게 생각하면, 본래 보아서는 안되는 것이 대리 조작으로 보여 버리는 것은, 본말 전도이니까요..)

공식 Docs에도 쓰여져 있습니다.

대리 조작

상세



구체적인 검증 순서에 대해 써 갑니다.

주요 버전

・Orlando

암호화 유형

· 컬럼 레벨 암호화(암호화 지원)

전제

· 플러그인 넣기
· 설정은 "security_admin"역할을 가진 사용자

절차
  • 암호화 컨텍스트 설정

  • 암호화 컨텍스트를 역할에 연결(필요한 경우 전용 역할 만들기)

  • 임의의 테이블의 기존 컬럼의 속성을 변경(또는 신규로 컬럼을 작성)

  • 나머지는 검증(속성을 변경한 컬럼에 값을 넣거나, 갱신하거나, 문맥을 가지고 있지 않은 사람으로부터 보이지 않는지 확인한다) ← 이 검증시에 대리 조작 기능은 사용하지 않는 것! !
  • 좋은 웹페이지 즐겨찾기