local e, p1, p2, p3, p4, p5 = os.pullEvent( "rednet_message" )
and returns p1, p2, and p3.The problem with this lies in the rednet.send() function; rednet.send() uses the Peripheral API to actually send messages
peripheral.call( sSide, "transmit", nRecipient, os.getComputerID(), sMessage )
Looking at this function call, we can tell the function just calls os.getComputerID() when sending the message to get the sender's ID. This means we can easily change the fourth parameter to any ID, and the ID of the sender would be spoofed when received
peripheral.call( sSide, "transmit", nRecipient, 1337, sMessage )
or even broadcast the message
peripheral.call( sSide, "transmit", 65535, 1337, sMessage )
Just make sure you open the modem on the side first
rednet.open( sSide )
tl;dr?
Don't rely on the sender's ID to authenticate your Rednet messages in multiplayer environments.