HL7 FHIR의 보안 프로토콜

FHIR(Fast Healthcare Interoperability Resources)은 보안 프로토콜이 아니며 보안 관련 기능을 정의하지도 않습니다. 그러나 FHIR은 다른 곳에 정의된 다양한 보안 프로토콜과 함께 사용해야 하는 교환 프로토콜 및 콘텐츠 모델을 정의합니다. 이번 포스트에서는 “보안 프로토콜”에 대해서 공부한 내용은 짧게 키워드만 정리해보았습니다.

Summary

  • endpoint는 권한 및 인증 메커니즘으로 보호
  • SSL 암호화 프로토콜로 보호
  • 접근 제어. IP주소 기반 허용하지 않은 클라이언트의 액세스를 방지
  • http 로그 모니터링

엑세스 제어 모델

Role-Based Access Control (RBAC)

RBAC는 사용자의 역할에 기반하여 리소스에 대한 액세스를 제어하는 모델입니다.

각 사용자는 하나 이상의 역할에 할당되며, 각 역할은 특정 작업이나 권한의 집합을 나타냅니다.

역할에 따라 사용자에게 할당된 권한이 결정되며, 사용자는 해당 역할에 따라 리소스에 액세스할 수 있습니다.

구현이 간단하고 이해하기 쉽습니다.

하지만 세밀한 액세스 제어를 위해서는 역할이 너무 세분화되어야 하고, 이는 관리의 어려움을 초래할 수 있습니다.

Attribute-Based Access Control (ABAC)

ABAC는 사용자의 특성 및 리소스의 특성에 기반하여 액세스를 제어하는 모델입니다.

사용자의 특성은 사용자의 역할뿐만 아니라 속성(예: 나이, 위치, 부서 등)일 수 있으며,

리소스의 특성은 리소스의 속성(예: 보안 등급, 소유자 등)일 수 있습니다.

이러한 속성을 기반으로 정책이 정의되며, 액세스 결정이 이루어집니다.

세밀한 액세스 제어가 가능하지만 정책의 관리 및 유지보수가 복잡할 수 있습니다.

Security – FHIR v5.0.0 (hl7.org)

Response 규칙

  • 데이터 세트 반환 시, 0개 결과로 성공 반환
    • 이러면 알려진 데이터가 없는 경우와 가려진 데이터의 여부를 알 수 없게 함
  • 404 Not Found
    • 404로 리턴하면 실제 값이 존재하는지 아닌지 가릴 수 있음
    • 대신 사용자 인증이 검증되었다는 사실이 유출됨
  • 403 Forbidden
    • 실패 이유가 승인 실패임을 나타냄
    • 권한을 부여 받기 위해 어떻게 변경해야 하는지 설명하지 않음
    • staff 권한이 필요하다. 이런 거 반환하지 않음
  • 401 Unauthorized
    • 인증을 시도했지만 실패했음을 나타냄
  • 400 Bad Request
    • 검색을 처리할 수 없거나 기본 FHIR 유효성 검사 규칙에 실패했습니다.

OAuth

OAuth는 인터넷 사용자를 대신하여 다른 웹사이트 또는 앱에 대한 액세스를 인증하는 표준 프로토콜입니다.

참고하면 좋은 글

HL7.FHIR.US.UDAP-SECURITY\Tiered OAuth for User Authentication – FHIR v4.0.1

Leave a Comment

목차