Quantum Cryptography


Ecco il futuro della comunicazione sicura: la crittografia quantistica. Adesso la forza della crittografia non saranno piu i fantastici numeri primi ma il severo principio di indeterminazione di Heisenberg.

http://www.secoqc.net

       ...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

HMAC: un esempio pratico


Come e’ ben noto i quattro punti che devono essere garantiti in Crittografia sono:

Confidentiality

Authentication

Integrity

Non repudiation

Immaginiamo che le funzionalita’ da implementare nel progetto siano: garantire chi ha inviato, garantire cosa è stato inviato. In poche parole (1)Authentication + (2)Integrity + (3)Non repudation.

Tale scenario è rintracciabile nel caso in cui si voglia creare un modello di comunicazione tra due entità (C, S) che si scambiano dati sensibili e non, ovvero dati privati + dati pubblici. Per esempio l’invio di un immagine da parte di un utente (C) su una piattaforma web pubblica (S) : in questo caso...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

Regexp


Utilizzare le regular expression e’ una regola di programmazione mandatoria. L’input sanitize senza Regexp significa non eseguire un buon check. Questo link puo’ essere molto utile in fase di test http://www.fileformat.info/tool/regex.htm

       ...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

ant.. compile, deploy, undeploy


In un progetto di sviluppo di codice e’ buona regola svincolarsi dall’IDE di programmazione. In particolare se si tratta di linguaggio Java e’ a duopo provvedere alla creazione di script ant. In questo modo sia ha la completa consapevolezza in fase di deploy di quali classi, file, librerie siano necessarie per un determinato applicativo.

Riporto un esempio di build.xml

<project basedir="." default="" name="app-webapp">
<!-- ===============================================================
 import properties (app settings, classpath, jar file locations)
 =============================================================== -->
<property file="build.properties" />
 <path id="libraries">
 <fileset dir="${lib.dir}/common">
...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

Scanning and Auditing


E’ stata rilasciata la nuova versione di Nmap!.. insieme a cheops (che usa nmap) adesso abbiamo 2 tool eccezionali per eseguire uno scanning su rete. Le migliorie sono importanti e molteplici. Il dowload e’ disponibile praticamente per qualsiasi sistema operativo. Scaricalo

...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

Ganymede and Hibernate Tools


Se hai necessità di installare in Eclipse dei nuovi plugin in maniera che non intacchino l’installazione di default (esempio per l’utilizzo dei nightbuild) e’ necessario seguire questa semplice procedura (riporto il link)!

The following describe the simplest way of doing this:

  • Download a nightly build and unzip/untar it in a different folder named ${JTFOLDER}, eg say /home/max/jbossnightly or c:/jbossnightly
  • create a directory called “links” in ${ECLIPSEINSTALL}
    Note: in Ganymede, use “dropins” rather than “links”
  • add a .link file, e.g. ${ECLIPSEINSTALL}/links/jbossnightly.link and put the...

    Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

Tutto sarà un servizio


E’ stata rilasciata la versione beta di Chrome il browser sviluppato da Google. Tralasciando i dettagli tecnici (trattati qui) scrivo questo articolo per argomentare quanto è significativa la nascita questo browser, o meglio la nascita di un nuovo, innnovativo browser. Google ovviamente avrà eseguito professionali studi di mercato prima di gettarsi in questa guerra combattutissima tra Internet Explorer, Firefox, Opera, Safari, ecc.. Google non punta solo sulla qualità del prodotto (js V8 + WebKit, sec, ecc..) ma anche sulla usabilità orientata al futuro, orientata ai servizi. Perchè Google ha creato un browser di nuova concezione? Perché sempre di piu le nostre attività su di un computer dipenderanno dal browser! Già oggi tra email, rss, docs, istant message, video...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

Remember: Canonizalization is everywhere


Uno dei problemi in ambito di sicurezza, in particolare di safe coding è l’aspetto rigurdante la canonizalizazione, ovvero la rappresentazione dei caratteri. Tale rappresentazione che è in codifica UTF-8 dovrebbe sempre seguire la regola di rappresentare i caratteri con il numero minore possibile di byte, per questo è necessaria un forte sanitize a livello di codice in modo da non validare rappresentazioni non ammesse (pag 521, Hacking Exposed).

Questo argomento è molto a cuore a coloro che utilizzano IIS4,5.. anche tomcat soffre di questo problema. Diventa necessario utlizzare in ambito Windows il framework URLScan che da IIS 7 cambia vesti sotto il nome di ...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

Windows Java switching


Spesso capita di dover switchare tra jdk/jre differenti a seconda di esigenze di progetto o ti utilizzo di applicativi (come per esemio quello di sogei che impone jre1.5.0_16).

Per configurare l’eviroment Java sotto Windows è necessario settare le variabili JAVA_HOME, JRE_HOME, PATH, CLASSPATH. Windows conferirà la precedenza secondo l’ordine in cui le directory di installazione di Java sono scritte. Esempio: PATH=C:\Programmi\Java\jdk1.5.0_16\bin\;C:\Programmi\Java\jdk1.6.0_06\bin –> ha precedenza la 1.5! Inoltre il registro di sistema verrà popolato della chiave HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft.

Per verificare che java utilizziamo basta digitare java -verison, javac - version. E’ buona regola eliminare i file...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

SHA-1 e codifica Base64


La funzione di hash SHA-1 permette di avere in output un array di byte di dimensione fissa pari a 20. Ricordo che SHA-1 è una funzione di hash a 160 bit con un livello di sicurezza di 80 bit, ben al di sotto di un ipotetico margine di sicurezza posto a 128 bit come da standard. Basterebbero 2^80 operazioni per risalire al messaggio (attacco del compleanno…ma non è cosi semplice). In questo post mostro come la codifica Base64 amplifica il messaggio da 20 a 28 byte.

String testString = "abcdefghilmnopqrst99";
System.out.println("testString.length() = " + testString.length());
byte[] testBase64 = Base64.encodeBase64(testString.getBytes());
for (int i = 0; i < testBase64.length; i++) {
System.out.println("testBase64[" + i + "] = " + testBase64[i]...

Leggi il seguito »

Invia questo articolo via email Invia questo articolo via email

Pagina precedente »