Sun 엔터프라이즈 인증 메커니즘 안내서

보안 플레이버

이 단원에는 RPCSEC_GSS API의 개발 및 특징에 대한 설명이 나와 있습니다.

RPCSEC_GSS 이전의 보안

RPC에서 처음으로 지원된 보안 플레이버는 AUTH_SYS(AUTH_UNIX라고도 함)였습니다. AUTH_SYS는 사용자와 그룹 ID를 사용하여 메시지 발신자와 수신자를 식별하는 UNIX 스타일의 증명서를 제공했었습니다. AUTH_SYS는 구현하기가 쉽지만 정확한 인증을 제공하지 않았기 때문에 보안을 유지하기 어려웠습니다. 즉, 승인을 요청하는 클라이언트가 실제 그 클라이언트인지 서버에서 확인할 방법이 없었던 것입니다. 따라서 AUTH_SYS를 사용할 때는 비교적 쉽게 네트워크 요청을 도용할 수 있습니다.

AUTH_SYS가 개발된지 얼마 되지 않아 곧 다음 버전의 보안 플레이버인 AUTH_DES가 제공되었습니다. AUTH_DES는 공개키 인증을 기반으로 하며, 클라이언트의 개인키와 서버의 공개키 사이에 공통키를 생성하기 위해 Diffie-Hellman 키 교환을 사용합니다. 생성된 공통키는 DES 세션키를 암호화하기 위해 사용되며, 이 세션키는 서버가 세션을 구축할 때 해독됩니다.

AUTH_DES는 AUTH_SYS에 비해 상당히 향상되었지만 광범위한 사용에 있어서 어느 정도의 제한이 있습니다. 현재 암호화 표준에서 볼 때 많은 사용자가 사용하기에는 키 크기가 작다는 것이 가장 큰 결점입니다.

마지막으로 또 하나의 RPC 보안 플레이버가 소개되었습니다. AUTH_KERB는 Kerberos V4를 기반으로 AUTH_DES나 AUTH_SYS보다 향상된 보안을 제공합니다. 그러나 이것 역시 도용 가능성이 있습니다.

이러한 보안 플레이버에 대한 자세한 내용은 ONC+ DEVELOPER'S GUIDE를 참고하십시오.

무결성 및 프라이버시: GSS-API

보안 성능을 향상시키기 위해 새로운 네트워크 계층인 일반 보안 표준 API 즉, GSS-API가 추가되었습니다. GSS-API 프레임워크에서는 인증 외에 두 가지 보안 서비스를 추가로 제공합니다.


주 -

현재 GSS-API는 응용 프로그램 레벨에서 사용할 수 없습니다. 그러나 일부 GSS-API 기능은 RPCSEC_GSS 기능을 통해 사용할 수 있으며 이 기능들은 "불투명(opaque)" 방식으로 조작할 수 있습니다. 프로그래머들은 이 기능들의 값에는 직접 관여할 필요가 없습니다.


RPCSEC_GSS API

ONC RPC 응용 프로그램에서는 RPCSEC_GSS 보안 플레이버를 통해 GSS-API의 기능을 이용할 수 있습니다. RPCSEC_GSS는 다음과 같이 GSS-API 계층의 "최상위"에 위치합니다.

그림 8-1 GSS-API와 RPCSEC_GSS 보안 계층

Graphic

RPCSEC_GSS 프로그래밍 인터페이스를 사용하면 ONC RPC 응용 프로그램에서 다음을 지정할 수 있습니다.

메커니즘

보안 모델로, 각 유형의 보안 메커니즘이 여러 수준의 다양한 데이터 보호를 제공합니다. 이 경우 모든 보안 메커니즘(Kerberos V5, RSA 공개키 등)은 GSS-API에 의해 지원됩니다.

보안 서비스

프라이버시나 무결성 서비스입니다(또는 둘 다 해당 없음). 기본적으로는 무결성 서비스가 제공되며 이 서비스는 특정 메커니즘에 국한되지 않습니다.

QOP

보호 수준으로, 프라이버시나 무결성 서비스를 구현하기 위해 사용되는 암호화 알고리즘의 유형을 지정합니다. 각 보안 메커니즘에는 관련 QOP가 여러 개 포함될 수 있습니다.

응용 프로그램에서는 RPCSEC_GSS가 제공하는 기능을 통해 유효한 QOP와 메커니즘 목록을 얻을 수 있습니다( "기타 함수" 참고). 개발 시 응용 프로그램에 메커니즘과 QOP를 하드코딩하지 않아야 나중에 다른 메커니즘과 QOP를 사용할 때 응용 프로그램을 수정할 수 있습니다.


주 -

원래 "보안 플레이버"와 "인증 플레이버"는 같은 의미였습니다. 그러나 RPCSEC_GSS의 도입과 함께 "플레이버"는 약간 다른 의미로 사용되었습니다. 이제 플레이버는 인증과 함께 서비스(무결성 또는 프라이버시)를 포함하지만 현재 이에 해당하는 플레이버는 RPCSEC_GSS뿐입니다.


ONC RPC 응용 프로그램에서는 다른 플레이버와 마찬가지로 RPCSEC_GSS를 사용하여 동배와 보안 콘텍스트를 설정하고, 데이터를 교환하고, 콘텍스트를 폐기합니다. 일단 콘텍스트가 설정되면 응용 프로그램은 전송된 각 데이터 단위에 대해 QOP와 서비스를 변경할 수 있습니다.

RPCSEC_GSS 데이터 유형 및 RPCSEC_GSS에 대한 자세한 내용은 rpcsec_gss(3N) 매뉴얼 페이지를 참고하십시오.