This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
Tuesday, 11 November 2025
Mentre in questa fase attuale di scrittura 'manico' articolo ho pensato che avrei condiviso unsensibileprogetto che ho costruito per un ente di beneficenza durante il COVID.Questo è un argomento molto sensibile quindi ho ottenuto tutte le autorizzazioni applicabili e accettato di condividere SOLO ilconcetti
che divergono e sono molto più banali del sistema reale.Fa parte di una lunga storia dinascondere i messaggi in bella vista
Ed e' ancora critica come sempre, dal trasmettere messaggi a scuola allo spionaggio multinazionale e ai poteri mondiali che si spiano a vicenda.
Da antichi tiranni agli spymaster della Guerra Fredda agli sviluppatori moderni che affrontano le sfide della sicurezza, nascondere informazioni in piena vista è stato sia un'arte che una scienza.
Questo post esplora l'affascinante evoluzione dei sistemi di comunicazione segreta, dai messaggi tatuati sui cuoio capelluto a un sistema di chat sicura basato su JavaScript che ho costruito che era così sottile, anche il monitoraggio attivo non rivelerebbe la sua esistenza.
Origini antiche: Histiaeus e il Messaggero tatuato
**La nostra storia inizia intorno al 500 a.C. con Histiaeus di Miletus, un tiranno greco tenuto prigioniero a Susa dal re persiano Dario I.**Disperato di comunicare con il genero Aristagora di nuovo a Mileto senza destare sospetti persiani, Histiaeus escogitò una soluzione geniale.
Ha scelto il suo schiavo più fidato, rasato la testa dell'uomo, e tatuato un messaggio direttamente sul suo cuoio capelluto.Dopo aver aspettato che i capelli ricrescano, ha inviato lo schiavo a Mileto con semplici istruzioni: "Dì ad Aristagoras di radersi la testa." - Il messaggio, esortando la ribellione contro il dominio persiano, era letteralmente nascosto sotto la superficie.I persiani, abituati ad intercettare messaggi convenzionali, non sospettarono mai che il messaggero stesso portasse l'intelligenza.Ciò ha innescato la rivolta ionica, un momento cruciale nelle relazioni greco-persiane.
: Il canale di comunicazione stesso è apparso completamente innocuo.**Lo schiavo era solo... uno schiavo viaggiatore.**Niente pergamene sospette, niente lettere in codice, niente da intercettare.
John Steeple Davis
La storia delle più grandi nazioni, dagli albori della storia al XX secolo[(pubblicato nel 1900), Public Domain,](https://books.google.co.uk/books?id=soYmDwAAQBAJ&pg=PA297&redir_esc=y#v=onepage&q&f=false)Legame
La tecnica di Histiaeus esemplificasteganografia- la pratica di nascondere i messaggi all'interno dei media non segreti.
A differenza della crittografia, che rende i messaggi illeggibili, la steganografia nasconde l'esistenza stessa della comunicazione.Inchiostri invisibili e segreti chimiciDurante la Guerra di Rivoluzione, l'Esercito Continentale utilizzò ampiamente inchiostri invisibili.
La macchia più sofisticata era "l'agente 711" (alias George Washington), sviluppato dal medico e spymaster James Jay.
sequenceDiagram
participant Agent as Field Agent
participant Location as Dead Drop Location
participant Signal as Public Signal Spot
participant Handler as Handler
Agent->>Location: Place material in dead drop
Agent->>Signal: Leave innocuous mark (chalk, flower pot)
Handler->>Signal: Checks for signal during routine
Handler->>Location: Retrieves material
Handler->>Signal: Leaves confirmation mark
Agent->>Signal: Confirms retrieval
Note over Agent,Handler: No direct contact between parties
inchiostri invisibiliSi è ulteriormente evoluto.Gli inglesi hanno usato tutto, dal succo di limone (attivato dal calore) a composti chimici sofisticati e sì, sperma umano (presumo!)...
I tedeschi hanno sviluppato microdots - fotografie ridotte alle dimensioni di un periodo stampato che potrebbe essere nascosto in corrispondenza semplice.
Il genio non era solo l'occultamento fisico, ma il
Per gli osservatori, questi erano dettagli senza senso nel paesaggio urbano.
Ci sono stati anche dispositivi speciali come un punto che potrebbe essere nascosto sotto il terreno fino a quando il messaggio è stato recuperato (ottima anche per le condizioni di bagnato / aree aperte).
Original pixel: RGB(11010110, 10110101, 01011010)
Modified pixel: RGB(11010111, 10110100, 01011011)
↑changed ↑changed ↑changed
Data di nascita: 19.12.1956
Numers Stations: Broadcasting SecretsDalla Guerra Fredda fino ad oggi, misteriose trasmissioni radiofoniche hanno affascinato gli ascoltatori di tutto il mondo.)

