Annonce

Réduire
Aucune annonce.

[THEORIE] Transit des données bancaires.

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Tutoriel [THEORIE] Transit des données bancaires.

    Bonjour à tous.


    Dans ce tutoriel très théorique nous allons voir comment les données bancaires sont traitées par les systèmes bancaires informatisés ; de leur émission jusqu'à leur réception.
    Prenez le temps de le lire et relire plusieurs fois. Cela vous apparaîtra sûrement très abstrait. Alors n'hésitez pas à poser des questions.


    Prologue

    Pour comprendre pleinement et parfaitement ce tutoriel théorique, il vous faut posséder les connaissances de bases en théorie de l'information et en théorie des échanges numériques, ainsi qu'en théorie de l'échange des données sensibles.
    Une connaissance de l'univers bancaire n'est pas nécessaire.
    Des bases en cryptologie théorique et fondamentale vous seront très utile.



    I) Transit des données bancaires


    Définition: une donnée bancaire est un objet (virtuel ou physique) ayant pour valeur une valeur monétaire ou l'extension d'une valeur monétaire (titre, avoir, bon..).
    Ces objets sont émis par des organismes publics, gouvernementaux ou pas, et par des organismes privés (banques, assurances, experts...) et sont infinis dans le temps, sauf cas précis de changement de valeur référentielle (par exemple pour la monnaie) ou de péremption sécuritaire (avoirs, bons...).
    L'émission d'une donnée bancaire est fermement contrôlée par la loi et tout organisme ne possédant pas l'aptitude légale à émettre ces objets commet une fraude bancaire.


    Afin d'assurer la sécurité des données bancaires, celles-ci doivent transiter de l'endroit émetteur jusqu'à l'endroit receveur selon des circuits déterminés et sécurisés. La valeur monétaire d'une donnée transite de manière virtuelle afin d'assurer le financial load-balancing (l'équilibre monétaire) de manière à ce que la somme émise ne soit pas altérée et soit la même que la somme reçue.
    Ces circuits de transit sont appelé des "bandes" et sont échelonnés sur trois niveaux selon l'importance de la valeur émise:
    1er niveau: circuit monotone -> les données bancaires en transit ne sont pas importantes, de moindre somme
    2ème niveau: circuit vérifié -> les données bancaires en transit sont importantes mais pas essentielles, la somme est caractérisée par une échelle d'importance
    3ème niveau: circuit critique -> les données bancaires en transit sont sensibles et essentielles, la somme est déterminée par un seuil minimal


    Ces circuits sont virtuels et inaccessibles par voie physique (en temps normal). Le transit est contrôlé par des relais sentinelles (ou agents) qui sont en fait des routines software (watch-dog) qui vérifient à des points spécifiques du circuit que la valeur en transit n'est pas modifiée depuis l'extérieur. Si un watch-dog repère une anomalie, le segment de circuit incriminé est isolé, et la somme avec. A ce moment là, un agent physique (humain) accède au segment fermé et contrôle un historique des accès du circuit global afin de savoir ce qu'il s'est passé. Si c'est une fausse alerte, le segment et réouvert et la valeur peut reprendre son transit. Si le problème est bien réel, la somme est retirée du circuit jusqu'à réparation du problème.
    Pour les circuits critiques, en plus des watch-dog, une routine software appelée le "Keeper" vérifie de manière aléatoire la valeur sur plusieurs endroits du circuit ; cette routine spécifique se déplace avec la somme jusqu'au point d'arrivée. Le Keeper à des droits supérieurs aux watch-dog, à tout moment il peut choisir de bloquer la valeur en transit, de l'isoler ou de l'enfermer pour la couper de l'extérieur. Si une telle chose arrive, pour libérer la somme, il faudra rebooter le Keeper physiquement.
    Note: en aucun cas une routine ne peut modifier la valeur de la somme en transit, cette action n'est réalisable que par voie physique.



    Ces circuits sont des tunnels monomorphiques et bidirectionnels ; c'est à dire qu'ils ne peuvent changer de structure et peuvent supporter le transit de deux données en sens inverse. Intervient alors le problème de la collision entre deux valeurs en déplacement. On estime cette probabilité de collision à 1 collision toutes les 275000 valeurs, de manière naturelle.
    Cependant il est possible de provoquer volontairement une collision en envoyant des informations erronées au circuit. L'information de transit (seconde/minute/heure, vitesse, valeur, densité sur le circuit, coefficient d'instabilité(*)) liée à l'objet en transit est donnée avant l'injection de l'objet dans le circuit. Avec ces informations, le circuit alloue la mémoire strictement suffisante à l'échange et bloque les bit d'ancrage(*) à 0 ou 1. On s'aperçoit alors que si en cours de chemin on lui envoie des informations différentes, il va changer son comportement en conséquence et il y a alors un risque non-négligeable de collision.
    (*)coefficient d'instabilité: l'instabilité d'une valeur est la propriété d'une valeur en transit à perdre son information, soit par corruption, soit par segmentation (fragmentation de la valeur)
    (*)bit d'ancrage: bit déterminant l'appartenance de la valeur en transit au circuit



    Mais que se passe t-il si deux valeurs entrent en collision ?
    On a vu que les valeurs en transit contiennent des informations: vitesse, heure d'émission, heure de réception, signature de l'émetteur, somme...
    Si deux valeurs se "percutent" dans le circuit, il y a un risque de corruption de l'information sur une ou l'ensemble des deux valeurs, ce qui peut altérer l'information embarquée, soit par addition (vitesse augmentée, heure faussée, signature décalibrée..) soit par substitution (vitesse amoindrie, heure sous-estimée, coefficient manquant...). Et une valeur dont l'information a été corrompue perd sa valeur légale pour l'organisme receveur ; elle ne peut plus être utilisée, pour être versée sur le compte d'un client par exemple.
    Lors d'une collision, les watch-dog alentours ferment le segment accidenté et, avec un datagramme embarqué, essaient de reconstruire l'information de manière identique. Si ils n'arrivent pas à le faire, alors il faudra une intervention physique afin qu'un agent humain reconstruise l'information de la valeur (ou des deux).



    Ces tunnels sont cryptés du début à la fin. Le chiffrement quant à lui est polymorphique et aléatoire. Les tunnels sont balisés par des crypted points (relais virtuels fixes), et lorsque que l'objet en transit passe un de ces crypted points, le chiffrement du segment change entièrement. Ce polymorphisme de séquence assure une sécurité de cryptage complètement inviolable.
    Les segments sont chiffrés sur 8 bit dont 1 bit d'inversion bidirectionnel qui détecte les accès non-autorisés.
    Un accès au circuit depuis l'extérieur génère automatiquement une signature connue des watch-dog si cet accès provient d'un système sécurisé par la banque. Dans le cas contraire, la signature sera inconnue des watch-dog, le bit d'inversion passera à 1 et le segment ciblé sera isolé du reste du circuit ; si la valeur n'est pas encore passée par ce segment, ce que l'on appelle une embuscade sur bande, elle sera aiguillée sur la voie à contre-sens afin de contourner le segment fermé.
    Ce processus d'aiguillage, assuré par une routine d'aiguillage, est légalement autorisé à modifier l'information de la valeur afin d'updater l'information concernant son chemin pour la valeur soit légalement valide à l'arrivée. C'est le seul et unique cas où une routine est autorisée à modifier l'information d'une valeur en transit.
    Le segment isolé à cause de l'intrusion sera vérifié par un agent physique (humain) qui donnera son autorisation de le ré-ouvrir si la menace n'existe plus.


    La valeur est elle-même cryptée de façon monomorphique afin de maintenir l'intégrité de l'information. Le hash utilisé pour son cryptage n'est pas le même que celui du tunnel afin d'assurer la sécurité calculatoire. Si on casse le hash de la valeur (ce qui est virtuellement impossible), on ne pourra pas casser celui du tunnel, et inversement. Des techniques sont à l'étude pour rendre le cryptage de la valeur polymorphique, mais il faut encore résoudre le problème de l'information qui elle ne doit pas être altéré par les différences de cryptages pendant le transit.



    II) Stockage des données bancaires


    Avant l'émission et après la réception, les données bancaires sont stockées dans des conteneurs virtuels qui sont de véritables forteresses.
    Première propriété d'une donné bancaire: elle n'est pas instable une fois stockée. Son information (en particulier sa somme) ne peut pas muter ou être altérée, même si le référentiel extérieur (taux, valeur de la monnaie..) change. C'est la sécurité d'invariance. Une valeur est invariante dans le temps tant qu'elle est stockée. Par extension, ce principe d'invariance est aussi vrai pour des valeurs en transit.
    Ces conteneurs sont des espaces virtuels qui peuvent être géographiquement déplacés tant qu'ils restent dans la même zone monétaire. Par exemple, un conteneur français ne pourra être déplacé en Russie.
    Les conteneurs prennent la forme de matrice qui stockent la somme d'une valeur sous forme de bit dans un tableau à deux dimensions. Chaque tableau équivaut à une somme. L'information sur la somme est donc cryptée en séquence de bit. Une case ne peut contenir qu'un bit, ce qui évite le débordement d'une case à l'autre et donc la corruption de la somme.


    Exemple:
    matrice A -> 500 euros
    matrice B -> 1700 euros
    matrice C -> 4300 euros


    Pour chaque somme versée sur un compte, une matrice se créée avec cette somme. Bien que la somme qui soit affichée sur votre relevé soit une somme global puisque l'addition des matrices se fait automatiquement.
    Chaque ensemble de matrice est contenu dans une zone délimitée par un watch-dog qui appartient à une zone client. L'accès d'une zone à une autre est impossible, que ce soit par une routine ou par un agent humain. Les zones sont non-communicantes pour éviter les erreurs de transfert.
    Chaque accès à une zone demande la présentation d'une clé numérique (signature virtuelle) dont la séquence est le miroir de la séquence de cryptage de la zone. ; toujours pour éviter une intrusion de l'extérieur.
    Quant au conteneur, qui fait office de coffre-fort virtuel, la séquence d'autorisation est une séquence miroir d'une séquence générée aléatoirement toutes les millisecondes dont la trame est une équation partielle injective sur son domaine de génération. La résolution de cette séquence est donc virtuellement impossible pour le cerveau humain.


    Dernière modification par MadHatter, 27 décembre 2011, 17h42.
    Ex-membre Hackademiciens.

  • #2
    Si cela est une théorie, comment les données bancaires transitent-elles réellement ? Nul ne le sait ? Sécurité bancaire ? Dans ce cas, d'accord, mais alors je suppose donc que chaque zone géographie, voire chaque pays ou encore chaque banque, dispose de systèmes différents ? Il serait intéressant de connaître ces points fondamentaux car, en effet, s'il existe des dizaines de procédés de transit des données bancaires, ou plutôt des flux financiers, il y en a certainement un meilleur que les autres. Dans ce cas, pourquoi ?

    Selon moi, il serait étonnant que, à grande échelle, les banques ne coopèrent pas entre-elles sur leurs échanges de données bancaires - surtout à échelle internationale. Il me paraît aberrant qu'elles imposent toutes leur modèle. Et, s'il n'existe qu'une seule et unique loi (internationale), celle-ci doit forcément être connue. D'où mon interrogation : qu'est-ce que cette "théorie" ?
    sigpic

    Cyprium Download Link

    Plus j'étudie plus j'me rends compte que je n'sais rien.

    †|

    Commentaire


    • #3
      "Théorique" est ici employé dans le sens d'abstrait, car c'est une procédure standard qui est décrite, difficilement illustrable avec des exemples concrets dans le sens où les "datasheet" ne sont pas publiques.
      Les données bancaires transitent réellement de la façon donc c'est décrit, via des circuits informatisés en routine fermée. Comme c'est une procédure standard elle est identique pour chaque banque et chaque pays ; c'est une composante obligatoire car ces circuits doivent pouvoir communiquer et échanger avec les centres boursiers qui sont multinormatifs. Les seules institutions à disposer de circuits à normes privées sont les Banques Centrales.

      Le principe premier imposé est que chaque banque de n'importe quel pays puisse reconnaitre une même norme afin de la traiter de façon égalitaire (il n'y a que les paramètres qui changent : devise, taux...) pour ne pas altérer l'information du flux, donc c'est le même système normatif qui régit toutes les banques.
      C'est la procédure de transit standard telle que définie par les accords de Bâle et les AMF de chaque pays.
      Comme le serait le transit des données dans les circuits aériens, ce sont des processus internationaux communs.
      Ex-membre Hackademiciens.

      Commentaire


      • #4
        Violent !!!
        Je sais pas comment tu sais tout ça, mais je m'attendais pas du tout à trouver ce genre de "théorie".
        Si un pro arrive à casser les sécurités, je dis bravo ! Ça donne mal à la tête.
        Merci. Pour sécuriser son réseau ton article donne plein d'idée.
        Dernière modification par Yarflam, 03 décembre 2012, 06h08.
        ~ Yarflam ~

        ❉ L'Univers se dirige vers son ultime perfection ❉

        Commentaire


        • #5
          Merci !
          Qui est le maître, le peintre ou le faussaire... ?

          ㅡ La solidité d'une chaine est égale à la solidité de son maillon le plus faible ㅡ

          Commentaire


          • #6
            Trés interessant!
            J'avais entendu dans un interwiew qu'un gars de la nuit du hack a presenter un sujet expliquant qu'on pouvait actuelement suprimer les données bancaires a un niveaux mondial (je crois), enfin bref j'ai vu ca de loin et j'ai pas trop suivi donc a prouver!
            Dernière modification par SAKAROV, 18 décembre 2012, 22h56. Motif: surtout que le staff hzv... sinon vive les fautes...
            La différence entre Linux et Windows, c'est que Linux c'est comme une belle fille, il faut l'apprivoiser, la comprendre, la séduire tandis que Windows, c'est comme une prostitué, il faut payer et surtout bien se protéger.

            Commentaire

            Chargement...
            X