|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
[unpo'-OT] Un sistema di comunicazione cifrato
Ehila raga...
per il progetto di maturità, in questi 9 mesi ho creato una specie di sistema operativo in grado di ricetrasmettere via onde radio dei messaggi (tali e quali agli sms ma di lunghezza di 256 caratteri) cifrati con un algoritmo che mi sono inventato di sana pianta (a dire il vero mi sono ispirato un po' al DES). Detto così sembra un po' una cosa del cavolo ma vi assicuro che non lo è... il sistema gira su un microcontrollore AVR Atmel ed è scritto in assembly, quindi estremamente ottimizzato. Mi è venuta l'idea di consegnare il codice sorgente, la manualistica che ho scritto e tutta la documentazione raccolta alla comunità open source, ma non so né come né a chi. Se a qualcuno interessa potrei pubblicare qualche fotografia e qualche schema. Il sistema di chiama CubOS ed è arrivato alla versione 2.6, per poter essere commercializzato avrebbe bisogno di ulteriori e facili ampliamenti. Beh per ora vi dico che il sistema di input è una comunissima tastiera PS/2 interfacciata in modalità unidirezionale. Beh, fatemi sapere se a qualcuno interessa!! Ah, come devo fare per rilasciare il programma sotto una licenza che comunque tuteli la paternità del mio progetto? Tanto per fare ho creato anche una applicazione di debugging e di emulazione. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
![]() questo è il programma emulatore, ci sarebbero problemi a pubblicare i sorgenti di questo programma che ho fatto con delphi per motivi che ora non sto a spiegare... cmq funziona anche su wine |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
![]() questi sono i due apparecchi... beh fatemi sapere tramite questo thread se avete delle idee o se a qualcuno interessa la documentazione |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Malmö (Svezia) - Copenhagen
Messaggi: 962
|
hehehe... cazzutissimo!! Bella proprio.
La cosa migliore secondo me é che apri un progetto su Sourceforge o freshmeat, che sono i grandi repository e punti di incontro per lo sviluppo di software OpenSource. Se magari metti su pure un sito di supporto dove spieghi il + chiaramente possibile gli scopi e i possibili sbocchi pratici, sono sicuro che troverai un branco di ner... ehm... programmatori Dal punto di vista della paternitá, penso che rilasciarlo in GPL ti protegga: se non erro, chiunque utilizzi codice rilasciato solo tale licenza é libero di utilizzarlo per i propri progetti, a patto di citare la propria "fonte di ispirazione" e di rilasciare a sua volta il proprio codice sotto la medesima licenza. Allo stesso tempo una tale scelta non ti limita nel caso un giorno volessi provare a fare dei soldi sulla tua idea (a patto ovviamente di mantenere il codice sotto GPL)... insomma... in fondo é come Linux: tutti sono liberi di usarlo e migliorarlo, e tutti sanno che il papá é Thorvalds... no? In bocca al lupo.
__________________
http://www.francescoinsvezia.net Il mio blog scandinavo! aka "La mia vita fra la gnokka"
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
descrizione del progetto:
[..]CubOS, è un’apparecchio estremamente compatto in grado di trasmettere o ricevere informazioni testuali attraverso onde radio con modulazione FSK ad una frequenza di 433,92MHz. Il testo, o CSM (Coded Simple Message) ha il grandissimo vantaggio di poter essere cifrato tramite una password scelta dall’utilizzatore. Questo è il più grande punto di forza del sistema, il quale viene reso estremamente sicuro per qualsiasi scambio di informazioni critiche o strettamente private, attraverso un mezzo di trasporto, l’aria, intrinsecamente molto poco affidabile.[..] ...da una pagina del manuale: CubOS viene alimentato da una batteria Transistor 9V attraverso il classico connettore standard ed è in grado di gestire: - Microcontrollore AVR Atmel AT90S8535 con Vcc da 2,7V a 5,5V - Tastiera PC in standard AT/PS2 di qualsiasi marca +5V – 20mA - Display LCD 16x4 con microprocessore Hitachi HD44780 - Driver seriale MAX232 per interfacciare CubOS ad un PC - Circuiteria di misurazione livello carica batteria Per ora la trasmissione è unidirezionale, ma il software è lo stesso sia per il trasmettitore che per il ricevitore e si può cambiare modalità settando a 0 od a 1 uno switch e cambiando ovviamente il modulo TX o RX |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2001
Città: Malmö (Svezia) - Copenhagen
Messaggi: 962
|
ecco... se ora lo fai anche in inglese magari é meglio
poi vai su http://sourceforge.net e apri un progetto
__________________
http://www.francescoinsvezia.net Il mio blog scandinavo! aka "La mia vita fra la gnokka"
|
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
questo è lo schema di funzionamento del sistema ![]() questo è il logo fatto da me Project description: The acronym CubOS means Cub(e) Operating System, that is an Operating System of a cube, a tridimensional geometric shape. In this manual the term CubOS refers both to the hardware and the operating system in it. Then CubOS is an extremely compact device that is able to transmit or receive textual information via radio wave using FSK modulation at a certain frequency of 433,92MHz. This text or CSM (Coded Simple Message) has the big advantage of being encrypted using a password that you can choose any time. That’s the biggest advantage that we offer with this device that make it possible to exchange basic and vital information in a very safe way through a very unsafe means of communication, like the air. This system, differently from other similar commercial devices, has a further advantage of being very economical and easy to produce, thanks to the best general purpose microcontroller unit, the AVR Atmel. PCB, layout and part costs, have been dramatically reduced. Thanks to its flexibility, CubOS can be used in mission critical environments such as amatorial o home ones. In this last case, it can be an economical and free substitute of bleepers. The encryption system is able to protect all transmitted data from prying eyes by using an alphabetical password and a master key armoured protected from the reading of the microcontroller EEPROM. Technical specifications CubOS is powered by a 9V Transistor battery via its standard connector and it’s able to control: - AT90S8535 AVR Atmel Microcontroller Unit – Vcc from 2,7V to 5,5V - PC AT/PS2 standard keyboard of every brand - +5V – 20mA - 16x4 LCD Display with Hitachi HD44780 microprocessor - MAX232 serial line driver for CubOS to PC interfacing - Battery status checking circuit Battery duration can vary from 8 to 10 hours of activity with LCD display on. |
|
|
|
|
|
#8 | |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
Quote:
Non ho tantissime conoscenze e non vorrei sobbarcarmi tutto il lavoro, soprattutto ora che sono preso con la maturità beh provo a sentire il parere del resto della gente che scriverà |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Oct 2003
Città: La Spezia
Messaggi: 962
|
ti regalo un up perche te lo meriti!
per ora non posso altro che farti i complimenti, visto anche la tua età. continua lo sviluppo del progetto e tienici informati. ciao _YTS_ ps: studia che altrimenti ti bocciano!!!
__________________
Gigabyte ga-p55-ud6 | Intel i7 860 | 2x2gb Corsair xms3 | Adaptec 2410sa | raid1 barracuda 500gb 7200.12 | Intel x25-m 80gb G2 | ATI radeon 4890 | tutto in downclock (non ho parenti all'enel) |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Nov 2001
Città: Malmö (Svezia) - Copenhagen
Messaggi: 962
|
Quote:
in culo alla balena (per tutto!)
__________________
http://www.francescoinsvezia.net Il mio blog scandinavo! aka "La mia vita fra la gnokka"
|
|
|
|
|
|
|
#11 |
|
Member
Iscritto dal: May 2003
Messaggi: 168
|
Up!
Te lo meriti davvero! Complimentoni....
__________________
AMD Athlon Xp 2800+ Barton@2341MHz 1.75V - Chaintech Zenith 7NJS - SLK 800+TT SmartFan2 - Hercules 9500 Pro 128MB - 2x512 Corsair XMS Twinx LL PC3200 - Maxtor 120Gb 8Mb EIDE- Maxtor 120Gb S.ATA - Quantum Fireball 20Gb EIDE - DVD Rom Lg - DVD+-RW Pionerr - Thermaltake Xaser 3 V1000A - Enermax 460W - Hauppauge Dvbs -Tastiera e Mouse Logitech Cordless Optical - WinXp SP1 - Gentoo Linux Kernel 2.6.7-r10 |
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
bene allora verso luglio proverò a pubblicare tutto il programma sotto GPL su sourceforge. Purtroppo all'inizio ho scelto l'assembly come linguaggio perché altrimenti in 8kb di eeprom non sarei mai riuscito a farci stare così tanta roba... infatti, il programma, occupa tutta la poca memoria dell'8535, 4000 word.
Il codice devo dire che fa un uso intenso di procedure basilari ed è abbastanza commentato e facile da capire. Fra poco posto lo schema dell'algoritmo di cifratura, ditemi che ne pensate |
|
|
|
|
|
#13 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
![]() Prima di essere utilizzata, la Password viene cifrata tramite la master key attraverso una somma byte a byte, dopo di che è pronta per l’uso. A questo punto, il testo del messaggio viene vettorizzato con la password usando l’operatore somma come in precedenza e successivamente con la master key. Il risultato ottenuto è il testo criptato pronto per essere trasmesso: infatti l’algoritmo viene eseguito solo al momento dell’invio del messaggio. La master key è una chiave composta da 20 byte che si trova nella eeprom del microcontrollore il quale è protetto da lettura (read protected). La password è lunga massimo 10byte, per scopi più seri non sarebbe un problema incrementarla, ovviamente Ultima modifica di Fabio Erculiani : 04-06-2004 alle 22:44. |
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
Questa è la schermata iniziale di scelta della password... beh, domani è l'ultimo giorno di scuola quindi vado a dormire...
In alto si può notare il livello di carica della batteria, in questo caso è al massimo, più a dx lo stato della cifratura (abilitata e non) e per finire il numero di pagine (massimo 6). Oggi ho fatto dei test sulla distanza, senza antenne i due riescono a comunicare fino a 60 metri di distanza. |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Oct 2003
Città: La Spezia
Messaggi: 962
|
ottimo.
con le antenne a quanto pensi che potrebbero arrivare? in ogni caso amplificando non ci dovrebbero essere limiti, giusto? teoricamente potresti cifrare una connessione modulata via modem? altro che wep..... ciao _YTS_
__________________
Gigabyte ga-p55-ud6 | Intel i7 860 | 2x2gb Corsair xms3 | Adaptec 2410sa | raid1 barracuda 500gb 7200.12 | Intel x25-m 80gb G2 | ATI radeon 4890 | tutto in downclock (non ho parenti all'enel) |
|
|
|
|
|
#16 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
beh ovviamente con antenne, grosso modo non c'è limite, è una stupidata inserire un amplificatore operazionale e successivamente una antenna a lambda quarti... circa 16,5cm se non sbaglio (non vorrei fare confusione fra i due tipi di connessione di una antenna...
Si si potrebbe adattare per una trasmissione modulata via modem, voglio dire, il modulatore ed il demodulatore sono dei (...) moduli a parte... La scuola mi ha fornito un trasmettitore ed un ricevitore FSK della aurel, non valgono molto sinceramente... Così come te lo danno non riesci a trasmettere a più di 2400bps, mentre se utilizzando il piedino di test point, ci inserisci uno squadratore operazionale (LF356) riesci ad arrivare a 28800bps... La cosa estremamente positiva è che la velocità di trasmissione non dipende tanto dal dispositivo ma dal modulatore/demodulatore impiegato. fra poco pubblico altre foto ed informazioni interessanti ...come per esempio il protocollo di trasmissione... |
|
|
|
|
|
#17 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
![]() dispositivo in fase di avvio (durata 3 secondi), il tempo necessario per permettere alla tastiera di ripulire il suo canale seriale. ![]() scrittura del testo... con cifratura abilitata e password "ciao" ![]() Testo arrivato a destinazione! (illeggibile perché cifrato)... mmh... la foto è un po' sfuocata ![]() Menu accessibile tramite il tasto F1,dove fra le voci c'è quella che permette la decifratura e quella che permette di impostare una password. ![]() messaggio decifrato correttamente ![]() dentro CubOS... si nota sulla destra il ricevitore FSK schermato con un po' di carta stagnola... |
|
|
|
|
|
#18 |
|
Member
Iscritto dal: Jul 2003
Città: Halabama
Messaggi: 176
|
Dato che nell'ultima versione, la 2.6, il protocollo di comunicazione è totalmente cambiato, al momento non ho a disposizione schemi esaustivi, ma posso sempre spiegare il tutto "a voce"
Bene, quando CubOS ha bisogno di inviare del testo esegue le seguenti operazioni: 1. Se la modalità di cifratura è abilitata, cifra il testo con la password e la master key presente nel micro. 2. Invia il byte di start al ricevente: 0x01 nel caso di comunicazione cifrata, 0x02 nel caso di comunicazione non cifrata 3. Successivamente, invia il byte che indica la lunghezza in caratteri del testo che si invierà, ovvero, per la parola "ciao", questo byte avrà valore 0x04. 4. A questo punto, invia tutto il testo. Il ricevitore immagazzina il secondo byte ricevuto e fa un conto alla rovescia sui successivi ricevuti finché non arriva a zero, in questo caso capisce che la comunicazione è terminata. In questo modo è possibile,con ampliamenti futuri, inviare messaggi concatenati senza particolari difficoltà. Se per caso il byte di conteggio è superiore al numero effettivo di caratteri, un watchdog timer interviene dopo 2 secondi (sempre sul ricevitore) per troncare la ricezione ed in questo caso, il suono di "messaggio ricevuto" non sarà bitonale ma monotono. Per finire, ogni byte viene spedito 3 volte per permettere al ricevitore, tramite l'utilizzo di un algoritmo di rilevazione e correzzione d'errore, di poter ovviare a qualche inconveniente nella trasmissione. Ultima modifica di Fabio Erculiani : 05-06-2004 alle 15:34. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:27.





























