[네트워크] SUNAPI CCTV RTSP 인증

yeonji·2023년 5월 22일
0

SUNAPI - CCTV RTSP 인증(Authentication)

RTSP는 RFC 2326을 준수하며 RFC 2096(Digest Method)을 사용하여 사용자에게 권한을 부여합니다.

RFC 2326

RFC 2096

RTSP 통신 절차는 다음과 같습니다.
1. 응용 프로그램(클라이언트)은 Authorization(인가) 헤더가 없는 DESCRIBE 메서드를 제공합니다.

DESCRIBE 메소드

  • 클라이언트가 RTSP URL을 이용하여 해당 콘텐츠 파일의 명세(description)을 서버에 요청하는 메소드
DESCRIBE rtsp://streaming.june.com:554/81100/00001/81100_00001.skm RTSP/1.0
CSeq: 1
Accept: application/sdp
X-RPS-Start-Request: 0-
Accept-Language: en-KR

Accept

  • 헤더 필드, 클라이언트가 지원하는 설명형식을 서버에게 알려줌
  • Accept:application/sdp 클라이언트가 SDP(Session Description Protocol) 형식을 지원함
  • 클라이언트는 서비스 도중에 접속이 끊어지면, X-RPS-Start-Request 필드에 이어받기 원하는 Byte 위치를 기록하여 서버로 요청함. 이때, 0-는 콘텐츠 파일의 처음부터 스트리밍 전송을 요청하기 위한 정보임
  1. 네트워크 카메라(서버)가 401(무허가) 상태 코드로 응답합니다. 이 때 WWW-Authenticate에 MD5 인증 정보를 보여주는 응답 헤더가 포함되어 있습니다.

서버는 사용자에게 사용자 이름과 비밀번호를 제공하라는 지시의 의미로 401 상태 정보와 함께 요청을 반려함. 서버에는 각각 다른 비밀번호가 있는 영역들이 있을 것이므로, 서버는 WWW-Authenticate 헤더에 해당 영역을 설명해 놓음

WWW-Authenticate

  • HTTP WWW-Authenticate 응답 헤더는 특정 리소스에 대한 액세스 권한을 얻는 데 사용할 수 있는 HTTP 인증 방법을 정의함
  • realm은 요청 받은 문서 집합의 이름을 따옴표로 감싼 것으로 사용자는 이 정보를 보고 어떤 비밀번호를 사용해야 하는지 알 수 있음
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="basic.auth.com"
  1. 응용 프로그램은 주어진 MD5 정보를 사용하여 Authorization request 헤더를 생성한 다음
    Authorization request 헤더를 포함하여 DESCRIBE 메서드를 다시 제공합니다.

Authorization request 헤더
서버의 사용자 에이전트임을 증명하는 자격을 포함하여, 보통 서버에서 401(Unauthorized) 상태를 WWW-Authenticate (en-US) 헤더로 알려준 이후에 나옴

기능 구현 관련 참고 링크
https://developer-ai.tistory.com/14

profile
한 줄 소개

0개의 댓글