Qual è l'ID hardware o la chiave migliore, la più esclusiva (e non modificabile) per ogni computer? [chiuso]

0

Sono un programmatore C # e sto cercando il modo migliore per "sapere" su quale hardware è in esecuzione il mio software. Qual è il migliore "id hardware" non modificabile e unico in ogni computer?

    
posta Ben L 20.01.2015 - 03:09
fonte

1 risposta

2

Niente è "non modificabile"; ciò che la scienza può creare, la scienza può replicare con finanziamenti e tempo sufficienti, in particolare con un campione.

La cosa più vicina che otterrai ragionevolmente è un dongle crittografico, qualcosa come una smartcard che offri il tuo software, dopo aver generato le chiavi su detta smart card prima della spedizione. Se ottieni un modulo FIPS 140-2 convalidato che ha un livello globale di 4, questo è il migliore di cui sono a conoscenza negli Stati Uniti.

Potresti non sapere quale hardware stia effettivamente eseguendo il tuo software, ma avrai una certa quantità di certezza che qualunque cosa stia verificando tramite

  • Il server invia all'app un messaggio crittograficamente casuale
  • App firma il messaggio con la chiave privata della smartcard
    • ECC 256 bit o superiore o RSA 2048 bit o superiore
    • che hai generato prima della tua spedizione
  • L'app invia la firma al tuo server
  • Il tuo server convalida la firma con la chiave privata di quella smartcard

, infatti, ha prontamente a disposizione la smartcard.

Avrai bisogno di capire come fornire le carte sostitutive, naturalmente.

E dovrai spendere dei soldi. La versione economica di questo utilizza qualcosa come un prodotto yubico e rinuncia alla certificazione FIPS, che ai livelli più alti include protezioni fisiche contro manomissioni nascoste e nascoste ( ad esempio, riempiendo l'interno con una colla strong, quindi è molto difficile aprirlo, cambiarlo e rimetterlo insieme senza lasciare segni).

    
risposta data 20.01.2015 - 05:32
fonte

Leggi altre domande sui tag