Это невозможно сделать с помощью простого TCP / IP. Вам придется либо придумать какой-нибудь протокол, либо использовать WCF или тому подобное.
Поскольку «соединение» происходит до того, как что-либо может быть отправлено, невозможно отправить учетные данные «вместе с соединением». Вам нужно было бы подключить клиента, получить команду для «Вход в систему», проверить учетные данные и вернуть некоторый уникальный идентификатор, который затем необходимо отправить вместе с каждой командой, чтобы сервер мог проверить, был ли клиент аутентифицирован. Вот как бы я это сделал, если бы WCF не был вариантом.