skip to Main Content

Benvenuti

Sistematica SpA è l’azienda capofila operativa di un gruppo di PMI denominato “Gruppo Sistematica”, oggi controllata da S.M.R.E. Spa, società quotata al segmento AIM di Borsa Italiana.

Il Gruppo è nato a Terni nel 1996 da specialisti del settore informatico provenienti da alcune tra le più importanti aziende italiane del ramo IT. La partecipazione, con compiti di assoluto rilievo, a progetti ad elevato livello di specializzazione, ci hanno permesso di diventare, in questi 20 anni di vita aziendale, una realtà con quasi 15 milioni di ricavi annui e circa 100 risorse tecniche distribuite in 4 sedi sul territorio nazionale

Rimani in Contatto

Email: info@www.top-ssl.it
Phone: +39 0744 61221
Address: Viale D. Bramante 43, 05100 Terni (TR)

Dove siamo

+39 0744 61221 info@top-ssl.it Login / Register

RSASSA-PSS obbligatorio nel 2019

I regolamenti EDI @ Energy per lo scambio di file EDIFACT ( documento disponibile solo in tedesco ) tra i partecipanti al mercato dell’industria energetica tedesca pubblicati dall’Associazione federale tedesca per la gestione dell’energia e dell’acqua BDEW eV affermano che

  • tutti i certificati emessi dopo il 1 ° gennaio 2019 devono essere firmati con RSASSA-PSS.
  • tutti i partecipanti al mercato devono supportare i certificati firmati RSASSA-PSS per la verifica dal 1 ° gennaio 2019.

RSASSA-PSS con SHA-256 o SHA-512 deve essere utilizzato come algoritmo per la firma di e-mail dal 1 ° gennaio 2019.

SOLUZIONE DI TOP-SSL

I certificati digitali PersonalSign di GlobalSign, da noi forniti, utilizzano il protocollo Secure/Multipurpose Internet Mail Extensions (S/MIME) per firmare digitalmente o crittografare le email. S/MIME Encryption garantisce integrità del messaggio, autenticazione, privacy e non ripudio. l maggiori client di posta supportano S/MIME, come Microsoft Outlook, Thunderbird, Apple Mail, Lotus Notes.

GlobalSign supporta l’algoritmo di firma RSASSA-PSS per tutti i certificati S/MIME emessi tramite Enterprise PKI

Che cos’è l’algoritmo RSASSA-PSS

Gli algoritmi di firma digitale che utilizzano chiavi crittografiche di tipo RSA sono specificati in una serie di standard chiamati Public-Key Cryptography Standards (PKCS) e sviluppati da RSA Laboratory.

Dato un messaggio M, una funzione di Hash e una chiave privata (n, d), si costruisce la seguente stringa di byte codificata.

Sia mHash il codice Hash del messaggio M, di lunghezza hLen. Si genera una stringa di byte detta salt di lunghezza sLen, che può essere anche nulla. Si pone

M’ = 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 | mHash | salt

Sia H l’hash della stringa M’:
H = HASH(M)

Si genera una stringa PS di lunghezza emLen – sLen – hLen – 2 di byte con valore 0x00, che può anche avere lunghezza nulla.

Sia DB una stringa di lunghezza emLen – hLen – 1 composta dalla seguente concatenazione:
DB = PS | 0x01 | salt

Si calcola:
dbmask = MGF(H, emLen – hLen – 1)
maskedDB = DB xor dbmask

si pongono gli 8emLen – emBits bit del byte più a sinistra a 0.

Sia
EM = maskedDB | H | 0xBC

La firma è costituita dalla cifratura con la propria chiave privata della stringa EM

Il destinatario che riceve una firma effettua la decifratura con la chiave pubblica del mittente, ottenendo la stringa EM

I primi emLen – hLen – 1 byte di EM rappresentano il valore di maskedDB, e i successivi hLen il valore di H. L’ultimo byte (più a destra) deve avere valore 0xBC. Si verifica che gli 8emLen – emBits bit più a sinistra del byte più a sinistra di maskedDB devono essere nulli.

Si calcola
mHash = HASH(M)
dbMask = MGF (H, emLen – hLen – 1)
DB = maskedDB xor dbMask

Si pongono i 8emLen – emBits bit più a sinistra del byte più a sinistra di DB a zero. Si verifica che gli emLen – hLen – sLen – 2 byte più a sinistra di DB siano nulli e che l’ottetto nella posizione emLen – hLen – sLen – 1 abbia il valore 0x01

Gli ultimi sLen byte di DB sono la stringa salt. Si costruisce la stringa M’:
M’ = 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 | mHash | salt

e si calcola
H’ = HASH(M’)

La firma è valida se H’ = H.

Esempio firma RSASSA-PSS

Si considera un messaggio M = “prova”, la funzione di Hash SHA-1 e la chiave privata.

mHash = SHA-1(M) = 62 79 88 6f de 09 0b 30 38 f2 67 09 8b cc a7 71 a6 ef a9 46
hLen = 20

Consideriamo come stringa salt la seguente stringa casuale: 89 74 AC 91 15 D6 0B 32
sLen = 16

allora, la stringa M’ è:

M’ = 00 00 00 00 00 00 00 00 62 79 88 6f de 09 0b 30 38 f2 67 09 8b cc a7 71 a6 ef a9 46 89 74 AC 91 15 D6 0B 32

e il valore di H è:

H = SHA-1(M’) = 5d 58 fd 77 bf ef 10 bb 4c de 73 70 f8 04 ad 0b 0a 14 c3 74

Si vuole una lunghezza di firma pari a 256 byte, quindi emLen = 256.

La lunghezza della stringa PS è: 256 – 16 – 20 – 2 = 218 byte di valore 0x00

Sia DB una stringa di lunghezza pari a 256 – 20 – 1 = 235 byte seguente:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 89 74 ac 91 15 d6 0b 32

la stringa dbmask ha lunghezza 235 byte, come DB e riceve in input il valore di H. Successivamente viene effettuata l’operazione di xor tra DB e dbmask per ottenere maskedDB, anch’essa di 235 byte. Infine si concatena maskedDB, H (di lunghezza 20) e un byte finale di valore 0xbc, per ottenere una stringa di lunghezza pari a 256 byte, come desiderato. Questa stringa viene cifrata con la chiave privata.

Contattaci per maggiori info

0
Connecting
Please wait...
Send a message

Sorry, we aren't online at the moment. Leave a message.

Your name
* Email
* Describe your issue
Login now

Need more help? Save time by starting your support request online.

Your name
* Email
* Describe your issue
We're online!
Feedback

Help us help you better! Feel free to leave us any additional feedback.

How do you rate our support?
Back To Top