일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 그레이들
- 알고리즘
- network
- TypeScript
- Algorithm
- Redux
- LeetCode
- Python
- Graph
- 프로그래머스
- db
- 안드로이드
- DFS
- VIM
- 리트코드
- 자바
- react
- Data Structure
- 백준
- frontend
- 다이나믹 프로그래밍
- git
- Database
- BFS
- 동적 계획법
- java
- DP
- vscode
- Javascript
- CS
- Today
- Total
목록Computer Science/Network (13)
늘 겸손하게
로드 밸런싱 (Load Balancing) 둘 이상의 CPU, 저장 장치, 서버와 같은 컴퓨터 자원들에게 작업을 나누는 것 요즘 시대에는 웹 사이트에 접속하는 인원이 급격히 늘어나게 되었고 이 모든 접속 트래픽을 1대의 서버로 감당하기는 어려워졌다. 이에 대한 대응책으로 'Scale-up'과 'Scale-out'이 있다. Scale-up : 하드웨어의 성능을 올리는 것 Scale-out: 여러대의 서버가 나눠서 일하도록 만드는 것 하드웨어 향상 비용은 비싸고, 서버 여러대면 무중단 서비스를 제공하는 환경 구성이 용이하므로 Scale-out이 효과적이다. 이때 여러 서버에게 균등하게 트래픽을 분산시켜주는 것이 바로 로드 밸런싱 로드 밸런서가 서버를 선택하는 방식 라운드 로빈 (Round Robin) : C..

TLS/SSL HandShake HTTPS에서 클라이언트와 서버간 통신 전 SSL 인증서로 신뢰성 여부를 판단하기 위해 연결하는 방식 진행 순서 1. 클라이언트는 서버에게 'client hello' 메시지를 담아 서버로 보낸다. 이때 암호화된 정보를 함께 담는데, '버전', '암호 알고리즘', '압축 방식' 등을 담는다. 2. 서버는 클라이언트가 보낸 암호 알고리즘과 압축 방식을 받고, 세션 ID와 CA 공개 인증서를 server hello 메시지와 함께 담아 응답. 이 CA 인증서에는 앞으로 통신 이후 사용할 대칭키가 생성되기 전, 클라이언트에서 handshake 과정 속 암호화에 사용할 공개키를 담고 있다. 3. 클라이언트 측은 서버에서 보낸 CA 인증서가 유효한 지 CA 목록에서 확인하는 과정을 진..
HTTP (HyperText Transfer Protocol) 인터넷 상에서 클라이언트와 서버가 데이터를 주고 받을 때 쓰는 통신 규약. HTTP는 텍스트 교환이므로, 누군가 네트워크에서 신호를 가로채 내용이 노출되는 보안 이슈가 존재. 이런 보안 문제를 해결해주는 프로토콜이 'HTTPS'. HTTPS (HyperText Transfer Protocol Secure) 인터넷 상에서 정보를 암호화하는 SSL(Secure Socket Layer) 프로토콜을 사용해 텍스트로 이루어진 HTTP를 암호화한 프로토콜. HTTPS는 텍스트를 공개키 암호화 방식으로 암호화한다. HTTPS 통신 흐름 애플리케이션 서버 (A)를 만드는 기업은 HTTPS를 적용하기 위해 공개키와 개인키를 만든다. 신뢰할 수 있는 CA 기업..
대칭키 (Symmetric Key) 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘 동일한 키를 주고받기 때문에, 매우 빠르다는 장점이 있다. 하지만 대칭키 전달과정에서 해킹 위험에 노출된다. 공개키(Public Key) / 비대칭키(Asymmetric Key) 암호화와 복호화에 사용하는 암호키를 분리한 알고리즘 대칭키의 키 분배 문제를 해결하기 위해 고안됨. 대칭키는 송수신자만이 알아야하여 분배가 복잡하고 어려운 문제가 존재. 공개키와 비밀키로 분리할 경우, 남들이 알아도 되는 공개키만 공개하면 되므로 키 분배 문제가 없음. 자신이 가지고 있는 고유한 암호키(비밀키)로만 복호화할 수 있는 암호키(공개키)를 대중에 공개함 공개키 암호화 방식 진행 과정 A가 웹 상에 공개된 'B의 공개키'를 이..