Есть несколько вариантов аутентификации. Как вы указали, вы можете использовать сертификат SSL для проверки того, что клиент - это тот, кем вы себя считаете (предпочтительно SHA2 или выше).
Вы также можете белый список по IP , как вы также упоминали. Это может вызвать проблемы позже, если существует несколько клиентов или их IP-адреса изменились.
С WCF вы также можете использовать Пользовательское имя пользователя и пароль для проверки , где клиент передает имя пользователя и пароль в запросе.
Я думаю, что если у вас нет возможности использовать аутентификацию Windows, токены были бы другой опцией, хотя и более сложной. Использование SSL или средства проверки имени пользователя, вероятно, проще всего настроить.