본문 바로가기
반응형

프로그래밍/네트워크39

HTTPS의 동작 원리에 대해서 HTTPS (HTTP over SSL)HTTPS(HyperText Transfer Protocol Secure)는 HTTP 프로토콜에 암호화 프로토콜을 사용하여 통신을 암호화한 HTTP의 보안 버전이다. HTTPS는 데이터 전송의 보안을 강화하기 위해 사용한다. 모든 웹 사이트에 HTTPS가 권장되지만, 특히 로그인 자격 증명이 필요한 웹사이트는 HTTPS를 사용해야 한다. 우리가 접속하는 웹사이트가 https://~ 로 시작한다면, 웹 서버로 데이터가 암호화되어 안전하게 전달됨을 의미한다. HTTP를 사용하여 데이터를 전송한다면, 데이터는 쉽게 스니핑 할 수 있는 데이터 패킷으로 나뉘어 가기 때문에 보안 위험에 노출될 수 있다. HTTPS를 사용하면 패킷을 스니핑하거나 가로챈다고 해도 암호화된 문자가 .. 2024. 8. 28.
현존 최강의 암호화 알고리즘 RSA RSA 암호화 알고리즘컴퓨터 연산 과정의 한계를 이용해서 만든 최강의 보안 RSA는 세 명의 수학자인 로널드 라이베스트(Ron Rivest), 아디 샤미르(Adi Shamir), 레너드 애들먼(Leonard Adleman)이 만들었다. 현존 최강인 만큼 전 세계 보안 유지 기업에서 RSA를 사용한다.당연하게도, 금융기관에서 사용하는 RSA는 슈퍼 컴퓨터로도 풀어낼 수 없다. (혹은 매우 오랜 시간이 걸린다.) 이제 RSA의 원리에 대해서 알아보자. 우선 RSA는 비대칭키 암호이다. 비대칭키란 공개키 암호(Public-key Encryption)이라고도 하며, 암호화, 복호화에 서로 다른 키를 사용하는 알고리즘을 말한다. 정리하자면, 암호화할 때 공개키(public key)를 사용하고 복호화할 때 개인키(.. 2024. 8. 27.
HTTPS 통신을 위한 자체 인증 SSL 인증서 만들기 전반적인 과정OpenSSL 다운로드Private Key 생성인증서 요청(CSR) 파일 생성(private.csr)자체 서명하기 위해서 rootCA 생성자체 서명한 인증서 생성(private.crt)pem 확장자로 변환NGINX config 파일에서 해당 파일 위치 지정OpenSSL 다운로드아래의 링크를 통해서 OpenSSL을 설치하도록 하자. Win32/Win64 OpenSSL Installer for Windows - Shining Light ProductionsMinimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP o.. 2024. 8. 26.
IOCP 입출력 완료 포트 생성 및 연결 그리고 입출력 과정 CreateIoCompletionPort()CreateIoCompletionPort() 메서드는 두 가지 역할을 한다. 하나는 입출력 완료 포트를 새로 생성하는 일이고, 다른 하나는 소켓과 입출력 완료 포트를 연결하는 일이다. 소켓과 입출력 완료 포트를 연결해 두면 해당 소켓에 대한 비동기 입출력 결과가 입출력 완료 포트에 저장된다. HANDLE WINAPI CreateIoCompletionPort( _In_ HANDLE FileHandle, // IOCP와 연결할 파일 핸들이나 소켓, INVALID_HANDLE_VALUE값 전달시 신규 생성 _In_opt_ HANDLE ExistingCompletionPort, // 연결할 IOCP 핸들, NULL이면 새 IOCP 생성 _In_ .. 2024. 8. 7.
MTU와 MSS란? MTU(Maximum Transmission Unit) 최대 전송 단위MTU(Maximum Transmission Unit)는 패킷 또는 프레임 기반의 네트워크에서 전송될 수 있는 최대 크기의 패킷 또는 프레임을 가리킨다. Ethernet 환경에서는 Ethernet 헤더와 트레일러를 제외한 값이다. 즉, Ethernet에서 MTU 값은 1500byte이다. Ethernet 프레임 헤더와 트레일러는 제외되며, 이는 인터페이스가 1500byte보다 큰 프레임을 전달할 수 없다는 것을 의미한다. Window의 기본 MTU는 1500byte로 설정되어 있다. CMD 창에 아래의 코드를 치면 확인이 가능하다.  라우터를 거치다보면 특정 라우터에서 MTU를 1500보다 작게 보내야 하는 경우가 발생할 수 있다. 그.. 2024. 2. 5.
공인 IP와 사설 IP에 대해서 공인 IP(Public IP, Global IP)인터넷 사용자의 로컬 네트워크를 식별하기 위해 인터넷 서비스 공급자(ISP)가 제공하는 IP 주소.공인 IP는 전 세계에서 유일한 IP주소를 갖으며 외부에 공개되어 있기 때문에 인터넷에 연결된 다른 PC로부터의 접근이 가능하다. 따라서 공인 IP 주소를 사용하는 경우에는 방화벽 등의 보안 프로그램을 설치할 필요가 있다. 사설 IP(Private IP, Local IP)일반 가정이나 회사 내에서 할당된 네트워크 IP 주소이고 로컬 IP라고도 불린다.IPv4 주소 부족으로 인해 서브넷팅된 IP이기 때문에 라우터에 의해 로컬 네트워크상의 PC나 장치에 할당된다.사설 IP 주소는 다음과 같이 3가지 주소 대역으로 고정되며, 그외의는 공인 IP라고 볼 수 있다. C.. 2024. 2. 1.