반응형
SMALL

Computer Science/컴퓨터네트워크(ComNet) 31

[컴네/CN] WLAN, Cellular

Wireless and Mobile Networks 무선 선이 없는 네트워크로 Wifi, Bluetooth, Zigbee, NFC가 있다. 선이 없다는 것은 이동성을 보장하는 것이 아니다. - Zigbee Iot 통신 시 주로 사용하는 것으로 가전제품 또는 음식물 쓰레기 통에서도 사용한다. 이러한 IoT 통신은 파워를 적게 쓰는 것이 요구사항이므로 대부분 파워를 적게 사용한다. 따라서 직비 통신은 저전력 통신 중 하나다. - Bluetooth 최근에 LP 모드로 업데이트하여 저전력으로 통신이 가능해졌다. - NFC 교통카드에서 사용하는 통신 방법이다. 이동 무선 + 단말기의 이동성을 합쳤다. 휴대폰과 같은 단말기는 이동성이 가장 큰 요구사항이다. 따라서 무선임을 가정하는데, 유선도 이동성이 있을 수 있지..

[컴네/CN] WebRTC

웹기반 실시간 통신: 화상회의 플러그인 없이 웹 브라우저에서 음성/영상/P2P를 공유 가능하게 하는 Open Source project다. 화상회의는 보통 P2P 방식을 사용한다. 그런데 우리는 보통 노트북이나 스마트폰을 이용하여 화상회의를 진행하는데, 이러한 단말기들은 공유기 밑에서 연결되어 있다. 그러나 공유기는 사설 ip 주소로 직접 통신이 되지 않기 때문에 공인 ip 주소로 서로 다른 단말기가 통신하는데, 때문에 공유기와 NAT를 잘 알고 있어야 한다. 공유기를 통과하는 기술인 STUN, TURN, ICE와 NAT tarversal 기술은 필수적이다. 화상회의 시 각 단말기들은 공유기 밑이기 때문에 공유기를 포트포워딩하여 포트 번호를 동록해야 통과할 수 있다. 위 통신은 실제 웹에서 이뤄지기 때문..

[컴네/CN] Nodejs

Nodejs 서버 소프트웨어를 개발하는 플랫폼으로 자바 스크립트 기반이다. 내장 HTTP 서버 라이브러리 환경으로 웹 서버 개발 시 브라우저 바깥에서 서버를 개발할 수 있다. v8로 빌드된 이벤트 기반 자바 스크립트 런타임을 가지고 있으며, v8은 c++ 기반이므로 JS를 돌리는 환경이 c++이기 때문에 런타임이 짧다. I/O 처리 성능이 우수한데, non-blocking, single thread, 비동기적으로 프로그래밍 하여 콜백이나 디버깅이 어렵다는 특징이 있다. var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'});..

[컴네/CN] Multimedia

