2010-01-20 3 views
2

나는 게임 서버 플러그인을 작성하고 그것을 제어하기위한 웹 인터페이스를 작성 중이다. 게임 서버의 GetPacket() 함수를 우회하여 내 웹 패널에서 사용자 지정 패킷을 보내고 GetPacket()을 사용하여 해당 패킷을 해석 할 것을 고려 중입니다. 내 유일한 관심사는 분명히 공개 데이터를 보내고 싶지 않기 때문에 보안입니다. 패킷 암호화가 PHP 스크립트와 C++ 응용 프로그램 사이에서 이루어지는 한 무엇을 읽을 수 있습니까?PHP/C++에서 사용자 정의 패킷 암호화

답변

1

당신은 약간의 어려운 영토에 들어서 있습니다. 이 게시물에 대한 나의 첫 번째 반응은 아마도 암호화가 필요 없다는 것입니다. 사용자는 비밀을 유지할 수 없습니다. 사용자는 디버거를 사용하여 GetPacket()에 전달 된 모든 데이터를 매우 쉽게 얻을 수 있습니다.

그러나 네트워크의 다른 사람들로부터 비밀을 유지해야하는 경우 암호화를 사용해야합니다. VERY을 사용하여 안전하고 간단하게 이미 모든 사람이 사용할 수있는 것을 사용해야합니다 : OpenSSL. 약 30 달러에 PHP 코드를 실행하는 서버에 대한 실제 SSL 인증서를 구입할 수 있습니다. 그런 다음 C++ OpenSSL 라이브러리를 사용하여 HTTPS를 통해 연결할 수 있습니다.

+0

일반적으로 전달되는 대부분의 데이터는 명령 일뿐입니다. 내가 할 수있는 일은 IP가 항상 스푸핑 될 수 있다고 생각하지만 데이터가 웹 서버에서 왔는지 확인하기 위해 몇 가지 검사를 추가하는 것입니다. 내 주된 걱정은 웹 서버가 게임 서버에서 명령을 실행할 수있게하고, 누군가가 웹 서버의 IP 주소를 스푸핑하고 패킷을 다시 만들면 사용자를 제어 할 수있게됩니다. 섬기는 사람. 사용자가 정보를 얻는 것에 대해 걱정하지 않아도됩니다. 사람들이 그 길을 따라 잡는 것을 원하지 않습니다. –

+0

정확한 공격을 막기 위해 SSL이 구축되었습니다. 실제 SSL 인증서가있는 경우 OpenSSL은 인증서가 실제로 서버에 속하는지 확인합니다. 누군가가 DNS와 같은 유명한 공격을 사용하여 도메인 이름을 리디렉션하면 OpenSSL 연결에 오류가 발생하고 클라이언트 측 연결이 끊어 질 수 있습니다. 따라서 이것은 귀하의 필요에 완벽하게 들립니다. – rook

관련 문제