• Aucun résultat trouvé

95. A priori, la blockchain semble parfaitement épouser les caractéristiques de la signature électronique actuelle802 puisqu’elles ont toutes deux en commun d’être basées sur les mêmes mécanismes cryptographiques, qui sont d’ailleurs la clé de leur conception et de leur sécurisation (Section 1). Toutefois, c'est en s’imprégnant davantage des fonctions légalement attendues d’une signature électronique qu'un élément non des moindres de la blockchain semble, en l’état actuel, faire défaut. Il s’agit de l’identification du signataire. En effet, les systèmes d’authentification divergent selon la technologie utilisée et la blockchain devra en particulier supporter le poids d’une de ses exigences originelles à savoir, la « pseudonymisation » (Section 2). L’étude s’orientera alors vers la recherche de solutions afin de contrer ce potentiel obstacle.

Section 1. Des mécanismes cryptographiques identiques :

l’avantage de la sécurisation

96. Préalablement la confrontation du procédé de signature fournie par la blockchain avec les caractéristiques requises, notamment, par l’art. 1367 du C. civ. visant à évaluer la fiabilité de son procédé (§ 2), il est nécessaire d’approfondir les notions techniques intervenant au sein de la technologie blockchain afin de mieux appréhender ses spécificités et son potentiel en matière de signature électronique (§ 1).

§ 1. La technicité du procédé de signature via blockchain

97. À l’image de l’utilisation d’un grand livre sûr et immuable, l’usage de la blockchain facilite le partage sécurisé des données inscrites sur ses pages. Cette caractéristique découle de l’alliance de deux procédés informatiques pouvant s’apparenter aux différentes étapes de la formation d’un contrat. Il s’agit, d’une part, de la cryptographie asymétrique, fondée sur une logique identique à celle de l’offre et de l’acceptation contractuelle (A) et, d’autre part, des mécanismes de hachage, permettant à la fois l’authentification des cocontractants et l’intégrité des informations inscrites (B).

145

A. Offre et acceptation : l’usage de la cryptographie asymétrique

98. Fondements de la cryptographie. Les fondements de ce procédé reposent sur un problème de mathématiques largement utilisé dans l’univers de l’informatique qui consiste en la métaphore du problème des généraux byzantins, évoquant la recherche de fiabilité dans n’importe quelle transmission à travers l'intégrité des interlocuteurs803. L’énoncé du problème est le suivant : plusieurs généraux de l'armée byzantine ont planté leurs campements autour d'une cité ennemie et entament un siège. Ils n’ont pas d’état- major et leur seul moyen de communication est de recourir aux services de messagers. Les différents généraux doivent malgré tout organiser une offensive commune, faute de quoi la défaite sera inéluctable. Seulement, certains de ces messagers sont soupçonnés d’être des traîtres dont la mission est de semer la confusion pour faire échouer le plan de bataille des généraux. Il s’agit alors de trouver un mode de communication qui soit infalsifiable, capable de prévenir toute interception voire corruption par l’ennemi des données communiquées.

Il a été démontré que le problème pouvait être entièrement résolu avec des messages écrits et non falsifiables, mais également avec des messages uniquement oraux si, et seulement si, plus des deux tiers des messagers sont loyaux804. Ces deux hypothèses correspondent au concept originel d’une technologie immuable et distribuée, initiée par le protocole Bitcoin de Satoshi Nakamoto805 et applicable à tous types d’informations. Fondée sur des techniques de cryptographie, la blockchain propose en effet de garantir le secret et l’intégrité des termes d’une écriture inscrite sur un bloc et ce, sans autorité centrale de supervision806. Précisément, et pour ce qui concerne l’analyse subséquente807, l’immuabilité des informations repose sur l’usage de la cryptographie asymétrique, qui constitue, conformément à l’art. 29, al. 1er de la loi n° 2004-575 du 21 juin 2004 pour la

confiance dans l'économie numérique, un procédé de chiffrement mathématique par clés, intimement liée à la fonction de hachage informatique808.

803 MEKKI (Mustapha), « Les mystères de la blockchain », D. 2017, n° 37, pp. 2160 et s., n° 8.

804 LAMPORT (Leslie), SHOSTAK (Robert), PEASE (Marshall), « The Byzantine Generals Problem », ACM

Transactions on Programming Languages and Systems, 1982, Vol. 4, No. 3.

805 LEE (David), CHUEN (Kuo), DENG (Robert H.), Handbook of Blockchain, Digital Finance, and