"Numers stations"

trasmettere stringhe di numeri, parole o toni - apparentemente bizzarri agli ascoltatori casuali.
Ma all'agente con il pad giusto per una volta?Queste sono istruzioni, aggiornamenti di intelligence, o dati mission-critical.).
Non rintracciabile
L'informatica moderna ha rivoluzionato la steganografia.
Ecco un esempio (non GRANDE)ma da qui
steganopng
Codici acrostici
: Le prime lettere di frasi ortografano un messaggioSostituzione parola: Utilizzo dei sinonimi nei modelli per codificare i bit
: Spazi aggiuntivi, schede, o interruzioni di linea portano i dati - anche comunemente utilizzati per rilevare perdite aziendali dove una 'firma' di ogni copia è sottilmente codificato nei cambiamenti dello spazio bianco. (Perché comunemente i giornalisti rityperanno fisicamente i documenti prima della pubblicazione; per proteggere le loro fonti da steganografia basato smascheramento).Steganografia della reteNascondere i dati nei modelli di traffico di rete:
Canali di sincronizzazione
: Variante cronologia dei pacchetti per codificare le informazioniManipolazione del protocollo I came up with; for that one even screen snapshotting won't detect it (using a form of temporal steganography...you can have a guess what that means 😜 ).
: Rendere i dati segreti sembrano traffico legittimo (Netflix streaming, gioco, ecc.)compatibility-shim1.jsLa sfida moderna: la sicurezza digitale negli ambienti ostilipolyfill-helpers.jsQuesto ci porta ad un problema contemporaneo che ha richiesto tutte le lezioni di steganografia storica:
<script src="https://cdn.example.org/compatibility-shim1.js"></script>
Come si fa a fornire una comunicazione sicura e privata a qualcuno la cui vita digitale è monitorata da qualcuno fisicamente presente nella propria casa?
Nuovi account di posta elettronica?ref=newsletter_2021_march: Facile da scoprire, sospetto da creare
// Heavily simplified example - actual implementation was obfuscated and encrypted
const params = new URLSearchParams(window.location.search);
if (params.has('ref') && params.get('ref').match(/newsletter_\d{4}_[a-z]+/)) {
// Trigger secure chat initialization
}
La soluzione che ho sviluppato ha attirato su ogni principio di steganografia storica, adattato per l'era del web.
Ecco come.
potrebbe averHa funzionato.
Fase 1: Il carico innocuo
Il file stesso era:
sequenceDiagram
participant User as User Browser
participant Site as Organization Website
participant CDN as CDN (Shim Script)
participant Secure as Secure Chat Backend
participant Real as Real Support System
User->>Site: Visit with ?ref=newsletter_2021_march
Site->>CDN: Load compatibility-shim1.js
CDN->>User: Script with hidden trigger
User->>User: Script detects parameter
User->>User: Chat window appears
alt Correct codeword entered
User->>Secure: Authenticate with codeword
Secure->>User: Establish encrypted channel
Note over User,Secure: Secure communication session
else Wrong codeword or no codeword
User->>Real: Forward to real support
Real->>User: "Please describe your issue"
Note over User,Real: Appears as normal support contact
end
Questo sembrava completamente innocuo:
La chat connessa per proteggere il backend
O inoltrato al supporto reale con un primo messaggio innocuo
Nessuna indicazione che sia stato tentato qualcosa di speciale
: Ritardi casuali aggiunti per evitare il riconoscimento dei pattern
Punto finale
Nessun cookie speciale
Nessun log di console
Se qualcuno ha controllato il computer dopo:
// Simplified example of the pattern
const encryptedPayload = "U2FsdGVkX1+xYz... [encrypted data]";
const decryptionKey = deriveKeyFromContext(window.location, document.referrer);
if (validTriggerDetected()) {
const chatModule = decryptPayload(encryptedPayload, decryptionKey);
chatModule.initialize();
}
La cronologia del browser ha mostrato una normale visita al sito web dell'organizzazione
Il modello di sicurezza
// Simplified example
async function processInput(userInput) {
// Always perform both operations
const secureResult = await checkSecureAuth(userInput);
const normalResult = await checkNormalAuth(userInput);
// Add random delay to normalize timing
await randomDelay(100, 300);
// Return appropriate result
return secureResult.valid ? secureResult : normalResult;
}
Questo sistema ha implementato diversi principi fondamentali di sicurezza:
Deniability ad ogni livello
// Hash the codeword with environmental factors
const authToken = await hashWithContext(
userInput,
window.navigator.userAgent,
currentTimestamp,
siteIdentifier
);
Come le stazioni numeriche, il sistema è stato progettato in modo che:
Come lo schiavo viaggiatore di Histiaeus, il sistema aveva una vera utilità:
Il widget della chat era un vero e proprio strumento di supporto
Nessun stato parziale pericoloso
Codice Timing-Resistant
Invece:
Questo significava:
Zero ipotesi di fiducia
Degradazione graziosa
: Deve radere la testa per vedere ↔ Deve sapere URL + parola in codice
: Finestra di lancio ↔ Scadenza parola in codice
: L'agente non incontra mai il gestore ↔ L'utente non rivela mai il vero intento
Questa tecnologia esiste in uno spazio eticamente complesso.
Coordinamento penale
La tecnologia è neutrale; l'applicazione determina la moralità.
: Modello di minaccia giustificata sofisticazione
: Sistema progettato per caso di utilizzo specifico e limitato
Ma chiunque costruisca sistemi simili deve aggrapparsi seriamente a queste domande.
: Monitoraggio per l'esecuzione di codice condizionale basato su parametri URL
Analisi dei tempi
// Never store sensitive data in localStorage
// Use sessionStorage with expiry, or pure memory
class SecureSession {
constructor() {
this.data = new Map(); // Memory only
this.expiry = Date.now() + (30 * 60 * 1000); // 30 min
// Clear on page unload
window.addEventListener('beforeunload', () => this.destroy());
// Auto-expire
setTimeout(() => this.destroy(), 30 * 60 * 1000);
}
destroy() {
this.data.clear();
// Overwrite memory (best effort)
this.data = null;
}
}
Tuttavia, l'individuazione deve affrontare gravi sfide:
// Lazy loading of secure components
async function initializeSecureChat() {
// Only load if triggered
if (!shouldInitialize()) return;
// Dynamic import to keep main bundle small
const { SecureChat } = await import('./secure-chat.encrypted.js');
// Initialize asynchronously
requestIdleCallback(() => {
new SecureChat().initialize();
});
}
: Milioni di copioni legittimi utilizzano tecniche similiCifratura: Tutto il traffico web moderno è criptato; non c'è modo di ispezionare
## Secure Chat System - Operator Manual
### Activation
- URL pattern: `?ref=newsletter_YYYY_month`
- Current codewords: See separate secure document
- Rotation schedule: Monthly
### Incident Response
- If system discovered: Immediate codeword rotation
- If user identity compromised: Emergency protocol Alpha
- If backend compromised: Failover to backup, investigate
### Audit Trail
- Log only: Connection timestamp, session duration
- Never log: User identity, message content, codewords
: Impossibile controllare tutti i JavaScript su tutti i siti web
Evoluzione
Giornalismo in ambienti ostili
Sicurezza delle imprese
Le organizzazioni potrebbero utilizzare tecniche comparabili per:
Esplosione delle informazioni sull'informatore di fischi
Protezione delle fonti giornalistiche
Con l'aumentare delle capacità di sorveglianza, crescerà anche la sofisticazione delle tecniche di occultamento:
Traffico di copertura generato dall'IA
L'apprendimento automatico potrebbe generare un traffico di esca perfettamente realistico:
Steganografia quantistica
Quantum computing e comunicazioni offrono nuove possibilità:
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.