Идентификация по серийному номеру hdd, либо процессора, материнской платы, в принципе возможна.
попадались скрипты, достающие эти серийники из железа, либо формирующие уникальный id, по картине системного окружения.
Но конечно, такую проверку проще делать прогрммкой-клиентом, устанавливаемым самим пользователем у себя в системе.
Однако, нет таких клиентов, которые не могут быть изучены и пропатчены.
если же без клиента - то только используя дыры и уязвимости, которые обычно используют вирусы. Тоесть, такая проверялка будет по сути троян, засылаемый в систему пользователя, с целью идентифицировать его. конечно он безвреден, но скорее всего, рано или поздно, будет блокироваться защитным по.
Были ещё интересные данные, о возможности удалённой уникальной идентификации любого компьютера, по особым параметрам каких-то задержек в импульсах синхронизации (не помню уже точно), - видимо речь шла, об индивидуальных различиях компьютеров, в формируемых сетевых пакетах...
А вообще, тема надёжной уникальной идентификации, весьма актуальна и интересна.
Помню, весьма неплохая уникальная идентификация, была сделана в php-чате Дмитрия Бородина.
Когда я в ней разобрался, оказалось, что просматриваются традиционные пути установки виндовс, пути расположения стандартных папок системы, и нахождения стандартных файлов. эта информация собиралась, + информация о дате их создания.
И из этого формировалась половина id компьютера, по которому и банили надёжно.
В принципе, тогда ничего не мешало, таким же путём, получить и содержимое любых текстовых (и возможно не очень) файлов в системе.
Но, работал чат лишь в IE, и то, с обновлением браузера, эта возможность была прикрыта.