Inclusion: vol. 2:ChinaTech, Mobile Security, and Distributed Ledger, ed. Academic Press, 2017, p. 161.

806 Cité dans : PRISCO (Giulio), « Bitcoin 2.0 Will Be a Very Big Deal », CCN [online], 27 Oct. 2014,

https://www.ccn.com/bitcoin-2-0-will-big-deal/. – V. également, PRISCO (Giulio), « Fixing The Internet With The Blockchain », CCN [online], 25 Sept. 2014, https://www.ccn.com/fixing-the-internet-with-the- blockchain/.

807 Sur le principe de distributivité de la blockchain, infra n°s 142 et s.

808 La cryptographie correspond à un « moyen de cryptologie », c’est-à-dire « tout matériel ou logiciel

conçu ou modifié pour transformer des données, […] à l'aide de conventions secrètes ou pour réaliser l'opération inverse avec ou sans convention secrète. Ces moyens de cryptologie ont principalement pour objet de garantir la sécurité du stockage ou de la transmission de données, en permettant d'assurer leur

146

99. Définition générale de la cryptographie asymétrique. La cryptographie asymétrique en dehors de la blockchain se distingue fondamentalement de la cryptographie symétrique, au travers de laquelle les deux parties à une quelconque transaction choisissent conjointement le code de chiffrage/déchiffrage du message échangé, en d’autres termes la clé809. En cryptographie asymétrique, l’hypothèse commune est qu'un message doit pouvoir être échangé, alors même que les deux parties à la transaction ne se connaissent absolument pas. Cette hypothèse est inimaginable en matière de cryptographie symétrique810. Schématiquement, il s’agit d’un échange tel que l’expéditeur doit pouvoir rendre secret son message via un calcul complexe, et le destinataire vérifier la méthode de ce calcul pour garantir que l’expéditeur est bien l’auteur du message, et ensuite ouvrir le message811. Cette technique permet d’authentifier

tant le contenu que l’origine du message. Pour cela, elle met à disposition de chaque utilisateur deux clés cryptographiques associées812, à savoir une clé nommée « clé publique » qui a vocation à générer une « adresse » publique connue de tous – ce qui implique qu’aucun échange de clé préalable à l’échange d’informations n’est nécessaire813 –, et une autre clé nommée « clé privée », autrement nommée « convention secrète » par le législateur814, et qui doit impérativement rester confidentielle815. Pour imager, l’adresse « publique » dérivée de la clé publique est à quelques chiffres près la boîte-aux-lettres816, la clé privée correspond au mot de passe pour ouvrir/fermer la boîte

