Download

Where to implement engine level network encryption?

Hi, I am a student working on a master’s thesis about information security in video games. The premise of the project is to implement different kinds of information security solutions in a video game setting to see what sort of performance hit this will cause and if any is actually viable for use in a video game environment.

I’m currently focusing on network encryption. I would prefer to implement network encryption covering all network communications on an engine level, so that I can test the performance of some different test projects with and without my additions. But I struggle a bit to find where and how UE4 handles its networking stream, and where a good point for implementing network encryption and decryption would be. I would be forever grateful for any help or pointers, or potential documentation that could be helpful to find an implementation point and understanding the network structure of the engine.

Thanks for your time.

https://docs.unrealengine.com/latest/INT/Gameplay/Networking/ for highlevel point of view

Then put a breakpoint in

bool FSocketBSD::Send(const uint8* Data, int32 Count, int32& BytesSent)
or
bool FSocketBSD::Recv(uint8* Data, int32 BufferSize, int32& BytesRead, ESocketReceiveFlags::Type Flags)

and start analyzing.

A better place to start would probably be EncryptionHandlerComponent.h, or the PacketHandler module in general, as such a thing already exists in unreal engine.