범용 보안 서비스 응용 프로그램인터페이스
Generic Security Services Application Program InterfaceGSSAPI(Generic Security Service Application Program Interface)는 프로그램이 보안 서비스에 액세스하기 위한 응용 프로그램프로그래밍 인터페이스입니다
GSSAPI는 현재 사용되고 있는 유사하지만 호환되지 않는 많은 보안 서비스의 문제에 대처하는 IETF 표준입니다.
작동
GSSAPI 자체는 보안을 제공하지 않습니다.대신 보안 서비스 벤더는 GSSAPI 구현을 제공합니다.보통 보안 소프트웨어와 함께 설치된 라이브러리 형태로 제공됩니다.이러한 라이브러리는 벤더에 의존하지 않는 GSSAPI만을 사용하도록 애플리케이션을 작성할 수 있는 애플리케이션 라이터에게 GSSAPI 호환 인터페이스를 제공합니다.보안 구현을 교체해야 할 경우 애플리케이션을 다시 작성할 필요가 없습니다.
GSSAPI 어플리케이션의 최종적인 기능은 상위 어플리케이션에서 구현 세부사항을 숨기는 불투명한 메시지(토큰) 교환입니다.애플리케이션의 클라이언트측과 서버측은, 각각의 GSSAPI 실장에 의해서 주어지는 토큰을 전달하기 위해서 작성됩니다.GSSAPI 토큰은 보통 보안되지 않은 네트워크를 통해 전송될 수 있습니다.이는 메커니즘에 의해 메시지보안이 기본적으로 제공되기 때문입니다.일정 수의 토큰 교환 후 양 끝의 GSSAPI 구현은 보안 컨텍스트가 확립되었음을 로컬애플리케이션에 통지합니다.
보안 콘텍스트가 확립되면 클라이언트와 서버 간의 안전한 통신을 위해 기밀 애플리케이션메시지를 GSSAPI에 의해 랩(암호화)할 수 있습니다.GSSAPI 랩핑에 의해 보증되는 일반적인 보호에는 기밀성(비밀성)과 무결성(인증성)이 있습니다.GSSAPI는 리모트 사용자 또는 리모트호스트의 ID에 관한 로컬 보증을 제공할 수도 있습니다.
GSSAPI는 약 45개의 프로시저 콜을 기술하고 있습니다.중요한 것은 다음과 같습니다.
- GSS_Acquire_cred
- 사용자의 ID 증명(대부분 비밀 암호 키)을 취득합니다.
- GSS_Import_name
- 사용자 이름 또는 호스트 이름을 보안 엔티티를 식별하는 형식으로 변환합니다.
- GSS_Init_sec_context
- 서버에 송신하는 클라이언트토큰(통상은 챌린지)을 생성합니다.
- GSS_Accept_sec_context
- GSS_Init_sec_context에서 토큰을 처리하여 반환할 응답 토큰을 생성할 수 있습니다.
- GSS_랩
- 응용 프로그램 데이터를 안전한 메시지 토큰(일반적으로 암호화됨)으로 변환합니다.
- GSS_랩 해제
- 안전한 메시지 토큰을 응용 프로그램 데이터로 다시 변환합니다.
GSSAPI는 C(RFC 2744) 언어용으로 표준화되어 있습니다.Java는 Java[1] Generic Security Services Application Program [3]Interface인 [2]JGSS로서 GSSAPI를 구현합니다.
GSSAPI에는 다음과 같은 제한이 있습니다.
새로운 보안 메커니즘을 예측하기 위해 GSSAPI에는 네고시에이션 의사 메커니즘인 SPNEGO가 포함되어 있습니다.SPNEGO는 원래 애플리케이션이 구축되었을 때 존재하지 않았던 새로운 메커니즘을 검출하여 사용할 수 있습니다.
Kerberos와의 관계
사용되고 있는 GSSAPI 메커니즘의 주요 실장은 Kerberos입니다.GSSAPI와 달리 Kerberos API는 표준화되지 않았으며 다양한 기존 구현에서 호환되지 않는 API를 사용합니다.GSSAPI를 사용하면 Kerberos 구현에 API 호환성이 있습니다.
관련 테크놀로지
주요 개념
- 이름.
- 보안 주체(예: 사용자 또는 서비스 프로그램)에 레이블을 지정하는 이진 문자열입니다. 액세스 제어 및 ID를 참조하십시오.예를 들어 Kerberos는 user@와 같은 이름을 사용합니다.사용자와 service/hostname@을 위한 RERM프로그램 영역.
- 자격 정보
- 신분을 증명하는 정보.기업은 지정된 주체 역할을 하기 위해 사용합니다.인증 정보에는 일반적으로 비밀 암호 키가 포함됩니다.
- 맥락
- 인증/인증 프로토콜의 한쪽 끝 상태.안전한 채널을 구성하는 데 사용할 수 있는 메시지 보호 서비스를 제공할 수 있습니다.
- 토큰
- 초기 인증 프로토콜(콘텍스트 수준 토큰) 또는 보호된 통신(메시지별 토큰)의 일부로 교환되는 불투명한 메시지
- 메커니즘
- 실제 이름, 토큰 및 자격 증명을 제공하는 기본 GSSAPI 구현입니다.알려진 메커니즘에는 Kerberos, NTLM, 분산 컴퓨팅 환경(DCE), SESAMY, SPKM, LIPKEY 등이 있습니다.
- 이니시에이터/수용기
- 첫 번째 토큰을 송신하는 피어가 발신측이고, 다른 한쪽이 수신측입니다.일반적으로 클라이언트 프로그램이 이니시에이터이고 서버가 수락자입니다.
역사
- 1991년 7월: John Linn 주도로 애틀랜타에서 IETF Common Authentication Technology(CAT) 워킹그룹 회의 개최
- 1993년 9월: GSSAPI 버전 1(RFC 1508, RFC 1509)
- 1995년 5월: Windows NT 3.51 출시 (SSPI 포함)
- 1996년 6월: GSSAPI의 Kerberos 메커니즘(RFC 1964)
- 1997년 1월 : GSSAPI 버전2 (RFC 2078)
- 1997년 10월: SASL 발표, GSSAPI 메커니즘 포함(RFC 2222)
- 2000년 1월: GSSAPI 버전2 업데이트 1 (RFC 2743, RFC 2744)
- 2004년 8월 : KITT 워킹그룹, CAT 활동 계속
- 2006년 5월: GSSAPI의 시큐어 셸 사용 표준화(RFC 4462)
「 」를 참조해 주세요.
레퍼런스
- ^ "JSR-000072 Generic Security Services API Specification 0.1". 2001-06-15. Retrieved 2015-10-07.
- ^ Schönefeld, Marc (2010). Refactoring of Security Antipatterns in Distributed Java Components. Schriften aus der Fakultät Wirtschaftsinformatik und Angewandte Informatik der Otto-Friedrich-Universität Bamberg. Vol. 5. University of Bamberg Press. p. 179. ISBN 9783923507689. Retrieved 2015-10-07.
JGSS is the JAVA implementation of the GSSAPI.
- ^ Fisher, Marina; Sharma, Sonu; Lai, Ray; Moroney, Laurence (2006). Java EE and .NET Interoperability: Integration Strategies, Patterns, and Best Practices. Prentice Hall Professional. ISBN 9780132715706. Retrieved 2015-10-07.
Java Generic Security Services Application Program Interface (JGSS) API for uniform access to security services atop a variety of underlying security mechanism, including Kerberos, which are building blocks for single sign-on and data encryption.
외부 링크
- RFC 2743 범용 보안 서비스 API 버전2 업데이트 1
- RFC 2744 범용 보안 서비스 API 버전2: C-Bindings
- RFC 1964 Kerberos 5 GSS-API 메커니즘
- RFC 4121 Kerberos 5 GSS-API 메커니즘:버전 2
- RFC 4178 단순하고 보호된 GSS-API 네고시에이션메커니즘(SPNEGO)
- RFC 2025 간이 공개키 GSS-API 메커니즘(SPKM)
- RFC 2847 LIPKEY - SPKM을 사용한 저인프라스트럭처 공개키 메커니즘
- "Common Authentication Technology Next Generation (kitten)". Internet Engineering Task Force. September 2013.
- Sun Microsystems (2002). "GSS-API Programming Guide — Sun Solaris 9". Oracle Corporation.
- Oracle Corporation (2020). "Writing Applications That Use GSS-API — Oracle Solaris 11.4, Developer's Guide to Security".