confidentialité, leur authentification ou le contrôle de leur intégrité. » [L. n° 2004-575, 21 juin 2004, pour la confiance dans l'économie numérique, JORF n° 0143, 22 juin 2004, texte n° 2, art. 29, al. 1er].

809 FOUQUE (Pierre-Alain), Cryptographie appliquée, éd. Techniques Ingénieur, 2002, pp. 16-17. 810 LEGEAIS (Dominique), op. cit., n° 2.

811 MOUTON (Dimitri), Sécurité de la dématérialisation : De la signature électronique au coffre-fort

numérique, une démarche de mise en œuvre, éd. Eyrolles, coll. Solutions d’entreprise, 2012, p. 27.

812 En pratique, le portefeuille de bitcoins ou d’une autre crypto-monnaie (wallet) contient une « clé maître »

générée à partir d'une « graine » (seed). Les propriétés des courbes elliptiques permettent de dériver de nouvelles clés à partir de la clé maître et donc de la graine. C'est ainsi que, de cette clé maître, sont généralement dérivées n « sous-clés », correspondent aux bi clés composés d’une clé publique et d’une clé privée. Pour connaître la valeur d’un wallet, il faut donc additionner l’ensemble des crypto-monnaies inscrites dans chacune des sous-clés publiques.

813 FOUQUE (Pierre-Alain), op. cit., p. 14. 814 L. n° 2004-575, préc., art. 29, al. 1er. 815 MOUTON (Dimitri), op. cit., p. 27.

816 La boîte aux lettres constitue l’adresse publique générée à partir de la clé publique, elle-même générée

à partir de la clé privée, le tout généré grâce à une fonction mathématique nommée « fonction de hachage ». Une confusion existe mais, tel que Vitalik Buterin le souligne, celle-ci est globalement acceptée et utilisée au sein de la communauté [v., BUTERIN (Vitalik), « White Paper Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform », github [liens de publication originaux supprimés] [online], Nov. 2013, https://github.com/ethereum/wiki/wiki/White-Paper. Trad. : Asseth (Stéphane Roche, Jean Zundel, Frédéric Jacquot, Alexandre Kurth et Etienne Jouin), v., http://www.asseth.fr/2016/11/09/traduction-whitepaper-ethereum/] : « Un lecteur averti notera qu’en pratique, une adresse Bitcoin est l’empreinte de la clé publique de courbe elliptique, et non la clé publique elle-même. Cependant, il est parfaitement admis en terminologie cryptographique d’assimiler l’empreinte de la clé publique à la clé publique elle-même. En effet, la cryptographie Bitcoin peut être considérée comme un algorithme de signature numérique particulier, où la clé publique est constituée de l’empreinte de la clé publique ECC, où la signature représente la clé publique ECC concaténée avec la signature ECC,

147

aux lettres et y déposer l’objet de l’opération, et l’une comme l’autre sont indispensables pour effectuer cette opération817. Ainsi, pour chiffrer un message et l’envoyer à un autre

utilisateur, l’expéditeur chiffre à l’aide de l’adresse « publique » du destinataire, et pour déchiffrer ledit message, le destinataire utilise à l’inverse sa clé privée associée. De cette manière, la confidentialité du message est assurée car il ne peut être lu que par le destinataire propriétaire du jeu de clés publique/privée818.

100. La cryptographie asymétrique appliquée à la blockchain : notions de clés, d’adresses et de transactions. Puisque Satoshi Nakamoto a généré ces dispositifs avant d’alimenter – de près ou de loin – les protocoles des différentes générations de blockchains actuelles, il apparaît admissible de fonder cette présentation sur les mécanismes développés pour la blockchain du bitcoin. Ainsi, si auparavant les utilisateurs du protocole Bitcoin ne disposaient que d’une seule clé privée associée à une clé publique et à une adresse, la pratique et le besoin de sécurité ont nécessité quelques changements. Après plusieurs mises à jour, nommées « BIP » au sein de la communauté (« Bitcoin improvement protocols », qui correspondent à des « protocoles d’amélioration de Bitcoin »819), le fonctionnement des wallets a été entièrement remanié. Désormais, l’inscription à un portefeuille Bitcoin820 entraine la création automatique d’une « root

seed », c’est-à-dire une graine primaire/de récupération, renfermant l’intégralité des bitcoins sauvegardés sur la chaîne par son détenteur821. Cette root seed est transmise à l’utilisateur au moment de son inscription, et seulement à ce moment. Il doit alors la mémoriser, sinon en prendre note, avec prudence étant donné son extrême importance et vulnérabilité. Ensuite, le wallet dérive de cette root seed un jeu de clés (bi-clés), c’est-à- dire une clé publique et une clé privée associée822. De ce couple de clés, nommé « parent » ou « principal », sont ensuite à nouveau dérivés un nombre de bi-clés appelés

et où l’algorithme de vérification consiste à valider la clé publique ECC dans la signature avec l’empreinte de la clé publique ECC fournie en tant que clé publique pour ensuite valider la signature ECC avec la clé publique ECC. ». Cette fonction de hachage est à sens unique, ce qui signifie que personne ne peut calculer la clé publique à partir de l’adresse publique, ou même la clé privée à partir de la clé publique. – Pour une étude détaillée de la fonction de hachage, infra n°s 104-106.

817 BARRAUD (Boris), « Les blockchains et le droit », RLDI 2018/4, nº 147, p. 2.

818 À titre d’exemple, Louis doit valider une demande de crédit auprès de sa banque. Pour ce faire, cette

dernière va lui transmettre un document sécurisé, le principe étant qu’un message codé avec une clé privée ne peut être décodé que par la clé publique qui lui est associée, et inversement. Ainsi, la banque va crypter son propre message avec la clé publique de Louis. Par conséquent, seul Louis pourra décrypter le message de la banque puisque seul lui possède la clé privée associée à la clé publique utilisée.

819 L’intégralité de ces mises à jour sont disponibles sur GitHub à l’adresse : https://github.com/bitcoin/bips. 820 L’utilisation d’un wallet n’est pas obligatoire, mais elle est fortement conseillée pour des raisons de

sécurité et de protection des clés privées.

821 MAGUAYO, « Update bip-0032.mediawiki », GitHub [online], 25 Oct. 2018,

https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#Specification_Key_.

148

« enfants »823. Par habitude, les utilisateurs du protocole Bitcoin font souvent référence

au fait de « transmettre la clé publique » afin de percevoir le fruit d’une « transaction de bitcoins ». En réalité, il s’agit de transmettre aux potentiels émetteurs le dérivé de la clé publique, appelée « Public Key Hash », qui correspond alors à une adresse Bitcoin824.

Ainsi, a priori la clé publique n'est effectivement pas connue de tous, et l’adresse est quant à elle le plus souvent « jetable » en ce que l’utilisateur est vivement incité à fournir une nouvelle adresse à chaque nouvelle utilisation, afin d’éviter tant que faire se peut tout risque de traçage825. Cette règle de fonctionnement a souvent été reprise par les blockchains qui ont été créées par la suite. En parallèle, prouver la détention d’une adresse pour envoyer des bitcoins ou pour récupérer les bitcoins transférés par transaction ne requiert plus du destinataire la saisie de sa clé privée associée à l’adresse d’envoi ou de réception puisqu’en règle générale, le wallet se charge de la gestion des clés privées associées à chaque adresse du compte utilisateur826. De cette manière les clés privées ne sont, en principe, jamais diffusées.

101. Quelle qualification juridique pour la « transaction de bitcoins » ? Il faut remarquer que du point de vue juridique, le terme « transaction » n’a effectivement pas la même portée. D’une part, il ressort du vocabulaire purement commercial que la « transaction » équivaut davantage à une acception stricte de l’idée de « négociation »827,

823 Pour plus de précisions techniques, v., MAGUAYO, « Update bip-0032.mediawiki », art. cit., notamment :

« In what follows, we will define a function that derives a number of child keys from a parent key. In order

to prevent these from depending solely on the key itself, we extend both private and public keys first with an extra 256 bits of entropy. This extension, called the chain code, is identical for corresponding private and public keys, and consists of 32 bytes. » ; « Serialization format - Extended public and private keys are serialized as follows:

o 4 byte: version bytes (mainnet: 0x0488B21E public, 0x0488ADE4 private; testnet: 0x043587CF

public, 0x04358394 private)

o 1 byte: depth: 0x00 for master nodes, 0x01 for level-1 derived keys, ... o 4 bytes: the fingerprint of the parent's key (0x00000000 if master key)

o 4 bytes: child number. This is ser32(i) for i in xi = xpar/i, with xi the key being serialized. (0x00000000

if master key)

o 32 bytes: the chain code

o 33 bytes: the public key or private key data (serP(K) for public keys, 0x00 || ser256(k) for private

keys) ».

824 DE QUENETAIN (Stanislas), « L’arbre de Merkle : la Colonne Vertébrale de la Blockchain », Blockchains

Experts [en ligne], 2015, https://www.blockchains-expert.com/larbre-de-merkle-colonne-vertebrale-de-

blockchain/.

825 Infra n° 109.

826 MAGUAYO, « Update bip-0032.mediawiki », art. cit. : « Because of this construction, knowing an

extended private key allows reconstruction of all descendant private keys and public keys, and knowing an extended public keys allows reconstruction of all descendant non-hardened public keys. »

827 Le décr. n° 72-678, 20 juill. 1972, fixant les conditions d'application de la L. n° 70-9 du 2 janvier 1970

réglementant les conditions d'exercice des activités relatives à certaines opérations portant sur les immeubles et fonds de commerce, JORF, 22 juill. 1972, évoque les « transactions sur immeubles et fonds de commerce ». – V. également, Cass. Civ. 1ère, 14 nov. 2018, n° 16-23.730 (« relève de l'activité de

149

qui cesse donc au stade des pourparlers. D’autre part, en droit civil, comme dans d’autres dispositions particulières du droit où il en est question828, la « transaction » s’apparente

au « settlement » anglo-saxon, soit le « contrat par lequel les parties terminent une contestation née, ou préviennent une contestation à naître » (C. civ., art. 2044). Simples discussions ou climat de litige, ces acceptions juridiques ne reflètent cependant pas ce que les bitcoiners entendent par « transaction de bitcoins ».

Afin de s’approcher du sens que Bitcoin donne à l’opération effectuée sur son protocole, il semble adéquat de parler d’exécution de prestations, souvent synallagmatiques, que les parties se promettent réciproquement, via échanges de bitcoins. Ainsi est-il possible de retrouver dans le mécanisme de Bitcoin des principes connus du droit des obligations. Dans les faits, et puisque le protocole Bitcoin a été initié pour des paiements, il s’agit la plupart du temps d’une personne qui émet une « requête de paiement » équivalente à une offre ferme et précise à la lecture des articles 1113 et 1114 du C. civ.829, offre qu’une tierce personne décide d’accepter. Pour cela, l’offrant met à disposition son « adresse publique » soit par e-mail, soit sous la forme d’un QR code830 contenant ladite adresse, mais également d’autres éléments essentiels du contrat envisagé (C. civ., art. 1114) : le montant à accepter, le label du destinataire ainsi que celui du paiement. Par ce biais l’offrant exprime expressément sa volonté d’être lié831. Tout

utilisateur de la plateforme peut, via son portefeuille de bitcoins, accepter l’offre émise en sélectionnant l’option « envoyer » vers « l’adresse publique » préalablement reçue, ce qui a pour conséquence d’autoriser la procédure de paiement – sous la forme d’un « script » – d’un wallet à l’autre. En d’autres termes, à travers cette manipulation l’utilisateur manifeste à son tour sa volonté de s’engager (C. civ., art. 1113, al. 1er ).

Apparaissent ainsi les notions d’offre et d’acceptation propres au droit des obligations, et a fortiori s’impose la notion de contrat (C. civ., art. 1118, al. 1er, et 1121), qui implique

la production d’effets de droit entre les parties (C. civ., art. 1103). Par ailleurs et contrairement au déroulé traditionnel, à ce stade de l’opération le script de la blockchain verrouille automatiquement le montant envoyé à l’aide de l’adresse publique du destinataire. Pour pouvoir le déverrouiller et en bénéficier, l’offrant devra fournir une

opérations portant sur la vente de biens immobiliers ; […] dans la délivrance de conseils à l'occasion d'une vente immobilière, notamment au titre de conseils en investissement ou en défiscalisation »).

828 Par exemple, en matière d’indemnisation des victimes d’accident de la route, est « qualifi[ée] de

transaction la convention qui se forme entre la victime et l’assureur » [Cass. Civ. 1ère, 20 janv. 2010, n° 08-

19.627], et en droit du travail, « une transaction ne peut avoir pour objet de mettre fin à un contrat de travail » [Cass. Soc., 5 déc. 2012, n° 11-15.471].

829 V. également, concernant les conditions de fermeté et de précision de l’offre, Cass. Com., 29 juin 1993,

n° 91-20.380.

830 DE QUENETAIN (Stanislas), « L’arbre de Merkle : la Colonne Vertébrale de la Blockchain », art. cit. 831 Id.

150

solution au script. Cette solution n’est autre que la clé privée associée, autrement dit sa clé privée.

102. Cependant, rien n'assure que celui qui se dit expéditeur est bel et bien le propriétaire du montant ou en règle générale du message transmis, ni que ce dernier n’a pas été modifié voire corrompu par la suite. De plus, étant donné que la blockchain agit sur un réseau public et distribué, et pour les raisons qui s’imposeront à chacun, il est impossible et même proscrit de communiquer sa clé privée sur le réseau pour prouver son authenticité. C'est précisément dans ce contexte que l’utilisation d’un dispositif de signature numérique présente un intérêt manifeste.

B. Authentification et intégrité : l’utilisation des mécanismes de hachage

103. Le principe de la signature via blockchain. Andreas M. Antonopoulos indique que l’authentification du contractant sur Bitcoin prend la forme d’une « preuve de propriété pour chaque montant […] de bitcoin input, dont la valeur est transférée sous la forme d’une signature numérique du propriétaire »832. Il ajoute que, « dans le langage

bitcoin, dépenser c’est signer une transaction qui transfère la valeur d’une transaction précédente à un nouveau propriétaire identifié par une adresse bitcoin »833. Cette authentification s’effectue donc à travers le dispositif de signature numérique mis en place834.

L’idée est celle d’un utilisateur qui, de façon à ne pas divulguer sa clé privée secrète sur la blockchain, va fournir une signature découlant de ladite clé. En pratique, est joint au message envoyé une signature générée à partir du codage de deux éléments à savoir, le message – lui-même constitué du message initial, de l’adresse « publique » de l’expéditeur et de l’adresse « publique » de son destinataire –, et la clé privée de

Documents relatifs