12가지 API 보안 강화 전략

2024. 5. 7. 13:15· 개발/WEB

https://www.youtube.com/watch?v=6WZ6S-qmtqY

ByteByteGo의 API 보안 강화를 위한 12가지 팁

 

 

위 영상은 ByteByteGo에서 제시한 12가지 API 보안을 강화하는 전략에 대한 영상이다.

영상에서 소개한 그 방법 12가지를 정리해보았다!

 

1) Use HTTPS

  • HTTPS란?
    • HTTPS는 HTTP에 SSL/TLS 보안 프로토콜을 적용한 것으로 데이터가 전송되는 동안 암호화되어, 클라이어느와 서버 간에 안전하게 데이터를 전송할 수 있도록 해준다.
    • 암호화는 데이터가 도난, 도청(Eavesdropping), 변조(Man-in-the-Middle,MiTM) 되는 것을 방지하며, 이는 사용자의 개인정보, 로그인 자격증명 및 기타 민감한 정보를 안전하게 유지하는 역할을 한다.
  • 언제 사용하는가?
    • 내부 인트라넷 망이 아닌이상, API를 통해 데이터를 전송할 때는 항상 HTTPS를 사용하는 것이 좋다.
  • 어떻게 사용하는가?
    • https://sds9429.tistory.com/2

 

 

SSL/TLS 인증

1. [SSL디지털 인증서?] SSL 인증서는 클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서다. 클라이언트가 서버에 접속한 직후에 서버는 클라이언트에게 이 인증서 정보를 전달한다

sds9429.tistory.com

 

2) Use OAuth2

  • OAuth2.0이란?
    • OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고, 다른 웹사이트를 접속할 때 자신들의 정보에 대해 웹사이트나 다른 어플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 제 3자 클라이언트가 사용자의 접근 권한 위임을 위한 개방형 표준 프로토콜이다.
  • 언제 사용하는가?
    • 우리의 서비스가 우리 서비스를 이용하는 유저의 타사 플랫폼 정보에 접근하기 위한 권한을 타사 플랫폼으로부터 위임 받을때 사용한다.
    • 예를 들어, 네이버페이를 이용하기 위해, 클라이언트의 네이버 계정정보를, 구글 캘린더 정보를 가져오기 위해, 구글의 계정 정보를 가져올때 사용된다.
  • 어떻게 사용하는가?
    • https://sds9429.tistory.com/9
 

OAuth란?

회원가입이나 로그인이 필요한곳 어디든 Google, Naver, Kakao, twiter등 외부 계정을 기반으로 간편히 회원가입 및 로그인 할 수 있는 웹,앱 어플리케이션을 쉽게 찾아볼 수 있다. 이때 사용 되는 프로

sds9429.tistory.com

 

3) Use WebAuthn

  • WebAuthn이란?
    • 웹 기반 API로, 웹 사이트가 로그인 페이지를 업데이트하여 지원되는 브라우저 및 플랫폼에서 FIDO 기반 인증을 추가할 수 있도록 한다.
    • 웹 서비스와 앱은 해당 인증을 사용하면, 생체 인식, 모바일 디바이스 및 또는 FIDO 보안 키를 통해 사용자에게 더 쉬운 로그인 환경을 제공할 수 있으며, 비밀번호만 사용하는 것보다 훨씬 더 높은 보안을 제공한다.
    • FIDO의 높은 보안성은 모든 웹사이트에서 고유하고, 사용자의 온디바이스 형태로 암호화 로그인 자격증명을 사용한다. 이 보안 모델은 피싱, 모든 형태의 비밀번호 도용 및 리플레이 공격의 위험을 제거한다.
  • 언제 사용하는가?
    • 사용자가 비밀번호를 기억하거나 입력할 필요 없이, 더 빠르고 안전하게 로그인하길 원할 때
    • 기존 인증방식 + 추가로 보안강화를 원할때
  • 어떻게 사용하는가?
    1. FIDO Authenticator(FIDO 지원 Device가 내장된 Module 또는 외부 인증장치)에 사용자 등록을 하여, Private-Key와 Public-key를 생성한다.
    2. Public-key는 FIDO Server에 보내진다. Private-key는 FIDO Authenticator의 Secure Key Store 영역에 안전하게 보간되어진다.
    3. 사용자가 로그인 할 때, 웹서버는 사용자의 FIDO Authenticator로 인증 요청을 보낸다. FIDO Authenticator는 사용자의 동의(uaf,ctap1,ctap2 등)를 받아, Private-Key를 사용하여 요청을 서명하고, 이 서명을 웹사이트로 전송한다.
    4. 웹 서버는 받은 서명을 사용자의 공개키로 검증하여, 인증을 완료한다. 이 과정에서 개인정보는 전송되지 않으므로, 보안이 유지된다.

 

 

추가 전략 추후 작성

 

 

'개발 > WEB' 카테고리의 다른 글

디바운싱과 쓰로틀링  (0) 2024.06.20
OAuth란?  (0) 2024.05.02
SSE(Server-Sent-Events)  (0) 2024.04.15
세션, 쿠키 그리고 토큰의 차이점  (0) 2024.04.11
SSL/TLS 인증  (0) 2024.04.11
'개발/WEB' 카테고리의 다른 글
  • 디바운싱과 쓰로틀링
  • OAuth란?
  • SSE(Server-Sent-Events)
  • 세션, 쿠키 그리고 토큰의 차이점
SUSEOL
SUSEOL
SSU의 코딩블로그 :)SUSEOL 님의 블로그입니다.
SUSEOL
SSU의 코딩블로그 :)
SUSEOL
전체
오늘
어제
  • 분류 전체보기 (17)
    • 개발 (16)
      • DevOps (4)
      • Backend (0)
      • Frontend (1)
      • RDBMS (2)
      • WEB (6)
      • 디자인 패턴 (2)
      • 오픈소스 (1)
      • 사이드 프로젝트 (0)
    • 잡잡잡잡설 (1)
    • 회사분석 (0)
    • 한줄메모 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • transaction
  • ci/cd
  • Authorization
  • 지속적인 통합
  • oAuth
  • TLS
  • RDBMS
  • 팩토리 패턴
  • 추상
  • Jenkins
  • XSS
  • Factory Pattern
  • 보안
  • 자동배포
  • restapi
  • API 보안
  • 디자인 패턴
  • SSL
  • OAuth2.0
  • Authentication

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
SUSEOL
12가지 API 보안 강화 전략
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.