Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - HardLock alternativa
Forum - Tutto e di + - HardLock alternativa

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:12
Lunedì, 26/01/2015
Una domanda ragazzi.

Credete che Arduino Nano possa essere usato come una chiave HardLock?

Per chi non sapesse cosa sia un HardLock.

HardLock è una chiave usb o parallela dove all'interno viene memorizzato un file chiave che viene letto dal software.
ovviamente per l'utente è impossibile leggerne il contenuto perché viene visualizzato come un driver e non come un
dispositivo di archiviazione.

Si potrebbe fare la stessa cosa con un arduino nano o simili?


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 17:33
Lunedì, 26/01/2015
Risposta breve, assolutamente no; risposta lunga no con un ma... l'ATmega328P non puo gestire l'universal serial bus, ne come host ne come device, se vuoi andare su dispositivi che permettono la gestione USB devi passare a dei micro leggermente più complessi come l'ATmega32U4 montato sul Arduino Leonardo, ma in questo caso hai comunque la limitazione di poter operare solo come Device, quindi quello che vuoi fare tu rimane impossibile. Potresti andare su AVR molto piu evolutoti, si passa alle CPU a 32bit, rimarrebbe il codice da compilare, già complicato se si vuole simulare una semplice porta COM, pensa a doverla gestire dalla parte dell'host.
Io sinceramente che sto riscrivendo tutte le librerie Arduino in C cercando di renderle molto piu leggere e preformanti, ho rinunciato all'idea di riscrittura della libreria USB, magari è un progetto che riprenderò in avanti.
Il lavoro che vuoi fare tu è possibile se si passa attraverso degli integrai adattati a questo scopo, ma non so se ne troverai, se no puoi ripiegare su un microcontrollore basato su ARM o direttamente su una Raspberry pi, dove puoi caricare dei firmware che gestiscono gia di loro le USB.

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 17:34
Lunedì, 26/01/2015
Arduino monta un integrato che fa da convertitore USB-seriale, quando installi i driver per arduino nel PC di sviluppo stai in realtà installando quei driver. Siccome quando connetti arduino una nuova porta seriale è rilevata credo proprio che una libreria per la gestione della porta seriale possa permetterti di comunicare con il software caricato su arduino (come fa il terminale seriale integrato nell'IDE arduino). Tuttavia, se vuoi utilizzare qualcosa di diverso ti posso dire che microcontrollori come il PIC18F2550 hanno un modulo USb nativo che ti permette di inviare e ricevere dati via USB, al momento comunque non ho notizie sul lato PC come dovresti procedere.

Ultima modifica effettuata da TheDarkJuster il 26/01/2015 alle 17:36
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:52
Lunedì, 26/01/2015
credevo che si poteva fare.

Semplicemente perché vedendo alcuni video sulla domotica di arduino,
Alcuni creano dei software che comunicano con la scheda.

L'HardLock credo che faccia la stessa cosa.
Ovvero.  Inivia continuamente un segnale che potrebbe essere di qualsiasi stringa, o byte.

il software confronta se i dati ricevuti sono uguali ed allora permette l'utilizzo del software.

(Credo che HardLock si comporti in questo modo. Altrimenti chiedo scusa )




Testo quotato



Dongle o Hardlock è un dispositivo esterno collegato a un computer , utilizzato per limitare l' uso di un particolare programma.1 . Le vecchie versioni utilizzate la porta seriale o parallela del computer . Attualmente , viene utilizzata una connessione USB , di solito in forma di una chiavetta USB .

Un dongle è usato per prevenire l'uso di copie non autorizzate di un particolare software proprietario ( pirateria ) , dal momento che il programma funziona solo di rilevare correttamente la presenza del dispositivo di computer . Comunemente provvisto applicazioni restrittive costosi e per l'elevato grado di specificità mercati , viene utilizzata anche sui server , è garantire il contratto temporaneo per utilizzare il software come arbitrariamente limitare l'uso del sistema a un numero limitato di utenti .

Anche se è una tecnica efficace limitazione per gli utenti laici , ha difetti ampiamente sfruttate da malintenzionati per eseguire copie non autorizzate . Una delle tecniche più utilizzate per eludere i restriçãoes dongle è il bypass della scansione del dispositivo , in cui le direttive di attuazione del programma condizionato ( l'esistenza del dongle) sono sostituiti da un salto nella routine di avvio . E 'quindi un dispositivo costoso diretta solo a specifiche applicazioni non comunemente utilizzate da sviluppatori indipendenti o lavorare nello sviluppo software on-demand per il datore di lavoro stesso.



Ultima modifica effettuata da Thejuster il 26/01/2015 alle 17:56


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 18:38
Lunedì, 26/01/2015
Il problema non è l'hardlock il problema è la gestione dell'USB, è un protocollo molto complicato anche se puo non sembrare da come lo usiamo tutti i giorni, per garantirci questa semplicità di utilizzo ad alto livello quello che c'è a livello fisico e di gestione non deve essere per niente semplice, anche perché più che un classico bus come l'i2c è piu simile a una rete Ethernet per quanto riguarda la comunicazione.
Se ti appoggi ad un microcontrollore che possa gestire la parte host e disponga di librerie gai preconfezionate, la gestione non è cosi tremenda, sto lavorando giusto in questo momento su una comunicazione seriale tra un ATmega328P e un PC mediante seriale, è ti assicuro che non c'è niente di difficile, tranne i bit di errore dati dal convertitore USB scadente che sto usando.

PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6230
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 19:04
Lunedì, 26/01/2015
Secondo me si può; detto questo, la tua specifica di "impossibile leggerne il contenuto" non è fattibile. Se un utente ha un pò di esperienza si può sempre fare il dump del contenuto della flash. Poi se la chiave viene letta da software, beh, allora è ancora più semplice perchè basta andare a leggerla usando lo stesso metodo usato dal software.

Usa semplicemente un Arduino e invia la chiave tramite Serial (magari dopo che il software invia la richiesta per averla). http://arduino.cc/en/reference/serial

Poi leggi dal tuo software tramite la VCOM. http://m.instructables.com/id/Interfacing-your-arduino-wit ...


Il mio blog: https://piero.dev
PM Quote
Avatar
Roby94 (Member)
Guru


Messaggi: 1170
Iscritto: 28/12/2009

Segnala al moderatore
Postato alle 19:30
Lunedì, 26/01/2015
The Juster, ti chiedo scusa, ma avevo interpretato malissimo la domanda, credevo che volessi usare una chiavetta HardLock con un Arduino Nano, invece vuoi sostituire la chiavetta con un Arduino, scusami l'errore di distrazione.
Allora il problema non c'è ma come sottolinea Piero il livello di sicurezza è quello che è, puoi regolare l'Arduino per mandare sulla UART una sequenza binaria ripetuta in loop e da PC leggerla mediante porta COM, fai riferimento alla classe SerialPort se programmi mediante C# e o VB.net
La conversione da UART a USB è gestita interamente dal FTDI presente sul Arduino, quindi ti devi accontentare dei loro driver e della simulazione della porta seriale, non molto di più.

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 20:44
Lunedì, 26/01/2015
Dopo ore di ricerca sono giunto alla conclusione che se usi un pic con la capacità di usare l'usb nativamente dal dato PC puoi interfacciarti con quel pic via libusb. Come ho già detto a un'altra persona in questo forum NON esiste una applicazione "sicura" che non funzioni su un tuo PC o sul PC di chi ha interesse che la applicazione rimanga "sicura". I dati inviati/ricevuti via USB sono sempre leggibili, e anche se non lo fossero anche la memoria di un calcolatore lo è, quindi non esiste niente di sicuro in questo senso. Però puoi sempre usare i dati che ti arrivano dalla usb come chiave per accedere a dati cifrati con AES o twofish, volendo potresti anche cifrare la chiave che arduino ti manda al pc, queto dovrebbe essere abbastanza come protezione verso dati sensibili.

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2298
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 10:33
Martedì, 27/01/2015
Ok grazie ragazzi.
Si infatti era proprio questo che volevo fare.

L'arduino invia una serie di byte che sarebbero
La chiave di un algoritmo per decifrare la licenza in memoria nel programma.

Cosi in questo modo renderebbe impossibile il funzionamento
Del software senza l'arduino nano.





https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo