게임서버프로그래밍 #7 - 패킷핸들링 및 암호화

5
게임 서버 프로그래밍 패킷핸들링, 패킷암호화 NHN NEXT

Upload: seungmo-koo

Post on 22-Jul-2015

414 views

Category:

Software


0 download

TRANSCRIPT

Page 1: 게임서버프로그래밍 #7 - 패킷핸들링 및 암호화

게임서버프로그래밍

패킷핸들링, 패킷암호화

NHN NEXT

Page 2: 게임서버프로그래밍 #7 - 패킷핸들링 및 암호화

Packet Handling

• 패킷 직렬화/역직렬화– 왜 하는가?

– 관련 라이브러리 없이 한다면 어떻게?

– 관련 라이브러리에는 어떤 것이 있는가?

• 각각의 장/단점

• Google Protobuf– 패킷으로 활용하려면 어떻게?

• 패킷 헤더용 데이터를 삽입/추출 가능한가?

– MyPacket.proto 샘플 제공

– 게임 서버용으로 바로 쓰기에는 치명적인 단점이 있다던데!!

• 그 단점이 무엇이고 어떻게 해결 가능할까?

Page 3: 게임서버프로그래밍 #7 - 패킷핸들링 및 암호화

Diffie-Hellman 키 교환 프로토콜

• 이건 무엇이고, 게임 서버에서 어떻게 쓰이나?

• 동작 원리는?

Page 4: 게임서버프로그래밍 #7 - 패킷핸들링 및 암호화

Packet Cryptography

• 대칭키 방식의 암호화와 비대칭키 방식의 암호화– 개념과 동작 원리

– 각각 게임 서버에서 어떻게 쓰일까?

• 스트림 방식의 암호화란?– 개념은?

– 왜 사용?

– RC4, AES256의 경우 C++에서 사용 방법

Page 5: 게임서버프로그래밍 #7 - 패킷핸들링 및 암호화

• 구현과제– Google protobuf를 활용한 패킷 핸들링

• https://github.com/zeliard/GSP/tree/master/Homework7

– 암호화 구현 과제 (추가 보너스)

• DH로 서버-클라이언트간 키를 교환하고 RC4로 패킷 암호화

• 덤프분석 과제 #2– https://github.com/zeliard/GSP/tree/master/CrashDumpFixHom

ework