2. Consolidation et Améliorations du software existant. *
2.1. Rappels *
2.2. Analyse *
2.3. Détails de l’implémentation. *
5. Conclusions *
6. Annexes *
Cette tâche avait pour but principal d’améliorer l’outil informatique développé dans le cadre du work package 6 de la phase 1 du projet. On fera référence à ce rapport pour le détail de ce qui avait été développé dans la première phase du projet.
Cette tâche avait également pour but d’examiner les méthodes permettant d’assurer la sécurité du transfert des fichiers scannés dans le processus d’acquisition. Il a été décidé de n’implémenter aucune méthode dans le cadre de cette tâche.Aussi la description réalisée n’a pour but que de donner un aperçu de la problèmatique de la sécurité.
Enfin La dernière partie de cette tâche était
le «packaging » du software réalisé.Pour cette
partie, on se référera au logiciel proprement dit.
Les documents générés par le software
d’IRIS servent à alimenter le serveur pdf qui sera décrit
dans le wp2.
Avant de se pencher sur les modifications à apporter
au software, un petit rappel est de rigueur.
Le software d’acquisition et de conversion tel que développé
dans la phase I est constitué de trois modules ou applicatifs.
Le premier module est le plugins proprement dit qui pour
rappel est un code dynamique associé à un type de plateforme
donné et s’intégrant sous forme d’une fenêtre dans
un browser.
Ce module fait le lien entre le module d’acquistion proprement
dit et le système de commande. Il permet de communiquer avec le
module d’acquisition via une série d’attributs précisant
les modalités de l’acquisition.
Les principaux attributs concernaient les propriétés
des images à acquérir.
Le deuxième module est un exécutable qui gère l’acquisition en twain et génère des fichiers au format demandé dans le répertoire demandé avec le nom demandé. Il est également produit pour chaque acquisition un fichier DAT qui a été décrit dans le rapport de la tâche 6 de la phase I.
Enfin le troisième module est un exécutalbe batch permettant de convertir l’ensemble des fichiers tiffs en fichiers pdfs.
L’utilisation du software dévelppé dans
le cadre de Virlib 1 a mis en évidence une série de problèmes
et àméliorations à apporter afin de répondre
pleinement aux exigences des bibliothèques.
Des réunions préalables ont montré
que les modifications et améliorations à apporter devaient
l’être conformément aux points suivants :
A ces propositions des différents partenaires,
IRIS a également proposé et réalisé le transfert
du développement dans un environnement « full 32 bits »,
ceci pour mieux adapter le soft à l’environnement standard actuel
(Windows 95/Windows NT workstation)ainsi que pour permettre une installation
plus aisée du software.
2.3. Détails de l’implémentation.
Les principales modifications ont été apportées
aux plugin et au logiciel d’acquisition.
Une série d’attributs a été rajoutée
au plugin.
Des modifications ont été apportées
au logiciel d’acquisition pour permettre une acquisition convertissant
directement un fichier tiff en fichier pdf. Des modifications ont été
apportées à la librairie pdf permettant d’ajouter une page
de garde.
Etant donné que ce n’est pas l’objet de ce rapport
de commenter le code développé dans le cadre de cette tâche,
on ne reprendra ici que la liste des attributs du plugin condionnant le
processus d’acquisition.
Description des attributs
du Plugins
IMAGEPATH
Description : path de l’image qui va être scannée
Valeur possible : Chaîne de caractères.
IMAGEBITSPERPIXEL
Description : nombre de bits par pixel de l’image qui
va être scannée
Valeurs possibles :
1 : image
noir/blanc
8 : image
niveaux de gris
IMAGEHRESDPI
Description : résolution horizontale de l’image
qui va être scannée
Valeurs Possibles : La résolution
est liée aux possibilités du scanner.
Remarques : Les résolutions
horizontales et verticales doivent être les mêmes dans ce type
d’application.
IMAGEVRESDPI
Description : résolution verticale de l’image
qui va être scannée
Valeurs possibles : Lié aux
possibilités du scanner.
Remarques : Les résolutions
horizontales et verticales doivent être les mêmes dans ce type
d’application.
IMAGENAME
Description : Nom de l’image qui va être scannée.
Valeurs possibles : Chaîne
de caractères.
IMAGEEXTENSION
Description : Type de l’image qui va être scannée.
Valeur possibles :
TIF si on
veut que le format de l’output soit une image en format TIFF
PDF si on
veut que le format de l’output soit une image en format PDF
IMAGECOMPRESSION
Description : Flag indiquant si l’image qui va être
scannée sera ou non comprimée
Valeur possibles :
0 pas de compression
1 compression
de l’image 1 bits en format CCITT Group 4.
TWAINACQUISITION
Description :
Valeurs possibles :
0 on ne scanne
pas d’image mais on génére un fichier reprenant les attributs
du plugin.
1 on scanne
l’image via TWAIN.
MULTITIFF
Description : Flag indiquant si les images qui vont être
scannées doivent être mises dans un format TIFF
-> 1 seul fichier pour toutes les images.
Valeur Possible :
un fichier
par image
un fichier
pour toutes les images
TWAINUI
Description : Flag indiquant si on veut ou non voir apparaître
l’interface TWAIN au moment du scan.
Valeur Possible :
L’interface
TWAIN ne sera pas présent
On affiche
l’interface TWAIN.
INFO
Description : lieu de livraison de l’image (site ftp
en général)
Valeur Possible : Chaîne de
caractères
PASSWORD
Description : password de l’utilisateur pour lire le
document final
Valeur Possible : Chaîne de
caractères
Remarques : cet attribut n’est pas utilisé
CNSN
Description : Information d’Impala concerant la bibliothèque
demandant un scanning
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
RQID
Description : Information de la bibliothèque demandeuse
donnant un numéro de requête
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
RCNM
Description : Information d’Impala concerant le numéro
d’Impala attribué à la requête
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
SPLN
Description : Information d’Impala concerant la bibliothèque
exécutant le scanning
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
CLNT
Description : Information d’Impala donnant le nom du
client et son adresse email
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
AART
Description : Information d’Impala donnant le nom de
l’auteur de l’article à scanner
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
TART
Description : Information d’Impala donnant le titre de
l’article à scanner
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
ISSN
Description : Information d’Impala donnant l’ «
ISSN number »
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
TTLE
Description : Information d’Impala donnant le titre du
journal
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
PUBD
Description : Information d’Impala donnant l’année
de publication
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
VLIS
Description : Information d’Impala donnant le numéro
du volume / fascicule
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
PGNS
Description : Information d’Impala donnant les numéros
de pages à scanner
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
CPFL
Description : Flag indiquant si une notice copyright
doit ou non apparaître sur la page de garde du document pdf résultant
du scanning des images.
Valeur possibles :
pas de notice
copyright
une notice
copyright apparaîtra sur la page de garde
Remarque : il s’agit d’un nouvel attribut
CPL1
Description : première ligne du copyright
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
CPL2
Description : deuxième ligne du copyright
Valeur possibles : Chaîne
de caractères
Remarque : il s’agit d’un nouvel attribut
CPL3
Description : troisième ligne du copyright
Valeur possibles : Chaîne
de caractères de maximum 128 caractères.
Remarque : il s’agit d’un nouvel attribut
Description des Paramètres
de Settings du Module d’Acquisition
Le module d’acquisition est lancé en tenant compte des différents paramètres se trouvant dans le plugin.
Il existe trois outputs principaux :
Ce petit chapitre développe très succintement
la problèmatique de la sécurité à travers le
cryptage de documents en l’abordant à partir de plusieurs points
d’entrée. Il est difficile, voire impossible,
de passer en revue toutes les méthodes de cryptage. De plus, la
complexité varie du puéril (méthodes scoutes) à
très recherchée.
Voici les points principaux qui peuvent influencer le
choix d'une méthode de cryptage, sa complexité, et par la
même occasion, son coût financier ou le temps nécessaire
pour retrouver le message initial.
Authenticité : pour garantir l'origine du document, on a recours à différents procédés comme les sceaux (marque dans le document) ou les signatures électroniques( forme de codage dont la clef de déchiffrement dépend de l’auteur).
Intégrité : garantir le caractère non-modifiable du document jusqu'à son destinataire. Il est fait usage de fonctions mathématiques, telles des fonctions de hachage, qui permettent de détecter toutes les altérations.
Fermé : le système n'est pas accédé par d'autres standards. Dans ce cas, la méthode cryptage est laissée au choix des analystes, développeurs ou utilisateurs. Elle peut tout-à-fait sortir de leur imagination. Dans ce cas, il est facile de rendre le codage et le décodage invisibles aux utilisateurs. Seul l’application connaît l’algorithme utilisé.
Clef publique : chaque protagoniste du système dispose d'une clef publique, qu'il diffuse, et d'une clef secrète complémentaire. Chaque clef déverrouille le code produit par l’autre. La clef publique du destinataire est utilisée pour lui envoyer un message crypté et celui-ci utilisera sa propre clef secrète pour décoder le document. Personne, en dehors du destinataire, ne peut le décrypté car personne d’autre n’a accès à cette clef secrète. Même la personne qui a codé le message n’est plus en mesure de le décrypter.
Transfert : le document en clair est transféré à l'aide de protocoles sécurisés.
La complexité du codage va de paire avec le temps de mise en oeuvre. De plus, certains algorithmes peuvent favoriser le temps de codage ou le temps de décodage, mais dans ce cas, la complexité est déjà plus élevée.
La complexité du cryptage dépend, entre autres, de la puissance de calcul des ordinateurs. Celle-ci augmentant de jour en jour, un codage de bonne qualité aujourd'hui pourra se révéler faible demain. Dès lors, la complexité sera plus élevée pour un cryptage à long terme, mais aucun système n’offre une sécurité absolue à long terme.
L'utilisation de codage peut nécessiter la demande d'une autorisation dans certain pays (ex.: France, mais pas en Belgique, ni au Luxembourg).
Le codage est une forme de transformation mathématique dont la sécurité dépend principalement de la complexité de la transformation.
Les méthodes de cryptage consistent en un savant mélange des transformations suivantes :
La cryptographie à clefs publiques repose principalement sur la propriété qu’ont certains calculs à être simples mais dont la démarche inverse est extrêmement compliquée (ex.: la factorisation).
Comme déjà dit auparavant, le nombre de
méthodes existantes est énorme. Il existe de nombreux algorithmes
publiques et libres d’utilisation, mais il existe encore plus d’algorithmes
personnels, libres d’utilisation ("freeware") ou demandant une petite contribution
("shareware"), fournissant néanmoins une sécurité
élevée. Je cite ici les méthodes les plus connues.
Une variante est née pour pallier sa faiblesse : Triple-DES, qui consiste à réaliser 3 fois l’algorithme DES avec des clefs différentes.
L’algorithme est publique et consiste à réaliser des permutations et une fonction récursive sur des blocs de 64 bits tirés du message à l’aide de clefs de 56 bits.
IDEA (International Data Encryption Algorithm) : algorithme de chiffrement symétrique, faisant appel à une clef de codage de 128 bits. L’algorithme est publique, mais nécessite une licence (de Alcom-Tech) pour pouvoir être utilisé aux Etats-Unis et dans certains pays d’Europe. Son usage non commercial est libre.
RSA (Rivest-Shamir-Adelman) : algorithme à clef publique le plus utilisé. Il peut aussi bien être utilisé pour le cryptage de document comme pour la réalisation de signature électronique. La sécurité est élevée si l’algorithme est utilisé avec des clefs suffisament longues : 1024 bits pour la plupart des applications, mais 2048 bits semblent nécessaires pour tenir les prochaines années. La sécurité de l’algorithme se base sur la difficulté de factoriser de grands nombres.
L’algorithme est publique et son usage est libre en Europe, mais nécessite une licence aux Etats-Unis (jusque l’an 2000).
PGP (Pretty Good Privacy) : combinaison de 2 algorithmes de cryptage : RSA et IDEA. Le premier est utilisé pour la gestion des clefs et des signatures digitales, et le second, pour le chiffrement du texte. Le système est rapide et relativement "safe" si l’on change régulièrement le clef de codage. Son utilisation est libre, mais il faut savoir qu’aux Etats-Unis, son inventeur Phil Zimmermann, a été arrêter pour, soit-disant, ne pas avoir respecter les lois fédérales américaines.
MD2, MD4, MD5 (Message Digest Algorithm) : fonctions de hachage publiques, réputées pour leur bonne sécurité, les 2 premières étant d’anciens standards.
SHA, SHS (Secue Hash Algorithm, Secure Hash Standard) : fonction de hachage relativement neuve publiée par le gouvernement américain.
Protocoles sécurisés : DNSSEC (Domain Name Server Security), SSL (Secure Socket Layer), SHTTP (Secure HTTP), E-Mail Security, …
L’installation du logiciel s’effectue très simplement via un exécutable setup.exe.
Les différents fichiers installés sont les
suivants :
L’installation du programme crée en outres le répertoire
« c:\virlib\images » .
La consolidation et l’amélioration du software devra continuer après le projet pour tenir compte des nouveaux standards et nouvelles plateformes.
La mise en production va permettre de se rendre compte de nouvelles réalités et le logiciel devra en tenir compte via des mises à jour.
Ce logiciel fait partie de l’ensemble des logiciels VirLib
et ne pourra être installé que dans ce cadre bien spécifique.
NBFILES = 2
C:\VIRLIB\OUTGOING\5232_0.tif
C:\VIRLIB\OUTGOING\5232_1.tif
IMAGEEXTENSION = TIF
"<Info> virlib@library.ac.be </Info>"
CNSN = ULB
RQID = 2081
RCNM = 645232
SPLN = UIA
CLNT = E=firstname.lastname@host.domain;N=firstname lastname
AART = Smith, John;Edwards, David
TART = Advances in nucleic acid research
ISSN = 3456-2345
TTLE = New England Journal of Medicine
PUBD = 1998
VLIS = V=2;I=3
PGNS = p. 12-23
CPL1 = Copyright protected material
CPL2 = For personal use only
CPL3 = Material electronically
delivered through Impala/VirLib
VirLib
Impala Electronic Document Delivery Service
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Content of CPL2 Content of CPL3 |