일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- factory metohd pattern
- madia designer ui design
- 암표거래
- ssh
- 상태다이어그램
- UseCase
- base64
- strucuture charat
- Bandit
- 매크로를 바라보는 시각
- nc reverse shell
- gof design pattern
- 리버스쉘
- prototypepattern 예시 example
- ui 디자인 기본원칙
- 모듈구조도
- fan-in fan-out
- telnet
- 클래스 관계
- 객체 상속 속성 인스턴스 메소드 오퍼레이션
- 구조적 설계
- bandit21
- usecase description
- 소프트웨어공학 디자인패턴
- status diagram
- 디자인패턴
- sofrware architeture
- 팬인과 팬아웃
- 생성패턴 행위패턴 구조패턴
- cron
- Today
- Total
2.log
SSL/TLS 에 대하여 본문
SSL(Secure Sockets Layer)
개인정보 보호, 인증, 데이터 무결성 보장을 위해 Netscape가 개발한 암호화 기반 인터넷 보안 프로토콜
SSL/TSL을 사용하는 웹사이트는 HTTP 대신 HTTPS 가 붙으며 데이터가 모두 암호화 되어 전달되기에 중간에 데이터를 가로채더라도 복호화가 거의 불가능함
TLS(Transport Layer Security)
IETF(Internet Engineering Task Force)에서 SSL에 대한 업데이트를 개발하면서 Netscape는 빠지게 됨
소유권 변경으로 이름이 바뀌고 버전 차이가 있을 뿐 목적과 기능은 동일하다고 볼 수 있음
SSL/TLS 작동원리
- 개인정보 보호를 위해 웹에서 전송되는 데이터를 암호화 함
- 두 통신 장치 사이에 *핸드셰이크라는 인증 프로세스를 시작해 두 장치의 ID 확인함
- 데이터 무결성을 제공하기 위해 데이터에 디지털 서명을 함(데이터가 도착 전 조작되었는지 확인 가능)
* Handshake : 정상적인 통신 하기 전, 통신을 하는 브라우저와 웹 서버가 서로 암호화 통신을 시작할 수 있도록 신분환인하는 과정/방식
SSL/TLS 핸드셰이크
HTTPS 웹에 처음 연결할 때 진행되며, 핸드셰이크 단계는 클라이언트와 서버에서 지원하는 암호화 알고리즘, 키교환 알고리즘에 따라 달라지는데 일반적으로 RSA 키 교환 알고리즘(공개키방식) 사용
RSA 키 교환 알고리즘 순서
- 클라이언트에서 서버로 메시지 전송하면서 핸드셰이크 시작 (메시지에는 TLS버전, 암호화 알고리즘, 무작위 바이트 문자열 포함)
- 서버 > 클라이언트 응답 (서버의 SSL인증서, 선택한 암호화 알고리즘, 서버에서 생성한 무작위 바이트 문자열 포함한 메시지 전송)
- 인증 (클라이언트가 서버의 SSL 인증서를 인증 발행기관에 검증)
- 클라이언트에서 무작위 바이트 문자열을 공개키로 암호화한 premaster scret key를 서버로 전송
- 서버가 개인키 사용해 premaster scret key 복호화 함
- 세션 키 생성 (클라이언트와 서버가 생성한 무작위 키, premaster secret key를 통해 세션 키 생성, 양쪽 동일한 키 생성되어야 함)
- 클라이언트에서 세션키로 암호화된 완료 메시지 전송
- 서버에서도 세션키로 암호화된 완료 메시지 전송
- 핸드세이크 완료
SSL/TSL 인증서
SSL은 SSL인증서가 있는 웹사이트만 실행할 수 있고 이 인증서 발급기관은 CA(Certificate Authority)라고 함
인증서에는 공개키가 포함되며 이 공개키로 암호화 이루어 짐
(클라이언트의 요청이 공개키로 암호화 되어 서버에 전송, 서버에서는 개인키로 데이터 복호화)
인증서 종류와 유형
적용되는 도메인 개수에 따른 유형
- 단일 도메인(single domain) : 단 하나의 도메인에만 적용 가능한 인증서 (www.naver.com)
- 와일드카드(wild card) : 단일 도메인 인증서처럼 하나의 도메인에만 적용되지만, 그 도메인의 하위 도메인도 포함 (www.naver.com, blog.naver.com, developers.naver.com)
- 멀티 도메인(multi domain) : 관련되지 않은 여러 도메인에 적용 가능한 인증서
유효성검사 수준에 따른 유형
- 도메인 유효성 검사 : 가장 널널하고 저렴한 수준, 기업은 도메인 관리 여부만 증명하면 됨
- 조직 유효성 검사 : 인증서 발급 시 CA가 담당자나 기업에 인증서 직접 문의
- 확장 유효성 검사 : CA가 조직의 실제 존재여부 확인(사업자 등록, 주소지 유효성 확인), 시간과 비용 多
출처
https://www.cloudflare.com/ko-kr/learning/ssl/what-is-ssl/
https://kanoos-stu.tistory.com/46
'HACKING > Bandit+' 카테고리의 다른 글
HeartBleed 취약점에 대하여 (0) | 2023.03.26 |
---|---|
netstat 상태값과 옵션 정리 (0) | 2023.03.26 |
NAS 와 NDMP에 대하여 (0) | 2023.03.24 |
Telnet 과 SSH (0) | 2023.03.24 |
공개키(비대칭) 암호와 RSA 에 대하여 (0) | 2023.03.23 |