Newsgroup: it.comp.appl.access
Titolo: consegnare il sorgente al cliente finale e sapere se l'ha modificato

buongiorno a tutti, 
 
un cliente finale mi ha chiesto il sorgente di un database access
mi chiedevo in che modo posso consegnare sempre l'ultimo sorgente ma sapere se il sorgente è stato modificato da altri sviluppatori.
 
esiste ad esempio un file zippato con password che se viene aperto registra data e ora in cui è stato aperto e quindi se è stato aperto significa che il sorgente è stato (quantomeno) estratto dal file zip e magari anche modificato?
 
infine mi chiedevo quale potrebbe essere il range di costo per il cliente finale del sorgente di un gestionale clienti\preventivi\ordini sviluppato adhoc
 
grazie.

 ...

Forse firmare digitalmente il codice è adatta ai tuoi scopi. Dai 
un'occhiata a questo articolo e per dettagli segui i link alla fine:
 
https://www.accessforever.org/post/access-code-signing-is-back
 
 
-- 
Ciao
Karl
*********
Access Bugs: 
https://AccessForever.org
 
Access News: 
https://youtu.be/r4LvFFuJOcY
 
Access DevCon: 
https://www.donkarl.com/devcon
 
Access FAQ: 
https://www.donkarl.com/it
 

 grazie.
 


Interessante, gli do un occhiata grazie.

Il giorno mercoledì 21 giugno 2023 alle 16:23:27 UTC+2 Karl Donaubauer ha scritto:

Mi sembra di capire che per consegnare il database firmato al cliente usare l'applicazione SelfCert non è fattibile.
Quali sono le aziende certificatrici che possono fare questa firma?
Sei a conoscenza dei costi?
consegnando un file firmato, poi un altro programmatore che problemi avrebbe aprendo il sorgente? aprendolo risulta che l'ha modificato perché viene invalidata la firma?
non mi è chiaro.
 
Grazie.


ho coinvolto anche chatGPT ponendo la seguente domanda:
 
"Se consegno il sorgente access ad un cliente come posso capire se il codice è stato modificato da altri programmatori "
 
risposta di ChatGPT:
 
Se hai consegnato il codice sorgente a un cliente e desideri verificare se è stato modificato da altri programmatori, ci sono alcune strategie che puoi adottare:
 
1. Confronto delle versioni: Conserva una copia della versione originale del codice sorgente che hai consegnato al cliente. Successivamente, puoi confrontare il codice sorgente attuale fornito dal cliente con la versione originale per individuare eventuali modifiche apportate.
 
2. Controlli di versione: Utilizza un sistema di controllo delle versioni come Git per gestire il codice sorgente. Assicurati che il cliente restituisca le modifiche tramite il sistema di controllo delle versioni. Puoi quindi verificare le modifiche effettuate dai programmatori confrontando le revisioni nel repository.
 
3. Firma digitale: Puoi utilizzare una firma digitale per "firmare" il tuo codice sorgente originale. Una firma digitale crea una sorta di impronta digitale unica per il tuo codice, che può essere verificata in seguito per identificare eventuali modifiche. Quando consegni il codice al cliente, assicurati che la firma digitale sia intatta. Se il codice viene modificato, la firma digitale risulterà invalida.
 
4. Marcatore temporale: Puoi aggiungere un marcatore temporale o un commento nel codice sorgente originale, che rappresenta la data e l'ora della consegna al cliente. Quando verifichi il codice in seguito, controlla se ci sono modifiche o aggiunte che non corrispondono alla data di consegna. Questo può indicare che il codice è stato modificato successivamente.
 
5. Monitoraggio delle modifiche: Puoi richiedere al cliente di fornire rapporti regolari sulle modifiche apportate al codice sorgente. In questo modo sarai informato delle modifiche e potrai esaminarle per identificare eventuali discrepanze o problemi.
 
Tuttavia, è importante notare che, una volta che il codice sorgente è stato consegnato a un cliente, non hai più il pieno controllo su come viene utilizzato o modificato. Se desideri proteggere il tuo codice da modifiche non autorizzate, potresti considerare l'utilizzo di accordi di licenza o contratti legali che definiscano le condizioni di utilizzo e le restrizioni sulle modifiche al codice.