인터넷 멀티미디어 스트리밍 프로토콜 인터넷 멀티미디어 스트리밍 프로토콜은 유튜브와 같은 미디어에서 스트리밍 시 필요한 기술이 여러 가지가 있다. 신호 - SIP/SDP 시작과 관련된 프로토콜이다. 오디오/비디어 전송과 제어 메세지 전송 - HTTP(HLS,HTTP Live Stream ), RTP/RTMP (최근에는 HLS로 통일) - RTCP/RTMP/RTSP 스트리밍 프로토콜 - RTMP, RTSP 재생, fastforward, rewind 등 DVD와 비슷하다. 실제 요청, 재생 등에 사용되는 프로토콜이다. 실시간 프로토콜 - WebRTC 줌과 같은 화상회의에서 주로 사용한다. 전통적인 프로토콜 - RTP/UDP (비디오 전송) RTP는 UDP 위에서 실제로 데이터를 전송 - RTSP (재생, 멈춤..

[컴네/CN] 암호통신: 방화벽

방화벽(Firewall) 외부에서 내부로 많은 패킷이 이동하는데, 이때 위험하거나 이상한 패킷이 들어올 수도 있다. 사설 네트워크에서 데이터를 받을 때, 일부 패킷은 통과시키고 다른 패킷을 차단시키는 기능을 방화벽이라고 한다. 이러한 방화벽은 안전한 시스템을 구축하기 위한 목적이다. Firewalls: why 이러한 방화벽은 왜 도입되었을까? - 서비스 거부 공격 방지 SYN flooding는 TCP 연결 시 사용되는 SYN 신호를 이용하여 공격하는 방법이다. TCP에서 SYN 신호는 TCP 연결을 생성하겠다는 의미이기 때문에 SYN 하나 당 소켓을 하나씩 사용하게 된다. 따라서 SYN 신호를 계속 전송하여 TCP 연결 요청이 많이 오게 되면 그 서버가 죽을 수도 있다. 지금은 이러한 공격은 운영체제 차..

[컴네/CN] 암호통신: IPSec

IP Sec IP Sec(IP Security)은 IP 패킷 자체를 암호화하는 알고리즘이다. encryption(암호화), authentication(인증), integrity(무결성)를 제공한다. TCP 연결 시 TLS를 사용하여 암호화를 진행하지만, BGP라우터 또는 DNS에 패킷을 가로챌 수 있다. TLS 1.2의 경우 데이터가 암호화되어 내용이 보이진 않지만 SNI 필드로 인해 해당 패킷이 어디를 향하는지 확인할 수 있다. 이러한 상황을 ip단에서 막기 위해 등장하였다. IPSec은 두 가지 모드가 있다. - transport mode PC 사이 즉 호스트 간의 통신 시의 트랜스포트를 암호화한 것이다. 즉, 데이터그램의 페이로드 부분만을 암호화 및 인증한다. - tunnel mode 도메인 간 라..

[컴네/CN] 암호통신: 이메일

기밀성(confidentiality) 메일과 같은 메세지 전송 시 내용을 키를 사용하여 암호화를 진행한다. 메세지 수신자는 메세지의 내용을 읽기 위해 키가 필요한데, 키를 전달하기 위해 공개키 알고리즘을 이용한다. 이때, 메세지의 내용은 개인키 또는 대칭키로 암호화/복호화가 가능하다. 보통은 대칭키를 생성한 후, 이 대칭키로 메세지 내용을 암호화한 후 대칭키를 공개키로 암호화한다. 암호화된 대칭키는 메세지와 함께 전송된다. Secure e-mail: 무결성(integrity), 인증(authentication) 이 시나리오는 무결성과 인증까지 보장하는 시나리오다. 1. 송신자는 메세지를 해시하여 MAC를 획득한다. 2. MAC를 개인키로 암호화한다. (전자서명) 3. 메세지와 서명한 MAC를 대칭키 Ks..

[컴네/CN] 암호통신: 무결성

Digital Signatures 앞 포스트에서 언급했듯이 사용자를 증명하기 위해 전자서명이 사용된다. 그런데, 전자서명으로 인증할 때에 일부 데이터를 해싱하여 사용한다고 언급하였다. 일부 데이터를 해싱 함수에 넣은 결과값을 digest(다이제스트)라고 한다. 디지털 서명을 송신하기 위한 간단한 방법은 아래와 같다. 이 결과값이 수신자와 동일하면 데이터가 손상이 되지 않았다는 의미로 무결성이 보장됐다는 의미이다. 서명된 디지털 문서는 검증이 가능하고, 위조 불가능하다는 특징을 갖고 있다. 서명된 문서를 받은 수신자는 송신자 제외 그 누구로 디지털 문서에 서명하지 않았음을 증명할 수 있다. 메세지 m에 대한 디지털 서명은 송신자의 개인키 암호화가 진행되는데, 송신자의 개인키로 암호화를 진행하는 것이 디지털..

[컴네/CN] 암호통신: 대칭키, 공개키

암호(cryptography) 기초 용어 - m: plaintext message (평문) - KA(m): ciphertext (암호문), 키 KA로 암호화 - m = KB(KA(m)) -> 복호화 암호 깨기 암호문을 전문적으로 깨는 방법(cipher-text only attack)이 존재하는데, 두 가지의 접근 방법이 있다. - brute force 무차별 대입법이라고도 불리는 이 방법은 말 그대로 나올 수 있는 경우의 수들을 모두 대입해보는 방법이다. - statistical analysis 통계적 분석 방법은 쓰이는 알파벳이나 단어들을 우선적으로 대입해보는 방식이다. 그 외에도 아래와 같은 방법이 존재한다. - known-plaintext attack 공격자가 평문(plaintext)과 암호문(ci..

[컴네/CN] 전송 계층 보안, TLS

Transport-layer security (TLS) http 등 응용 계층 등에서 보안이 필요하다. 이런 경우 응용단 하나를 만들 때 암호화 기능 하나씩 생성하면 필요성이 만족된다. 하지만, 표준이 존재하면 각자 암호화를 하는 수고를 덜 수 있는데, 전송 계층에서 사용할 수 있는 보안 표준이 TLS이다. 전송 계층에서의 보안은 여러 가지 응용의 보안을 지원하는데, 온라인 웹에서는 은행, 상거래, 이메일 등에도 구현이 되어 있다. 암호화는 보통 대칭키를 사용한다. 대칭키로 서로 대응되는 암호화 키와 복호화 키를 사용해 암호화를 진행한다. 대칭키를 통해 암호화를 진행하여 데이터의 기밀성이 지켜져야 한다. 암호화가 만족되기 위해서는 데이터에 대해 무결성(integrity)이 지켜져야 한다. 무결성이란 데이..

반응형
LIST