11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica...

21
BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 545 11. Crittografia 11.1. Introduzione La funzione di “Crittografia” ha lo scopo di crittografare talune informazioni contenute nei messaggi e di decrittografare le comunicazioni che gli intermediari ricevono. La Banca d'Italia fornisce a ciascun intermediario un supporto ottico contenente i programmi e i dati di prova necessari per l'esecuzione delle funzioni di crittografia. Il presente capitolo illustra in dettaglio le caratteristiche dei programmi utilizzati per lo svolgimento di tali funzioni e le relative modalità di installazione e di utilizzo. 11.2. Materiale distribuito Gli intermediari segnalanti avranno a disposizione per la funzione di crittografia un CD contenente i seguenti file: 01) File di prova ‘FILE1.TXT’ in formato ASCII contenente i dati in chiaro da crittografare. La lunghezza del record logico è di 130 caratteri. 02) File di prova ‘FILE2.TXT’ di contenuto identico al file 1, ma crittografato con la chiave di prova (valore esadecimale "CCCCCCCC33333333"). 03) Directory DOSPC contenente i programmi da utilizzare in ambiente pc con il sistema operativo MS/DOS. 04)Directory ALTRISIS contenente le seguenti 8 sottodirectory, una per ognuno dei sistemi MAINFRAME contemplati nei paragrafi successivi, da utilizzare solo nel caso in cui l’intermediario intenda avvalersi di uno di essi in alternativa al DOS pc: IBM370 DPS6HON AS400S38 DPS4GCOS DPS7GCOS DPS8GCOS S36IBM UNISYS In ogni sottodirectory è presente un file sequenziale compresso autoesplodente (estensione uguale ad exe) contenente i programmi per la crittografia dei dati sul relativo sistema operativo. Il suo contenuto differisce a seconda del tipo di sistema utilizzato. Tutti i file su indicati sono registrati secondo la codifica "EBCDIC" prevista per i sistemi IBM della serie

Transcript of 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica...

Page 1: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 545

11. Crittografia

11.1. Introduzione

La funzione di “Crittografia” ha lo scopo di crittografare talune informazioni contenute nei messaggi e di decrittografare le comunicazioni che gli intermediari ricevono. La Banca d'Italia fornisce a ciascun intermediario un supporto ottico contenente i programmi e i dati di prova necessari per l'esecuzione delle funzioni di crittografia.Il presente capitolo illustra in dettaglio le caratteristiche dei programmi utilizzati per lo svolgimento di tali funzioni e le relative modalità di installazione e di utilizzo.

11.2. Materiale distribuito

Gli intermediari segnalanti avranno a disposizione per la funzione di crittografia un CD contenente i seguenti file:

01) File di prova ‘FILE1.TXT’ in formato ASCII contenente i dati in chiaro da crittografare. La lunghezzadel record logico è di 130 caratteri.

02) File di prova ‘FILE2.TXT’ di contenuto identico al file 1, ma crittografato con la chiave di prova(valore esadecimale "CCCCCCCC33333333").

03) Directory DOSPC contenente i programmi da utilizzare in ambiente pc con il sistema operativoMS/DOS.

04)Directory ALTRISIS contenente le seguenti 8 sottodirectory, una per ognuno dei sistemiMAINFRAME contemplati nei paragrafi successivi, da utilizzare solo nel caso in cui l’intermediario intenda avvalersi di uno di essi in alternativa al DOS pc:

� IBM370 � DPS6HON � AS400S38 � DPS4GCOS � DPS7GCOS � DPS8GCOS � S36IBM � UNISYS

In ogni sottodirectory è presente un file sequenziale compresso autoesplodente (estensione uguale ad exe) contenente i programmi per la crittografia dei dati sul relativo sistema operativo. Il suo contenuto differisce a seconda del tipo di sistema utilizzato.

Tutti i file su indicati sono registrati secondo la codifica "EBCDIC " prevista per i sistemi IBM della serie

Page 2: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 546

370; una volta decompressi vanno trasferiti sul sistema MAINFRAME di interesse (mediante la funzione di utilità file transfer senza opzione ASCII) e compilati a cura degli interessati (cfr. 11.5). Una volta scelta la sottodirectory, ad esempio quella denominata IBM370, per ottenere i sorgenti dei programmi le attività da eseguire sono le seguenti:

1) copiare il file IBM370.EXE su disco rigido (ad esempio C:\TEMP\IBM370.EXE);2) eseguire C:\TEMP\IBM370.EXE per ottenere il file DIAG21.PGM;3) trasferire mediante una funzione di utilità (“file tranfer”) il file DIAG21.PGM su mainframe;4) estrarre i singoli programmi sorgenti dal contenuto del file trasferito tramite un programma

applicativo o una funzione di utilità. Ogni programma presente nel file è preceduto da un recordcontenente alla prima posizione: "BI-CRITTOGRAFIA-PGMnnn" (con nnn indicante unprogressivo da 001 in poi) con le posizioni rimanenti a blanks. La fine del programma è indicata daun record riempito con caratteri "/"

.

Page 3: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 547

11.3. Istruzioni operative

Definizione delle interfacce del sottoprogramma di Crittografia La funzione di crittografia è stata realizzata dalla Banca d'Italia mediante un sottoprogramma che effettua a livello applicativo la cifratura/decifratura di un' area di dati. Viene utilizzato a tal fine un algoritmo crittografico standard con chiave segreta. La chiave ha una lunghezza di 8 caratteri e contiene valori esadecimali. Essa viene periodicamente modificata dalla Banca d'Italia, ed è quindi riferita ad una data di validità. A tal proposito è opportuno tenere presente che ciascuna chiave continua ad essere valida ed utilizzabile purché riferita ad un periodo compreso tra la sua data di validità e quella della chiave immediatamente successiva. Il testo da cifrare/decifrare deve contenere esclusivamente valori appartenenti al set di caratteri utilizzabili per lo scambio di informazioni con la Centrale dei rischi (cfr.12.2) e deve avere, come sua massima lunghezza, 9999 byte. Un codice di ritorno di 2 byte sta ad indicare il risultato dell'operazione crittografica.

Parametri

La routine deve essere richiamata dal programma utente fornendo nell'ordine i seguenti parametri:

TIPO OPERAZIONE (1 = Cifratura, 2 = Decifratura)

CHIAVE CRITTOGRAFICA (8 byte con contenuto esadecimale )

C.R.O. (Codice Riferimento Operazione, 9 byte con contenuto numerico diverso da zero)

CODICE ABI INTERMEDIARIO SEGNALANTE (5 byte con contenuto numerico)

AREA DATI DA TRASFORMARE (max. 9999 byte con contenuto alfanumerico e con valori compresi nel set di caratteri utilizzabili per lo

scambio di informazioni con la Centrale dei rischi, cfr. 12.2)

LUNGHEZZA AREA DATI (4 byte con contenuto numerico diverso da zero)

CODICE DI RITORNO ( 2 byte con contenuto numerico )

N.B.: Si avverte che, al fine di uniformare le operazioni di CIFRATURA E DECIFRATURA, è indispensabile comportarsi come segue: 1) Costruire, per ogni singolo record, un' unica area da crittografare o decrittografare composta da tutti

i campi interessati, presi nell' ordine così come definiti nel tracciato.

2) Comunicare quest'area come AREA DATI al modulo di crittografia, indicandone la relativa lunghezzacomplessiva in caratteri.

3) Va da sé che il modulo di crittografia va chiamato una sola volta per ogni record.

Controlli

La routine effettua alcuni controlli di validità dei dati comunicati mediante i parametri ed imposta di rimando il codice di ritorno secondo quanto segue:

Page 4: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 548

00 = Operazione regolarmente effettuata. 01 = Parametri forniti in numero diverso da sette. 02 = Tipo operazione errato.

03 = Chiave di cifratura errata, pari a spazi, oppure pari a zeri. 04 = C.R.O. pari a spazi oppure a zeri.

05 = Codice intermediario segnalante pari a spazi oppure a zeri. 06 = Lunghezza dati errata.

07 = Area dati contenente caratteri estranei al set di riferimento.

In caso di operazione regolare (Codice di ritorno = 00), la routine restituisce nell'area dati il suo contenuto trasformato secondo quanto richiesto con il Tipo Operazione.

Gestione delle chiavi

Così come già detto, la chiave di crittografia è utilizzabile se riferita ad un periodo compreso tra la sua data di validità e quella della chiave immediatamente successiva. È pertanto indispensabile una gestione di tipo storico al fine di impedire confusioni dovute, in seguito, alla molteplicità di chiavi esistenti.

Si osservi l' esempio seguente:

Chiave ABCDEFGH comunicata con data di validità 1/1/03

Chiave 12345678 comunicata con data di validità 31/1/03

Supporto magnetico spedito all' intermediario il 5/2/03 portante sul record di testa la data di produzione 25/1/03 : chiave da utilizzare per decifrare i dati = ABCDEFGH.

Supporto magnetico spedito all' intermediario il 5/2/03 portante sul record di testa la data di produzione 4/2/03 : chiave da utilizzare per decifrare i dati = 12345678.

Dati necessari alla crittografia

I dati utili per l'effettuazione del processo di cifratura/decifratura sono:

1) Data di produzione del supporto magnetico o del file transfer necessaria per la correttadeterminazione della chiave segreta valida).

2) Codice intermediario segnalante.

3) Tipo operazione (=1 per "CRITTOGRAFARE", =2 per "DECRITTOGRAFARE").

4) C.R.O. (Codice Riferimento Operazione): campo numerico di 9 cifre diverso da zero.

- Per i supporti magnetici e per il file transfer viene ottenuto dal valore del campo "PROGRESSIVO RECORD” (posizione 1-7 dei record logici), preceduto da due zeri.

Page 5: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 549

Per effettuare la crittografia del campo “costante crittografia” del record di testa ANABI, si assume convenzionalmente che il progressivo record sia posto al valore “1”.

- Per la rete deve essere impostato utilizzando il valore dell’IDC 020, escludendo i due caratteri di controllo finali.

È importante tenere presente che la routine è in grado di trattare esclusivamente aree dati con valori compresi nel set di caratteri utilizzabili per lo scambio di informazioni con la Centrale dei rischi (cfr. 12.2).

Sistemi MS/DOS e compatibili

La directory DOSPC contiene i programmi registrati in formato ASCII da utilizzare in ambiente pc con il sistema operativo MS/DOS. In particolare, essi sono:

Bicr.asm Bicr.obj Esempio.cbl

sorgente del programma per la crittografia dei dati; modulo obj del programma per la crittografia dei dati; esempio di programma Cobol per la chiamata al modulo di crittografia.

Quest’ultimo va compilato utilizzando un compilatore Cobol compatibile con lo standard ANSI 85 e la “calling convention” standard del Cobol.1

Si fa presente che alcune case produttrici di software usano differenti modalità di passaggio dei parametri tra il linguaggio Cobol e il linguaggio ASM (“calling convention”). Questo può richiedere la modifica del modulo BICR.ASM.

Sistemi IBM/370 e compatibili

Per questa tipologia di Sistemi Operativi il contenuto del file compresso è così articolato:

a) Programma fondamentale di crittografia (BICRYPT), scritto in linguaggio Assembler IBM.

b) Sub-routine del programma precedente (DEA1), scritta in linguaggio Assembler IBM.

c) Programma esemplificativo dell'utilizzo della crittografia, scritto in linguaggio Cobol Standard(CBICRYPT).

Il modulo DEA1 deve essere link editato con BICRYPT che deve essere definito riusabile. Il programma Cobol CBICRYPT può servire come esempio di utilizzo della routine di crittografia. In tale programma la chiave di cifratura viene fissata al valore esadecimale "CCCCCCCC33333333".

___________________________________________ 1

Si fornisce un esempio di comando di link utilizzato in ambiente MS/DOS:LINK ESEMPIO.OBJ + BICR.OBJ + ADIS + ADISINIT + ADISKEY + EXTFH > nella riga di richiesta libreria inserire la LCOBOL.

L'oggetto EXTFH serve per consentire al programma di fare operazioni di I-O su file esterni. Gli oggetti ADIS, ADISINIT, ADISKEY servono solo nel caso in cui il programma abbia delle istruzioni di ACCEPT

E DISPLAY relative agli screen.

Page 6: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 550

Sistemi HONEYWELL/DPS6

Per questa tipologia di Sistemi Operativi il contenuto del file compresso è così articolato:

a) Programma fondamentale di crittografia (BICR).

b) Programma esemplificativo dell' utilizzo della crittografia, scritto in linguaggio Cobol (CBICR).

c) Esempio di procedura per la compilazione.

Sistemi I.B.M. AS/400 e S/38

Per questa tipologia di Sistemi Operativi il contenuto del file compresso è così articolato:

a) Routine fondamentale di crittografia (BICRYPT).

b) Definizione delle sue tabelle interne che vengono incluse al momento della compilazione (COPYTAB).

c) Programma per la creazione della tabella esterna IP (CRTIP).

d) Programma esemplificativo dell' utilizzo della crittografia, scritto in linguaggio RPG (PGMRPG).

e) Programma esemplificativo dell' utilizzo della crittografia, scritto in linguaggio Cobol (PGMCBL).

Per l'installazione della routine devono essere effettuate le seguenti operazioni:

1) Creazione della libreria destinata a contenere tutti i moduli (sorgenti, oggetti, file) necessari allaprocedura di crittografia; utilizzare il comando:

CRTLIB LIB(nome-libreria)

2) Creazione, all'interno della libreria precedente, del file destinato a contenere i "sorgenti"; utilizzare ilcomando:

CRTSRCPF FILE(nome-libreria/nome-file) (AS/400)

CRTSRCPF FILE(nome-file.nome-libreria) (S/38)

3) Trasferimento dei moduli sorgente interessati, presenti sul supporto magnetico, nel file creato al

punto precedente. Al termine dell'operazione, nel file "nome-file" dovranno essere presenti i sorgenti

"BICRYPT", "COPYTAB", "CRTIP".

4) Pre-allocazione del file "IP", nella stessa libreria, mediante il comando:

CRTPF FILE(nome-libreria/IP) SRCFILE(.../..) SRCMBR(ip) (AS/400)

Page 7: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 551

CRTPF FILE(IP.nome-libreria) SRCFILE(......) SRCMBR(ip) (S/38)

dove il sorgente "IP" deve contenere le seguenti specifiche DDS:

A*. 1 + 2 + 3 + 4 + 4 + 5 + 6A R RIP

A ELEMIP 96

5) Compilazione ed esecuzione del programma CRTIP onde ottenere, nella stessa libreria, il file "IP",tabella esterna della routine BICRYPT.

6) Modificare il sorgente del programma BICRYPT in modo che l'istruzione "C/COPY....." contengal'effettivo nome-libreria (a meno che non sia stata creata con il nome "BDI") e sia aderente alla sintassi del sistema utilizzato.

C/COPY BDI/QRPGSRC,COPYTAB (AS/400)

C/COPY QRPGSRC.BDI,COPYTAB (S/38)

7) Compilazione del programma BICRYPT mediante il comando:

CRTRPGPGM ............

Al termine della compilazione, nella libreria "nome-libreria" sarà presente un modulo eseguibile con il nome BICRYPT che avrà incluse al suo interno le tabelle definite nel sorgente COPYTAB.

8) Esecuzione, per il programma BICRYPT, del comando CHGPGM, indicando "*YES" sul parametro:

OTTIMIZZAZIONE

Page 8: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 552

Sistemi HONEYWELL DPS4 (GCOS4)

Per questa tipologia di Sistemi Operativi il contenuto del file compresso è così articolato:

a) Sorgente della routine per la crittografia e la decrittografia (BICRYPT).

b) Subroutine di BICRYPT (DEA1).

c) Un programma sorgente esemplificativo (TEST), scritto in linguaggio Cobol, utilizzante laroutine BICRYPT.

Per l'installazione della routine devono essere effettuate le seguenti operazioni:

1) Trasferire su libreria i moduli presenti sul supporto magnetico, nell'ordine, mantenendo inomi indicati.

2) Compilare le routines BICRYPT e DEA1 (scritte in linguaggio assembler).

3) Compilare il programma chiamante ed effettuarne il "LINK" assieme alle routinesassembler già compilate, ottenendo in tal modo un modulo eseguibile.

4) È possibile effettuare un primo collaudo utilizzando il programma esemplificativo (TEST)fornito. Si fa presente che detto programma non necessita di file esterni.

N.B. La chiave dovrà essere passata alla routine come un campo di 16 byte alfanumerici. Ciascun byte conterrà la rappresentazione, in formato carattere, del dato esadecimale presente nel rispettivo semibyte della chiave da 8 byte comunicata dalla Banca d'Italia.

Es.: chiave da 8 byte: X'CCCCCCCC33333333' chiave da 16 byte :'CCCCCCCC33333333'

Sistemi HONEYWELL DPS7 (GCOS7)

Per questa tipologia di Sistemi Operativi il contenuto del file compresso è così articolato:

a) Sorgente della routine per la crittografia e la decrittografia (BICRYPT).

b) Subroutine di BICRYPT (DEA-H).

Page 9: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 553

c) Subroutine di BICRYPT (SX-H).

d) Subroutine di BICRYPT (IP-H).

e) Subroutine di BICRYPT (IPI-H).

f) Subroutine di BICRYPT (BUILD-H).

g) Subroutine di BICRYPT (BUILD).

h) Subroutine di BICRYPT (DEA).

i) Subroutine di BICRYPT (BICR-H).

l) Un programma sorgente esemplificativo, scritto in linguaggio Cobol, utilizzante la routine BICRYPT.

Utilizzo della routine BICRYPT in formato sorgente

Tutti i moduli, ad eccezione del programma esemplificativo (l), sono scritti in linguaggio "C". Per l'installazione della routine devono essere effettuate le seguenti operazioni:

1) Trasferire i moduli presenti sul supporto ottico, nell'ordine, mantenendo i nomi indicati.

2) Creare una libreria di tipo SL e copiarvi tutti i moduli già trasferiti dal supporto.

3) Compilare BICRYPT utilizzando, da IOF, l'utility "CLANG".

4) Compilare il programma utente (chiamante la routine BICRYPT) e linkeditarlo.

Si fa presente che la routine è richiamabile da programmi COBOL 74 compilati con LEVEL=NSTD.

Utilizzo della routine BICRYPT in formato eseguibile

Qualora l'intermediario non dovesse disporre del compilatore 'C', potrà richiedere un CD contenente la routine 'BICRYPT' già compilata ed estratta da libreria di tipo CU (cfr. 9.6).

Per l'installazione della routine pre-compilata devono essere effettuate le seguenti operazioni:

1) Creare, se non già esistente, mediante il comando MNLIB, una libreria di tipo CU.

2) Copiare dal supporto, mediante il comando LDF, il file BICRYPT.LOD all'interno della libreria di tipo CU.

3) Compilare il programma utente (chiamante la routine BICRYPT) e linkeditarlo accedendo alla libreria CUcontenente BICRYPT.

Page 10: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 554

Si precisa che rimane comunque a carico dell'intermediario un'eventuale futura ricompilazione dovuta a modifiche nel sistema operativo.

Sistemi HONEYWELL DPS8 (GCOS8)

Per questa tipologia di Sistemi Operativi il contenuto del file compresso è così articolato:

) Sorgente della routine per la crittografia e la decrittografia (BICRYPT).

a) Subroutine di BICRYPT (COMPRS).

b) Subroutine di BICRYPT (EXPS).

c) Subroutine di BICRYPT (DEA).

d) Subroutine di DEA (XLTS).

e) Subroutine di DEA (XLTIP).

f) Subroutine di DEA (XLTIPI).

g) Subroutine di DEA (BUILDK).

h) Subroutine di BUILDK (PRESK).

l) Subroutine di BUILDK (SHIFTK).

m) Subroutine di BUILDK (POSTSK).

n) Un programma sorgente esemplificativo (CHK), scritto in linguaggio Cobol, utilizzante la routineBICRYPT.

Per l'installazione della routine devono essere effettuate le seguenti operazioni:

1) Trasferire su libreria i moduli presenti sul CD, nell'ordine, mantenendo inomi indicati.

2) Compilare le routines assembler, sotto TSS, con il comando JRN di un job del tipo seguente, dopoaver personalizzato gli opportuni parametri d'ambiente :

$$N,J,MONI $ IDENT site dependent fields $GMAP NSAF,DECK,ON5 $PRMFL C*,W,S,object file string $$SELECT (source program file string) $ ENDJOB

Page 11: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 555

3) Ottenuti gli oggetti, si consiglia di creare un'unica libreria random con il JRN del seguente job:

$$N,J,MONI $ IDENT site dependent fields $ PROGRAM RANLIB $DATA A3,COPY

$ SELECTD - richiamo agli object ...........- ottenuti come *C nello $ SELECTD - step precedente $ ENDCOPY

$ PRMFL A4,W,R,file string di libreria $ ENDJOB

4) È possibile effettuare un primo collaudo utilizzando il programma esemplificativo (CHK) fornito. Si fapresente che detto programma non necessita di file esterni.

Sistemi I.B.M S/36

Per questa tipologia di Sistemi Operativi il contenuto del file compresso è così articolato:

a) Sorgente della routine per la crittografia e la decrittografia (SUBRDC), richiamabile daprogrammi scritti in linguaggio COBOL.

b) Sorgente della routine per la crittografia e la decrittografia (SUBRDS), richiamabile daprogrammi scritti in linguaggio RPG.

c) Un programma sorgente esemplificativo (PGMCBL), scritto in linguaggio COBOL,utilizzante la routine SUBRDC.

d) Un programma sorgente esemplificativo (PGMRPG), scritto in linguaggio RPG, utilizzante laroutine SUBRDS.

Utilizzo delle routine di crittografia in formato sorgente

Per l'installazione della routine devono essere effettuate le seguenti operazioni:

1) Trasferire i moduli di cui ai precedenti punti a, b, c, d, presenti sul CD sul sistemacentrale e porli in una libreria di tipo "source".

2) Assemblare le routines SUBRDC e SUBRDS (scritte in linguaggio Assembler) mediante il comando:

ASM nome-programma, nome-lib-source, nome-lib-oggetto

3) Compilare il programma chiamante mediante il comando:

Page 12: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 556

se trattasi di programma COBOL

COBOLC nome-programma, nome-lib-source, nome-lib- oggetto

se trattasi di programma RPG

RPGC nome-programma, nome-lib-source, nome-lib-oggetto

Al termine della compilazione, nella libreria nome-libreria-oggetto, sarà presente un modulo eseguibile contenente, al suo interno, la relativa routine Assembler.

Utilizzo delle routine di crittografia in formato eseguibile

Qualora l'intermediario non dovesse disporre del compilatore 'ASSEMBLER', potrà richiedere un CD contenente rispettivamente i moduli 'SUBRDC’ e 'SUBRDS' già' compilati ed estratti dalla libreria oggetto (cfr. 9.6).

Per l'installazione della routine pre-compilate devono essere effettuate le seguenti operazioni:

1) Copiare i file 'SUBRDC' e 'SUBRDS' dal supporto ottico al sistema centrale, mediante file- transfert, ottenendo due file sequenziali con records logici di lunghezza pari a 80 caratteri.

2) Copiare i due file così ottenuti, su altri due file sequenziali, utilizzando solo le zone da posizione 1a posizione 8 di ciascun record logico da 80 caratteri (le posizioni rimanenti contengono "blanks"). Si può utilizzare, allo scopo, l'utility "COPYFILE". I file sequenziali così creati conterranno quindi records logici da 8 caratteri. I passi 1) e 2) possono essere anche eseguiti direttamente mediante un semplice programma applicativo.

3) Trasferire i file creati in una libreria di moduli eseguibili mediante il comando:

TOLIBR nome-file-seq,F1,,,nome-libreria

4) Compilare il programma chiamante mediante il comando:se trattasi di programma COBOL

COBOLC nome-programma, nome-lib-source, nome-lib- oggetto

se trattasi di programma RPG

RPGC nome-programma, nome-lib-source, nome-lib-oggetto

Page 13: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 557

Al termine della compilazione, nella libreria nome-libreria-oggetto, sarà presente un modulo eseguibile contenente, al suo interno, la routine Assembler.

N.B. La chiave dovrà essere passata alla routine come un campo di 16 byte alfanumerici. Ciascun byte conterrà la rappresentazione, in formato carattere, del dato esadecimale presente nel rispettivo semibyte della chiave da 8 byte comunicata dalla Banca d'Italia.

Es.: chiave da 8 byte: X'CCCCCCCC33333333' chiave da 16 byte : 'CCCCCCCC33333333'

Si precisa che rimane comunque a carico dell'intermediario un'eventuale futura ricompilazione dovuta a modifiche nel sistema operativo.

Sistemi UNISYS 1100 E 2200

Per questa tipologia di Sistemi Operativi il contenuto del file compresso è così articolato:

a) Sorgenti dei moduli di crittografia e relativi comandi per il loro caricamento su di una libreria diappoggio:

DOC (Documentazione)

PROC/CALL (ASM)

XOR (ASM)

CMPR (ASM)

TABIP1 (ASM)

TABS (ASM)

TABIP (ASM)

TAB1 (ASM)

TABPC2 (ASM)

TABPC1 (ASM)

DEA1 (ASM)

BICRYPT (COBOL) TAB-DEBOLE/COBP (tabella chiavi deboli)

b) Un programma sorgente esemplificativo (PGMCBL), scritto in linguaggio Cobol, utilizzante la routineBICRYPT. Nel programma è presente la conversione in EBCDIC dei campi CRO e ABI, presenti nel parametro di chiamata.

Page 14: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 558

Per l'installazione della routine devono essere effettuate le seguenti operazioni:

1) Trasferire su libreria utente i sorgenti in (a) ed il programma esemplificativo in (b).

2) Eseguire i comandi (contenuti in (a)) per la creazione ed il caricamento della libreria dei sorgentiper la crittografia.

3) Assemblare i moduli assembler e compilare BICRYPT, per la creazione dei moduli oggetto.

4) Compilare il programma utente chiamante.

5) Sottoporre a PDP la tabella TAB-DEBOLE/COBP.

6) Effettuare la "collazione" del programma utente chiamante con i moduli oggetto precedenti, per lacreazione del modulo eseguibile utente. Il modulo oggetto del programma utente deve necessariamente risiedere nella stessa libreria dei moduli eseguibili per la crittografia.

N.B. La chiave dovrà essere passata alla routine come un campo di 16 byte, in formato carattere. Ciascun byte conterrà la rappresentazione, in formato carattere, del valore presente nel rispettivo semibyte della chiave da 8 byte comunicata dalla Banca d'Italia.

Es.: chiave da 8 : X'CCCCCCCC33333333' (8 byte) chiave da 16: 'CCCCCCCC33333333' (16 byte)

Sarà compito del programma utente chiamante convertire in codifica EBCDIC i campi C.R.O. (Codice riferimento operazione) e CODICE INTERMEDIARIO SEGNALANTE, prima di effettuare la "CALL" al modulo "BICRYPT" (cfr. programma esemplificativo fornito).

Page 15: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 559

11.4. Procedura di Installazione e Verifica

Al fine di attivare la funzione di Crittografia , si dovranno eseguire le seguenti attività:

� Copiare i file di prova FILE1 e FILE2 (cfr. 11.2) previsti dal programma cobol ESEMPIO, avendo cura per l’ambiente p.c. di porli sulla stessa directory del pgm ESEMPIO.EXE ottenuto dalla compilazione del programma ESEMPIO.CBL.

� Salvare il contenuto originale dei dati di prova.

� Eseguire il programma ESEMPIO.EXE che legge il FILE1 e scrive il FILE2 (Tipo Operazione uguale ad ‘1’).

� Verificare che il file FILE2 di output sia coincidente con il file originario di prova, precedentemente salvato, utilizzando un qualsiasi programma di utilità.

La perfetta corrispondenza dei contenuti dei file indicati sarà la conferma della validità dei programmi predisposti.

Lo stesso procedimento può essere eseguito per l’attivazione della funzione di Decrittografia, impostando il Tipo Operazione al valore ‘2’ e invertendo opportunamente i file di input/output nel programma ESEMPIO.CBL.

Page 16: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 560

11.5. Note sulla funzione di utilità file transfer

Si elencano alcune raccomandazioni indispensabili per utilizzare il programma di crittografia in ambiente MS/DOS ed utilizzare invece il mainframe per mantenere lo scambio di informazioni con la Banca d’Italia mediante altri mezzi trasmissivi, quali i supporti ottici o la Rete Nazionale Interbancaria.

1) Disporre di un emulatore dotato di tabella di transcodifica ASCII/EBCDIC del tipo americano, N. 37.

2) Le operazioni di RECEIVE (da mainframe a PC) e di SEND (da PC a mainframe), relative a filedi dati, dovranno essere eseguite senza il parametro CRLF, ovvero i records non dovranno terminare con i caratteri di "End of record".

3) Le operazioni di RECEIVE (da mainframe a PC) e di SEND (da PC a mainframe), relative a file

di programmi, contrariamente

qualora a quanto

necessarie, indicato per

dovranno i file di dati.

essere eseguite con il parametro CRLF,

4) PROBLEMI DI CONVERSIONE TRA ASCII E EBCDIC:

Il carattere ‘chiocciola’, avente la rappresentazione esadecimale EBCDIC pari a X'7C' può essere erroneamente transcodificato nella rappresentazione esadecimale ASCII pari a X'15', invece di X'40'.

Il carattere ‘chiocciola’, avente la rappresentazione esadecimale ASCII pari a X'40' può essere erroneamente transcodificato nella rappresentazione esadecimale EBCDIC pari a X'B5', invece di X'7C'.

Il carattere ‘pound’, avente la rappresentazione esadecimale EBCDIC pari a X'7B' può essere erroneamente transcodificato nella rappresentazione esadecimale ASCII pari a X'9C', invece di X'23'.

Il carattere ‘pound’, avente la rappresentazione esadecimale ASCII pari a X'23' può essere erroneamente transcodificato nella rappresentazione esadecimale EBCDIC pari a X'B1', invece di X'7B'.

Page 17: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 561

11.6. Richiesta di moduli eseguibili

Nel caso in cui l’intermediario segnalante abbia richiesto il CD contenente i moduli eseguibili (sistemi operativi DPS7 e IBM S36), si elencano nell’ordine i file in esso contenuti:

1) Modulo BICRYPT per il sistema operativo DPS7 con le seguenti caratteristiche fisiche:

Label = NO LABEL, blocco = 6144 caratteri, record =1028 caratteri, formato = VB

2) Modulo SUBRDC richiamabile da programmi scritti in COBOL per il sistema IBM S36 con leseguenti caratteristiche fisiche:

Label = NO LABEL, blocco = 800 caratteri, record = 80 caratteri, formato = FB

3) Modulo SUBRDS richiamabile da programmi scritti in RPG per il sistema IBM S36 con le seguenticaratteristiche fisiche:

Label = NO LABEL, blocco = 800 caratteri, record = 80 caratteri, formato = FB

Page 18: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 562

12. Appendici

12.1. Informazioni da fornire per lo scambio dei dati su supporto ottico

Page 19: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 563

Page 20: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 564

12.2. Elenco dei caratteri utilizzabili per lo scambio di informazioni con la Centrale dei rischi

(Tabella ordinata per codice ASCII)

CARATTERE VALORE EBCDIC ESADECIMALE ASCII

Spazio 40 20

“ 7F 22

(‘pound’) 7B 23 $ 5B 24 & 50 26 ‘ 7D 27 ( 4D 28 ) 5D 29 * 5C 2A + 4E 2B

, 6B 2C - (cfr. nota1) 60 2D

. 4B 2E 0 F0 30 1 F1 31 2 F2 32 3 F3 33 4 F4 34 5 F5 35 6 F6 36 7 F7 37 8 F8 38 9 F9 39

; 5E 3B < 4C 3C = 7E 3D > 6E 3E ? 6F 3F

§ (‘paragrafo’) 7C 40

Page 21: 11. Crittografia · BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica Vers. 7.4.8 Gennaio 2017 547 11.3. Istruzioni operative D efinizione delle interfacce

BANCA D’ITALIA Servizio R.E.S. Centrale dei Rischi Documentazione tecnica

Vers. 7.4.8 Gennaio 2017 565

A C1 41 B C2 42

C C3 43 D C4 44

E C5 45 F C6 46 G C7 47

H C8 48 I C9 49 J D1 4A K D2 4B

L D3 4C M D4 4D N D5 4E O D6 4F P D7 50 Q D8 51 R D9 52 S E2 53

T E3 54

U E4 55 V E5 56 W E6 57 X E7 58 Y E8 59

Z E9 5A

_ (cfr. nota 2) 6D 5F

Di seguito vengono forniti i criteri generali che devono essere osservati dagli intermediari nello scambio dei dati anagrafici con la Centrale dei rischi in presenza di caratteri diversi da quelli riportati nella tabella precedente.

A) I caratteri minuscoli devono essere trasformati in maiuscoli. B) Le lettere non ammesse ma riconducibili a una delle lettere dell’alfabeto anglosassone, devono essere

sostituite da tale lettera.

C) L’accento va sostituito con l’apostrofo. Le lettere che presentano caratteri, quali ad esempio dieresi e tilde,devono essere sostituite con le lettere corrispondenti prive di tali simboli.

D) Negli altri casi i caratteri non ammessi devono essere sostituiti con il carattere “=” (valore EBCDIC: 7E;valore ASCII: 3D). Esempi:

- la dizione originale “/IMO” si deve trasformare in “=IMO” - la dizione originale “IMO /” si deve trasformare in “IMO =”

____________ nota 1: trattino a metà altezza nota2: trattino basso