Non avrebbe nessun problema
Fa conto sia una pec, tu apri il documento dentro il messaggio
Ma il mittente (tu) non e' che lo vede che tu (cliente) hai aperto
Se ti e' sufficiente sapere se lo hanno aperto, gli dai il programma 
dentro una chiavetta e dentro busta sigillata, se la trovi aperta vuol 
dire che l'hanno visionato/copiato/modificato/cancellato/venduto/ecc
 
"..range di costo.." e' difficile da dire, troppe variabili 
attualmentesconosciute da considerare
In gran parte dipende da cosa e' richiesto, e questa fase non e' banale
Prova a mettere annuncio su Freelancer e vedi cosa ti rispondono


esatto l'idea e di consegnare ogni volta il sorgente aggiornato con password nel codice vba e il tutto in un file compresso anch'esso con password
poi la password che può anche coincidere (la stessa per file compresso e ambiente vba) la consegno al cliente dentro busta chiusa cartacea con timbro aziendale su cera lacca.
se il sigillo è rotto ha aperto la busta e quindi decade la garanzia.
se però trova la password dello zip e del vba con un software brutal force la busta è chiusa ma il codice è stato modificato ugualmente.
 
che ne pensate?
 
 
 


in effetti se consegno anche pendrive dentro la busta possono accedere al sorgente solo aprendo la busta ma in quel modo il sorgente nuovo non potrebbe essere aggiornato ma ogni volta andrebbe consegnata una nuova pendrive in busta chiusa
 


Di chiavette te ne bastano due, consegni l'ultima e ritiri la precedente
Di buste si, ne serve una nuova ad ogni consegna
Certo che, consegnare la chiavetta coi sorgenti fa a cazzotti con la 
volonta' di tenere riservato il codice, o l'una o l'altra
Se hanno la chiavetta coi sorgenti dentro, e avessero la volonta' di 
aprirli, stai sicuro che prima o poi li aprono, pure la ceralacca 
anch'io la facevo sciogliere col phon fino a staccarla e poi 
riattaccarla, giusto per vedere se si poteva fare
Gia' fornire l'mde/accde non ci garantisce dal reverse engineering
 
Credo che piu' che la tecnlogia in questo caso a proteggere ci potrebbe 
essere un accordo preciso, redatto da un legale che ci capisca di 
informatica, e controfirmato dalle parti interessate
 

 busta è chiusa ma il codice è stato modificato ugualmente
 
chiediamo a chatGPT di confermare una mia idea:
 
User
 
per favore, generami una password lunga 128 caratteri con minuscole, 
maiuscole, cifre e qualche segno di punteggiatura
 
ChatGPT
 
Ecco una password generata casualmente con i requisiti richiesti:
 
mTuH6dJr*38YEnqP7tbVlA2K1wZvf3oSkzGHyLsXNi4RxQjcD0eMaOgF9CpnIu5W!sBh.6XLEZJtb2VHgKy
 
User
 
puoi stimare quanto impiega un pc di ultima generazione a recuperare 
questa password con la forza bruta?
 
ChatGPT
 
È difficile fornire una stima precisa del tempo richiesto per 
recuperare una password tramite un attacco di forza bruta, poiché 
dipende da molti fattori, come la potenza di calcolo del computer, le 
tecniche utilizzate nell'attacco, la complessità della password stessa 
e così via.
 
Tuttavia, una password lunga 128 caratteri con una combinazione di 
lettere minuscole, maiuscole, cifre e segni di punteggiatura è 
estremamente robusta e richiederebbe un tempo molto elevato per essere 
individuata tramite un attacco di forza bruta su un computer di ultima 
generazione.
 
*Per darti un'idea approssimativa, considerando un potente computer 
capace di verificare 1 miliardo di password al secondo, il tempo 
necessario per esaurire tutte le possibili combinazioni di una password 
di 128 caratteri sarebbe estremamente lungo. In realtà, potrebbe 
richiedere miliardi o addirittura trilioni di anni.*
 
Tieni presente che le stime di tempo possono variare notevolmente in 
base ai fattori sopra menzionati, quindi è sempre una buona pratica 
utilizzare password complesse e uniche per garantire la massima 
sicurezza dei tuoi account.
 
 
 
 
tornando a noi, una media di un miliardo di anni per trovarla è 
sufficiente? :-)
 
-- 
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........


Ma perche', voi ci mettete anche il controllo errori e la validazione 
dati inseriti?
Ehhh ma allora ditelo...