"Incorporare una data di scadenza" (come indicato nel titolo) è la parte facile e, come ha sottolineato Eckes, ci sono già standard per farlo. Ma questi schemi di solito si basano sulla cooperazione dei partecipanti.
Ad esempio, il browser di solito ti avviserà almeno se ti connetti a siti con certificati scaduti.
Se si vuole far rispettare l'impossibilità di crittografare i dati dopo una certa data, si tratta di un aspetto del controllo dell'accesso per gli utenti geonicamente legittimi che di solito è chiamato DRM (un termine visto piuttosto negativamente in alcune circonferenze a causa di alcuni casi d'uso discutibili ). Il problema non riguarda tanto i protocolli, ma le implementazioni. Come si fa a impedire copie dei dati decrittografati? Come si fa a impedire agli utenti di "debugare" il software ed estrarre le chiavi? Come prevenire la falsificazione del tempo?
I tuoi utenti hanno le chiavi, ma tu vuoi impedire un utilizzo illimitato.
Esistono tecniche che tentano di raggiungere questo obiettivo (con o senza hardware speciale o supporto del sistema operativo), ma la maggior parte di esse ha avuto esito negativo prima o poi.