А как же всякие удостоверяющие центры, трехузловые аутентификации (или как они там называются) и все такое?
Наверняка же должен быть способ.
Например, можно обязать смарт-карту подписывать только те документы, которые отправлены сервером. Для этого документ до подписывания смарт-картой должен быть подписан сервером (удостоверяющим центром)