용어집

sgcWebSockets, sgcSign 및 sgcBiometrics 문서 전반에서 사용되는 네트워킹, 실시간 프로토콜, 암호학 및 인증 용어에 대한 정의예요. 각 항목은 해당되는 RFC 또는 사양에 연결되어 있어요.

WebSocket
단일 TCP 연결을 통한 양방향, 전이중 메시징 프로토콜이에요. RFC 6455에서 표준화되었어요. sgcWebSocketClient / sgcWebSocketServer가 MQTT, AMQP, STOMP, WAMP 및 커스텀 서브프로토콜의 전송 계층으로 사용해요.
RFC 6455
IETF 사양 "The WebSocket Protocol" — 핸드셰이크, 프레이밍, 제어 프레임 및 종료 핸드셰이크를 정의해요. datatracker.ietf.org/doc/html/rfc6455을 참조하세요.
HTTP/2
스트림 멀티플렉싱, 헤더 압축 및 서버 푸시를 통해 지연 시간을 줄이도록 설계된 HTTP의 두 번째 주요 버전이에요. RFC 9113에서 표준화되었어요.
RFC 9113
"HTTP/2" — RFC 7540을 대체하는 통합 사양이에요. 프레임 유형, 스트림 멀티플렉싱, 흐름 제어, HPACK을 통한 헤더 압축 및 업그레이드 협상 규칙을 정의해요.
HPACK
HTTP/2용 헤더 압축으로 RFC 7541에 정의되어 있어요. 정적 테이블, 동적 테이블 및 허프만 코딩을 사용하여 각 HTTP/2 스트림의 헤더 오버헤드를 줄여요.
RFC 7541
"HPACK: Header Compression for HTTP/2." HTTP/2 엔드포인트에서 사용되는 바이너리 인코딩 규칙, 인덱싱된 헤더 참조 및 동적 테이블 크기 협상을 명시해요.
ALPN
Application-Layer Protocol Negotiation으로, RFC 7301에 정의된 TLS 확장이에요. 클라이언트가 TLS 핸드셰이크 중에 애플리케이션 프로토콜(예: "h2", "http/1.1")을 알려서 서버가 하나를 선택할 수 있도록 해요.
RFC 7301
"Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension." TLS를 통한 HTTP/2 협상에 사용되는 ALPN 확장을 정의해요.
HTTP/3
TCP 대신 QUIC 위에서 실행되는 HTTP의 세 번째 주요 버전이에요. RFC 9114에서 표준화되었어요. head-of-line 블로킹을 제거하고 TLS 1.3을 전송 계층에 통합해요.
QUIC
RFC 9000에 정의된 UDP 기반의 멀티플렉싱되고 안전한 전송 프로토콜이에요. HTTP/3을 운반하며 연결 마이그레이션, 0-RTT 및 통합된 TLS 1.3을 제공해요.
MQTT
Message Queuing Telemetry Transport — 제약된 기기를 위한 경량 발행-구독 프로토콜이에요. 두 가지 주요 버전이 프로덕션에서 사용되고 있어요: 3.1.1과 5.0.
MQTT 3.1.1
2014년에 발행된 OASIS 표준이에요. 세 가지 QoS 레벨, 리테인 메시지 및 Last Will and Testament와 함께 원래의 CONNECT/PUBLISH/SUBSCRIBE 흐름을 정의해요. OASIS MQTT 3.1.1을 참조하세요.
MQTT 5.0
2019년에 발행된 OASIS 표준이에요. 3.1.1 위에 사용자 속성, 이유 코드, 토픽 별칭, 공유 구독, 세션 만료 및 향상된 인증을 추가해요. OASIS MQTT 5.0을 참조하세요.
QoS (Quality of Service)
MQTT 메시지 전달 보장이에요. QoS 0 — 최대 1회(보내고 잊기). QoS 1 — 최소 1회(PUBACK으로 확인). QoS 2 — 정확히 1회(4단계 핸드셰이크: PUBLISH, PUBREC, PUBREL, PUBCOMP).
리테인 메시지
브로커가 저장하고 토픽 필터가 일치하는 모든 새 구독자에게 전달하는 MQTT 메시지예요. 토픽당 하나의 리테인 메시지가 있으며, 리테인 플래그와 함께 길이가 0인 페이로드를 게시하면 지워져요.
Last Will and Testament (LWT)
CONNECT 시에 등록되는 MQTT 메시지로, 연결이 비정상적으로 닫힐 경우 브로커가 클라이언트를 대신해 게시해요. 존재 감지 및 연결 해제 알림에 사용돼요.
브로커
발행-구독 프로토콜(MQTT, AMQP, STOMP)의 중앙 서버예요. 발행자로부터 메시지를 받고 구독과 비교하여 일치시킨 후 구독자에게 전달해요.
토픽
메시지가 발행되는 채널을 식별하는 슬래시로 구분된 계층적 문자열이에요. 구독자는 토픽 패턴으로 필터링해요.
와일드카드 토픽
+(단일 레벨 와일드카드) 또는 #(다중 레벨 와일드카드, 마지막 세그먼트여야 함)를 포함하는 MQTT 토픽 필터예요. 예: sensors/+/temperature은 한 레벨과 일치하고, sensors/#은 모든 하위와 일치해요.
AMQP
Advanced Message Queuing Protocol — 프로덕션에서 사용되는 두 가지 호환되지 않는 주요 버전이 있는 바이너리, 와이어 레벨 메시징 프로토콜이에요: 0-9-1(RabbitMQ 레거시) 및 1.0(OASIS / ISO/IEC 19464).
AMQP 0-9-1
RabbitMQ가 대중화시킨 와이어 프로토콜이에요. direct, fanout, topic 및 headers 교환 유형을 사용한 exchange-queue-binding 모델을 정의해요.
AMQP 1.0
OASIS / ISO 표준(ISO/IEC 19464)이에요. Azure Service Bus, ActiveMQ Artemis 및 SwiftMQ에서 사용되는 피어 투 피어 링크 기반 전송 모델을 정의해요.
STOMP
Simple (또는 Streaming) Text Oriented Messaging Protocol — 모든 언어로 구현 가능하도록 설계된 텍스트 기반 프레임 프로토콜이에요. 버전 1.0, 1.1, 1.2가 있어요. ActiveMQ와 RabbitMQ에서 사용돼요.
WAMP
Web Application Messaging Protocol — 일반적으로 WebSocket을 통해 단일 연결에서 RPC와 Pub/Sub 패턴을 결합해요. wamp-proto.org에 정의되어 있어요.
WebRTC
Web Real-Time Communications — 브라우저급 피어 투 피어 미디어 및 데이터 API예요. NAT 통과를 위해 ICE를, 미디어 암호화를 위해 DTLS-SRTP를, 데이터 채널을 위해 SCTP-over-DTLS를 사용해요.
SDP
Session Description Protocol로, RFC 8866에 정의되어 있어요. WebRTC offer/answer 교환 내에서 미디어 스트림, 코덱 및 ICE 후보를 설명하는 데 사용돼요.
ICE
Interactive Connectivity Establishment — 후보 주소 쌍(호스트, 서버 반사형, 릴레이형)을 수집하고 각 쌍에 대해 연결 확인을 수행하는 NAT 통과 프레임워크예요. RFC 8445에 정의되어 있어요.
STUN
Session Traversal Utilities for NAT — 호스트의 공인 IP 및 포트 매핑을 발견하기 위한 프로토콜이에요. RFC 8489에 명시되어 있어요.
RFC 8489
"Session Traversal Utilities for NAT (STUN)." 현재 개정판이며 RFC 5389를 대체해요.
TURN
Traversal Using Relays around NAT — 피어 투 피어 경로가 실패할 때 서버를 통해 미디어를 릴레이하는 STUN 확장이에요. RFC 8656에 명시되어 있어요.
RFC 8656
"Traversal Using Relays around NAT (TURN): Relay Extensions to STUN." 현재 개정판이며 RFC 5766을 대체해요.
RTCPeerConnection
두 피어 간의 연결을 나타내는 W3C WebRTC API 표면이에요. 로컬 및 원격 SDP, ICE 상태 및 미디어 트랙을 보유해요. sgcWebSockets는 브라우저 API를 미러링하는 Delphi 컴포넌트(TsgcWebRTCPeerConnection)를 제공해요.
DTLS
Datagram Transport Layer Security — UDP 스타일의 비신뢰 전송에 맞춰 조정된 TLS예요. WebRTC가 SRTP 키 교환에 사용해요. 현재 버전: DTLS 1.3.
RFC 9147
"The Datagram Transport Layer Security (DTLS) Protocol Version 1.3." 최신 DTLS 사양이에요.
TLS 1.2
Transport Layer Security 1.2로, RFC 5246에 정의되어 있어요. 널리 배포되어 있으며 TLS 1.3으로 마이그레이션하지 않은 HTTP/2 엔드포인트에서 여전히 필요해요.
TLS 1.3
Transport Layer Security 1.3, 현재의 주요 TLS 개정판이에요. 레거시 암호 스위트를 제거하고 forward secrecy를 요구하며 0-RTT 재개를 지원해요. RFC 8446에 명시되어 있어요.
RFC 8446
"The Transport Layer Security (TLS) Protocol Version 1.3."
JWT
JSON Web Token — 서명된 클레임을 운반하는 컴팩트하고 URL 안전 토큰 형식이에요. RFC 7519에 정의되어 있어요. 무상태 인증에 사용돼요.
RFC 7519
"JSON Web Token (JWT)." 클레임 세트, 헤더 형식 및 직렬화 규칙을 명시해요.
JWS
JSON Web Signature로, RFC 7515에 정의되어 있어요. JWT에서 사용하는 서명 메커니즘이에요(header.payload.signature).
JWE
JSON Web Encryption으로, RFC 7516에 정의되어 있어요. 암호화된 JWT를 생성하는 데 사용되는 암호화 메커니즘이에요.
OAuth 2.0
제3자 애플리케이션이 사용자의 자격 증명을 공유하지 않고도 사용자의 리소스에 대한 제한된 접근을 얻을 수 있도록 하는 권한 부여 프레임워크예요. RFC 6749에 정의되어 있어요.
RFC 6749
"The OAuth 2.0 Authorization Framework." 네 가지 핵심 권한 부여 유형, 액세스 토큰 / 리프레시 토큰 모델 및 권한 부여 엔드포인트 / 토큰 엔드포인트 계약을 정의해요.
PKCE
Proof Key for Code Exchange — 퍼블릭 클라이언트에 대한 권한 부여 코드 가로채기 공격을 완화하는 OAuth 2.0 확장이에요. RFC 7636에 정의되어 있어요. 이제 모든 OAuth 2.1 클라이언트에 필수예요.
RFC 7636
"Proof Key for Code Exchange by OAuth Public Clients."
OAuth Authorization Code grant
웹 및 네이티브 애플리케이션에서 사용하는 브라우저 리다이렉트 OAuth 흐름이에요. 클라이언트는 권한 부여 엔드포인트에서 코드를 받고 (PKCE와 함께 서버 측에서) 토큰 엔드포인트에서 토큰으로 교환해요.
OAuth Client Credentials grant
클라이언트가 자체 자격 증명(사용자 없음)으로 인증하여 백엔드 서비스 호출용 액세스 토큰을 얻는 머신 투 머신 OAuth 흐름이에요.
OAuth Device Authorization grant
입력이 제약된 기기(TV, CLI 도구)용 OAuth 흐름이에요. RFC 8628에 정의되어 있어요. 사용자가 보조 기기에서 인증하는 동안 기기는 토큰 엔드포인트를 폴링해요.
OAuth Resource Owner Password grant
클라이언트가 사용자의 이름과 비밀번호를 직접 수집하여 토큰 엔드포인트로 보내는 레거시 OAuth 2.0 흐름이에요. OAuth 2.1에서는 authorization-code + PKCE를 선호하여 사용이 중단되었어요.
OAuth Refresh Token
액세스 토큰과 함께 반환되는 장기 토큰이에요. 사용자에게 다시 프롬프트를 표시하지 않고 새 액세스 토큰을 얻기 위해 토큰 엔드포인트에서 사용돼요.
DPoP
Demonstration of Proof-of-Possession — 액세스 토큰을 클라이언트 보유 키 쌍에 바인딩하여 베어러 토큰 도난을 완화하는 OAuth 2.0 메커니즘이에요. RFC 9449에 정의되어 있어요.
OpenID Connect
OAuth 2.0 위에 구축된 신원 계층으로, 표준화된 UserInfo 엔드포인트 및 검색 문서와 함께 액세스 토큰과 함께 서명된 ID Token(JWT)을 반환해요.
WebAuthn
플랫폼 인증자 또는 로밍 보안 키로 뒷받침되는 공개 키 자격 증명을 사용한 비밀번호 없는 인증을 위한 W3C 웹 인증 API예요.
FIDO2
WebAuthn과 브라우저와 외부 인증자 간에 사용되는 CTAP(Client-To-Authenticator Protocol)를 합친 FIDO 얼라이언스 우산이에요.
U2F
Universal 2nd Factor — 2단계 인증 보안 키를 위한 원래의 FIDO 프로토콜이에요. FIDO2 / CTAP2로 대체되었지만 레거시 YubiKey에서는 여전히 지원돼요.
Server-Sent Events (SSE)
Content-Type: text/event-stream을 사용하는 HTTP를 통한 간단한 텍스트 기반의 단방향 스트리밍 프로토콜이에요. WHATWG HTML 표준의 일부예요. 실시간 알림 및 AI 스트리밍 응답에 사용돼요.
Socket.IO
WebSocket 위의 고수준 라이브러리(HTTP 롱 폴링 폴백 포함)로, 룸, 네임스페이스, 자동 재연결 및 바이너리 지원을 제공해요. 원시 WebSocket과는 별개의 와이어 프로토콜이에요.
SignalR
원래 ASP.NET용이었던 Microsoft의 실시간 라이브러리예요. WebSocket, Server-Sent Events 또는 롱 폴링을 전송으로 사용하며 내장된 허브 기반 RPC와 자동 전송 협상을 갖고 있어요.
SignalR Core
ASP.NET Core용으로 재설계된 SignalR이에요. 클래식 SignalR과는 다른 와이어 프로토콜을 사용해요 — 클라이언트는 일치하는 서버 버전을 타겟팅해야 해요.
Pusher
채널 및 프레즌스 시맨틱을 갖춘 호스팅 실시간 메시징 서비스예요. sgcWebSockets는 형식화된 Pusher 클라이언트 컴포넌트를 제공해요.
MCP (Model Context Protocol)
LLM 기반 호스트 애플리케이션에 서버의 도구, 리소스 및 프롬프트를 노출하기 위해 Anthropic이 도입한 오픈 프로토콜이에요. sgcWebSockets는 MCP 클라이언트(TsgcWSAPIClient_MCP)와 서버(TsgcWSAPIServer_MCP)를 모두 제공해요.
Cloud HSM
클라우드 서비스(예: AWS CloudHSM, Azure Dedicated HSM, Google Cloud HSM)로 임대되는 Hardware Security Module이에요. 키는 절대 HSM을 떠나지 않으며 서명 작업은 원격으로 수행돼요.
eIDAS
Electronic Identification, Authentication and Trust Services — Qualified Electronic Signatures(QES), Qualified Trust Service Providers 및 QES와 자필 서명의 법적 동등성을 정의하는 EU 규정(910/2014, 2024/1183에 의해 업데이트됨)이에요.
코드 서명
운영 체제와 사용자가 실행하기 전에 출처와 무결성을 확인할 수 있도록 실행 파일, 라이브러리 또는 설치 프로그램에 디지털 서명을 적용하는 거예요. Windows는 Authenticode를 사용하고, macOS는 codesign을, Java는 jarsigner를 사용해요.
ClickOnce 서명
ClickOnce .NET 애플리케이션을 위한 Microsoft의 배포 매니페스트 서명이에요. Authenticode 인증서로 애플리케이션 매니페스트와 배포 매니페스트에 서명해요.
NuGet 서명
소비자가 패키지의 출처를 확인할 수 있도록 .nupkg 파일에 PKCS#7 작성자 또는 저장소 서명을 추가하는 거예요. 서명된 패키지의 nuget.org 등록에 필요해요.
VSIX 서명
Visual Studio 갤러리가 출처를 확인할 수 있도록 OPC(Open Packaging Conventions) 서명을 사용하여 Visual Studio Extension(.vsix) 패키지에 서명하는 거예요.
Windows Hello
Windows 10 및 11의 Microsoft 생체 인증 / PIN 로그인 기능이에요. Windows Biometric Framework와 플랫폼 자격 증명 공급자 위에 구축되었어요.
Windows Biometric Framework
공통 API 뒤에 생체 인증 센서를 추상화하는 Windows 커널 모드 + 사용자 모드 프레임워크예요. sgcBiometrics는 WBF(Winbio*) 위에 직접 구축돼요.
IOCP
I/O Completion Ports — Windows의 확장 가능한 비동기 I/O 프리미티브예요. sgcWebSockets Enterprise 에디션은 수만 개의 동시 WebSocket 연결로 확장되는 Indy 스타일 IOCP 서버를 제공해요.
EPOLL
Linux의 확장 가능한 I/O 이벤트 알림 기능이에요. sgcWebSockets Enterprise 에디션은 IOCP 설계와 일치하는 EPOLL Linux64 서버를 제공해요.
HTTP.SYS
Windows 커널 모드 HTTP 리스너(IIS 및 Windows Communication Foundation에서 사용)예요. Enterprise HTTP.SYS 서버는 높은 처리량을 위해 커널에 URL 접두사를 등록해요.
OpenSSL
널리 배포된 오픈 소스 TLS/암호화 라이브러리(libssl + libcrypto)예요. sgcWebSockets는 OpenSSL 1.0.2/1.1.1과 현재 OpenSSL 3.x를 모두 지원해요.
SChannel
Secure Channel — OS에 통합된 Microsoft Windows TLS/SSL 공급자예요. sgcWebSockets는 Windows에서 OpenSSL의 대안으로 SChannel을 지원해요. 재배포할 DLL이 없어요.
gRPC
HTTP/2 스트림을 통해 Protocol Buffers를 사용하는 현대적이고 계약 우선 RPC 프레임워크예요. unary, server-streaming, client-streaming 및 bidirectional-streaming 호출을 지원해요.
Server Push
서버가 클라이언트가 요청하기 전에 리소스(PUSH_PROMISE)를 클라이언트로 보낼 수 있도록 하는 HTTP/2 메커니즘이에요. 이제 Chromium 기반 브라우저에서는 기본적으로 비활성화되어 있지만 sgcWebSockets는 백엔드 간 사용을 위해 여전히 지원해요.
멀티플렉싱
단일 전송 연결을 통해 여러 독립 스트림을 운반하는 거예요. HTTP/2는 하나의 TCP 연결을 통해 스트림을 멀티플렉싱하고, HTTP/3는 전송 계층에서 head-of-line 블로킹 없이 하나의 QUIC 연결을 통해 스트림을 멀티플렉싱해요.
헤더 압축
반복되는 HTTP 헤더의 와이어상 바이트 비용을 줄이는 거예요. HTTP/2는 HPACK을 사용하고, HTTP/3은 QPACK을 사용해요. 둘 다 최근 사용된 헤더 필드의 연결별 동적 테이블에 의존해요.
흐름 제어
발신자가 수신자를 압도하지 못하도록 방지하는 메커니즘이에요. HTTP/2에는 WINDOW_UPDATE 프레임에 의해 구동되는 스트림별 및 연결별 흐름 제어 윈도우가 있어요.
Keep-alive
중간 장치를 통해 연결을 유지하고 죽은 피어를 감지하기 위해 주기적으로 보내지는 프로브 프레임이에요. WebSocket은 PING/PONG 제어 프레임을 사용하고, MQTT는 구성된 KeepAlive 간격으로 PINGREQ/PINGRESP를 사용해요.
CoAP
Constrained Application Protocol — 제약된 기기를 위한 RESTful, UDP 기반 프로토콜이며 선택적인 DTLS를 지원해요. RFC 7252에 명시되어 있어요.
RCON
Source Remote Console — Counter-Strike, Garry's Mod 및 유사한 게임 서버에서 사용되는 Valve / Source 엔진 원격 관리 프로토콜이에요. sgcWebSockets는 형식화된 RCON 클라이언트를 제공해요.

정의가 필요한 용어가 있나요?

저희가 다루지 않은 용어를 찾으셨나요? 메모를 보내 주시면 추가할게요.