Problemi di copyright con gli algoritmi di crittografia

8

Sto sviluppando un'applicazione per Android / Java. L'applicazione è una sorta di gestore di password, quindi sto memorizzando le password crittografate sotto la cappa della password principale. Esistono numerosi algoritmi di crittografia DES / AES / BlowFish / TwoFish e così via. La mia intenzione è quella di sviluppare un'applicazione che sia priva di problemi di copyright commerciale. Quindi la domanda è:

  • Se userò Java integrato API di crittografia (ad es. DES / AES) - fa significa che sarò libero da possibili interessi commerciali di DES / AES detentori di copyright simili?

Anche altri pensieri, significati saranno utili.

    
posta barmaley 22.12.2010 - 07:25
fonte

4 risposte

21

Non c'è copyright sugli algoritmi . Gli algoritmi sono come idee; il tipo di proprietà intellettuale che si applica a loro è brevetti, non diritti d'autore. Ci sono alcuni algoritmi crittografici che sono brevettati, ma molti non lo sono e alcuni usati sono brevettati (ma i brevetti alla fine scadono). Né DES, AES, Blowfish o Twofish sono brevettati. Un esempio di sistema di crittografia simmetrica brevettato è IDEA (il brevetto statunitense scadrà nel 2012). L'algoritmo RSA (crittografia asimmetrica e firme digitali) è stato brevettato, ma il brevetto è scaduto dieci anni fa. Fondamentalmente, se un algoritmo crittografico è reso disponibile tramite una Java VM già installata, probabilmente non è più brevettato (più o niente).

Ci possono essere copyright su implementazioni . L'utilizzo di un'implementazione già esistente non è influenzato dal copyright (è un copyright, non una useright). Devi preoccuparti del copyright quando include codice esterno nella tua applicazione, non quando usi codice esterno fornito dalla Java VM installata tramite la sua API pubblicata.

I sistemi software possono inoltre essere controllati da licenze . Si potrebbe immaginare una licenza specifica che vieta l'utilizzo di alcuni software a seconda del contesto di utilizzo o di qualsiasi condizione arbitraria. Si potrebbe immaginare una tale licenza software sull'implementazione di un algoritmo crittografico. Questo sarebbe il problema di chiunque usi il tuo software, non il tuo problema. La licenza VM Java è quella che si applica qui. Ma, per quanto ne so, non esiste alcuna limitazione di utilizzo sui componenti della VM Java, siano essi crittografici o meno. Il venditore VM di solito non desidera limitare l'uso della sua API.

Le leggi locali potrebbero essere applicate, in particolare per quanto riguarda la crittografia. A seconda del Paese, le leggi possono limitare l'utilizzo, la distribuzione, l'esportazione e / o l'importazione di software utilizzando algoritmi crittografici. La Java VM (almeno quella di Sun / Oracle) include un sistema relativamente complesso di permessi e regole di sicurezza che determina quali algoritmi sono disponibili e con quali lunghezze di chiave. Pertanto, si può presumere che qualunque algoritmo sia reso disponibile alle applicazioni dalla VM è già stato messo a punto per quanto riguarda le lunghezze delle chiavi al fine di rispettare le leggi locali. Ci possono sempre essere delle eccezioni in alcune situazioni (se sei un agente nordcoreano al lavoro per costruire una bomba nucleare da qualche parte nel Dakota del Sud, allora usare algoritmi crittografici, anche se legalmente forniti dalla Java VM installata, potrebbe implicare qualche anno in più di prigione quando l'FBI ti prende). In termini pratici, dovresti controllare le leggi sull'esportazione del tuo paese se distribuisci software che fornisce un qualche tipo di servizio di crittografia, in particolare se lo inserisci in un sito Web.

Riepilogo: non esiste alcuna preoccupazione relativa alla proprietà intellettuale sull'utilizzo degli algoritmi crittografici forniti dalla Java VM. Dovresti fare alcune domande sulle normative sulla distribuzione ed esportazione del software crittografico. Puoi iniziare dalle pagine di Wikipedia su crypto export e Importa .

    
risposta data 22.12.2010 - 14:52
fonte
6

La piattaforma Android include la libreria crittografica di Legion of the Bouncy Castle, puoi usarla e quindi non stai distribuendo alcuna crittografia: il licensing del codice di Bouncy Castle per la distribuzione è gestito dall'alleanza open handset. Si noti che potrebbero ancora esserci limitazioni all'esportazione: ad esempio, negli Stati Uniti un prodotto che utilizza la crittografia anche se non contiene gli algoritmi di crittografia è ancora un prodotto controllato sotto l'EAR.

    
risposta data 22.12.2010 - 18:58
fonte
4

È di pubblico dominio come il teorema di Pitagora. Vai pazzo.

    
risposta data 22.12.2010 - 08:11
fonte
1

Ad esempio, da Blowfish.h, anche le librerie di crittografia potrebbero essere prive di copyright:

  • This library is free for commercial and non-commercial use as long as
  • the following conditions are aheared to. The following conditions
  • apply to all code found in this distribution, be it the RC4, RSA,
  • lhash, DES, etc., code; not just the SSL code. The SSL documentation
  • included with this distribution is covered by the same copyright terms
  • except that the holder is Tim Hudson ([email protected]).

Gli algoritmi stessi sono solo matematici: -)

    
risposta data 22.12.2010 - 11:51
fonte

Leggi altre domande sui tag