Skip to content

[Feat] VPN 서버에 Enclave 암호화 통합 #13

@BYEONGHWALEE-dev

Description

@BYEONGHWALEE-dev

목표

VPN 서버 메인 프로세스에 Enclave를 통합하여 암호화된 통신을 구현합니다.

배경

  • ✅ Enclave 프로세스 구현 완료
  • ✅ IPC 클라이언트 구현 완료
  • ✅ 암호화/복호화 테스트 완료
  • ⏸️ VPN 서버 통합 필요

작업 내용

1. Enclave 자동 시작/종료

  • VPN 서버 시작 시 Enclave 프로세스 자동 시작
  • Enclave IPC 연결
  • 서버 종료 시 Enclave 정리

2. ECDH 핸드셰이크 통합

  • CONNECT_REQ 처리 시 ECDH 수행
  • 서버 공개키를 CONNECT_RESP에 포함
  • 세션키를 Enclave에 저장

3. 암호화된 데이터 전송 (UDP → TUN)

  • UDP에서 암호문 수신
  • Enclave를 통해 복호화
  • 평문을 TUN에 전달

4. 암호화된 데이터 전송 (TUN → UDP)

  • TUN에서 평문 수신
  • Enclave를 통해 암호화
  • 암호문을 UDP로 전송

5. 에러 처리

  • Enclave 연결 실패 처리
  • 복호화 실패 처리 (잘못된 패킷)
  • Enclave 재시작 로직

6. 테스트

  • 암호화된 PING 테스트
  • 암호화된 DATA 패킷 테스트
  • 양방향 암호화 통신 검증

성공 조건

✅ VPN 서버가 Enclave 자동 시작
✅ 클라이언트 연결 시 ECDH 핸드셰이크 성공
✅ UDP → TUN 복호화 정상 작동
✅ TUN → UDP 암호화 정상 작동
✅ 암호화된 양방향 통신 검증

관련 이슈

참고 사항

  • Enclave가 없으면 서버 시작 실패
  • 복호화 실패 시 패킷 드롭 (로그 기록)
  • 클라이언트는 서버 공개키로 ECDH 수행 필요

---

## 브랜치 생성

### **브랜치명:**

feature/7-vpn-enclave-integration

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions