본문 바로가기

http

서버의 인증서 유효성 검사 CA(인증기관)이란?디지털 통신 및 거래에 대한 신뢰도를 높이기 위해 디지털 인증서를 발급하는 조직  1. 서버의 인증서 확인이 중요한 이유 - 인터넷에서 클라이언트(사용자)와 서버 간의 데이터 통신은 보안을 필수로 요구- 하지만 서버가 신뢰할 수 있는 대상인지 검증되지 않은 상태에서 통신이 이뤄진다면, 중간자 공격(Man-in-the-Middle Attack)과 같은 보안 위협에 노출- 이를 방지하기 위해 HTTPS 프로토콜은 서버의 인증서를 검증하는 과정을 포함  2. 서버 인증서 확인 과정 a. 서버가 CA에 인증 요청- 서버는 자신의 사이트 정보와 공개키를 CA(인증기관)에 전달- 이 요청은 서버가 자신이 신뢰할 수 있는 기관으로부터 인증받기를 원하는 과정 b. CA에서 인증서 발급- CA는 서버.. 더보기
HTTP & HTTPS HTTP와 HTTPS의 차이 HTTP정의- 클라이언트와 서버 간의 request, response를 주고받는 비연결형 텍스트 기반 통신 프로토콜   특징- 80번 포트 활용 (HTTP 서버가 80번포트에서 요청 대기, 클라이언트가 80번 포트로 요청 전송)- 애플리케이션 계층에서 작동하고, TCP/IP 기반 동작- 비연결성, 무상태성의 특징을 가짐 비연결성- 처음 연결을 맺은 후 요청(Request)과 한번의 응답(Response)이후 연결이 종료- 매 요청마다 재연결해야함 무상태성- 프로토콜에서 Client의 상태를 기억하지 않음- Client의 상태를 보관하기 위해 쿠키나 세션, JWT토큰 등을 이용하여 Client의 상태를 유지  HTTP 메서드 주요 메서드- create, get, put, del.. 더보기
대칭키 & 비대칭키 대칭키 - 하나의 동일한 키를 사용해 데이터를 암호화하고 복호화하는 방식- 송수신자가 동일한 키 공유 대칭 암호화의 예시AES,DES 장점- 속도: 암호화와 복호화에 단일 키를 사용하므로 실행 속도가 더 빠름- 신원 확인: 수신자의 신원을 증명하기 위한 보안 목적으로 비밀번호 인증을 사용- 실행 및 관리: 사용자는 암호화 및 복호화를 위한 키를 하나만 가지고 있으므로 실행하고 관리에 용이- 대량 암호화에 효율적: 속도가 빠르기 때문에 파일, 데이터베이스, 백업 등 대량의 데이터를 암호화하는 데 적합 단점- 키 관리가 어려움- 노출 시, 모든 데이터가 위험함  비대칭키 - 서로 다른 두개의 키(공개키, 비공개키)를 사용하는 방식 공개키- 누구나 사용 가능한 키- 데이터 암호화에 사용비공개키- 오직 키 소유.. 더보기
[iOS] About Cookie/Session 이번 글에선 서버 인증 방식 중, 쿠키와 세션에 대해서 알아보려고 합니다!  🍪 Cookie😄 개념- 클라이언트의 브라우저에 저장되는 작은 데이터 - 주로 세션 ID와 같은 정보 저장😄  특성- 쿠키가 생성된 이후엔 모든 요청마다 서버로 전송- 이름, 값, 만료 날짜, 전송할 경로, HTTPOnly여부 등으로 구성- Key - Value 쌍으로 구성- 하나의 쿠키는 4KB(= 4096바이트 = 512비트 )까지 저장 가능- 도메인 당 20개의 쿠키😄  사용목적- 세션관리: 로그인, 닉네임, 접속 시간 등 저장- 개인화: 유저마다 다르게 유저에게 적절한 페이지 로드- 트래킹: 유저의 행동패턴 분석, 기록🥶  단점- 보안성: 브라우저에 저장되기 때문에, 쿠키 탈취 위험성이 있음- 저장 용량 제한: .. 더보기
[iOS] About Alamofire Alamofire?iOS 및 macOS 애플리케이션에서 네트워크 요청을 간편하게 처리할 수 있도록 도와주는 HTTP 네트워킹 라이브러리입니다.Apple의 기본 네트워킹 프레임워크인 URLSession을 기반으로, 더 쉽게 네트워킹 작업을 처리할 수 있도록 다양한 기능을 제공합니다.RESTful API와의 통신, 파일 업로드/다운로드, JSON 데이터 처리 등과 같은 네트워킹 작업을 간결하고 직관적으로 구현할 수 있습니다. 그렇다면 Alamofire는 어떻게 사용할지 알아보도록 하겠습니다.AF.requset() ....  형태를 기본적으로 갖고있는데요.. 요 request부분을 자세히 확인해보면 기본적으로 네트워크 통신을 하기 위해 필요한 요소들을 확인해볼 수 있습니다.  옵셔널 처리가 돼있는 요소도 있고.. 더보기