Negli ultimi giorni mi sono imbattuto in una problematica molto particolare. Pubblicando sull'Apple Store alcune mie nuove app che fanno uso di cifratura AES, ho scoperto che è necessario fare una dichiarazione al U.S. Bureau of Industry and Security. In particolare bisogna sottomettere a questo organismo governativo statunitense il modulo chiamato "Encryption Registration Supplement No. 5 to Part 742".

In base a quello che ho sostanzialmente capito, se si esporta dall'USA ad altri paesi un prodotto che utilizza tecnologie di cifratura che vanno oltre determinati standard (per esempio se usate AES a più di 64 bit), bisogna dichiararlo con questo modulo al fine di ottenere un Encryption Registration Number (ERN). Poiché quando si pubblica un'app sull'Apple Store si invia ai server di Apple in USA un software che poi viene venduto in tutto il mondo (quindi esportato), è necessario fare questo tipo di dichiarazione ed inviare l'ERN ad Apple nel momento in cui si pubblicano le applicazioni.
Da italiano quale sono, abituato agli standard della pubblica amministrazione del Bel Paese, mi sono immediatamente preoccupato dei tempi che tale procedura avrebbe comportato. In realtà dopo aver svolto la procedura posso rassicurare tutti coloro che, come me, potrebbero trovarsi nella stessa situazione: l'USA non è l'Italia e, anche se tale obbligo potrebbe risultare essere ai più eccessivo (i soliti discorsi dello Zio Sam che vuole sapere e controllare tutto), in realtà non se ne sono andate più di 4 ore per completare il tutto :)
La procedura da seguire è abbastanza semplice:
Come anticipato, non lasciatevi intimorire dalla procedura: è semplice e veloce e potrete sottomettere ad Apple la vostra app che usa API di encryption senza alcun timore che in futuro ve la ritirino dall'Apple Store.
Chiaramente tale procedura è necessaria solo ed esclusivamente se la vostra app usa tecnologie di cifratura oltre determinati standard (sul sito del Bureau trovate le specifiche), mentre non è richiesta in altri casi. Ponete particolare attenzione, infine, nel caso in cui avete implementato un qualche metodo di cifratura custom: se l'uso di algoritmi standard richiede al più l'ERN, se ne avete inventato uno tutto vostro la documentazione da presentare sarà molto più complessa e i tempi risulteranno essere più lunghi.