<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>oblivious transfer &#8211; Smals Research</title>
	<atom:link href="https://www.smalsresearch.be/tag/oblivious-transfer/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.smalsresearch.be</link>
	<description></description>
	<lastBuildDate>Thu, 09 Apr 2026 12:23:17 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.smalsresearch.be/wp-content/uploads/2026/01/cropped-cropped-Smals_Research-32x32.png</url>
	<title>oblivious transfer &#8211; Smals Research</title>
	<link>https://www.smalsresearch.be</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Secure multiparty computation  &#8211; Collectieve berekeningen op verspreide gevoelige gegevens</title>
		<link>https://www.smalsresearch.be/secure-multiparty-computation-collectieve-berekeningen-op-verspreide-gevoelige-gegevens/</link>
		
		<dc:creator><![CDATA[Kristof Verslype]]></dc:creator>
		<pubDate>Tue, 08 Jun 2021 05:00:00 +0000</pubDate>
				<category><![CDATA[[NL]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[blockchain]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[distributed trust]]></category>
		<category><![CDATA[homomorphic encryption]]></category>
		<category><![CDATA[oblivious transfer]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[secure multiparty computation]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">/?p=16060</guid>

					<description><![CDATA[Binnen de cryptografie bestaat een stelling die zegt dat alles wat met behulp van een centrale partij (Facebook, Amazon, de overheid, … ) berekend kan worden in principe ook zonder die centrale partij berekend kan worden. Daarbij kunnen gevoelige gegevens – zoals persoonsgegevens – die als input dienen ook effectief confidentieel blijven voor de andere [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Binnen de cryptografie bestaat een stelling die zegt dat alles wat <em>met behulp van</em> een centrale partij (Facebook, Amazon, de overheid, … ) berekend kan worden in principe ook <em>zonder</em> die centrale partij berekend kan worden. Daarbij kunnen gevoelige gegevens – zoals persoonsgegevens – die als input dienen ook effectief confidentieel blijven voor de andere participanten. Als je daar even bij stilstaat, kom je snel tot het inzicht dat dit zeer verregaande implicaties heeft. De technologie bij uitstek die dit &#8211; althans in theorie &#8211; mogelijk maakt is <em>secure multiparty computation (SMC) </em>en werd voor het eerst <a href="https://research.cs.wisc.edu/areas/sec/yao1982-ocr.pdf">voorgesteld</a> door Andrew Yao, reeds in 1982.</p>
<p>Yao gaf toen het volgende voorbeeld. Twee miljonairs &#8211; vandaag zouden we eerder spreken over miljardairs &#8211; willen weten wie de rijkste is, zonder hun exacte rijkdom of zelfs maar indicaties daarvan aan de andere of aan een derde partij prijs te geven. Beide partijen willen dus weten of <em>wealth<sub>1</sub> &lt; wealth<sub>2</sub></em> waar of fout is, zonder dat er voor de rest informatie lekt, dus zonder dat de ene miljonair verdere informatie over <em>wealth<sub>1</sub></em> prijsgeeft en zonder dat de andere verdere informatie over <em>wealth<sub>2</sub></em> prijsgeeft.</p>
<p>Lange tijd bleef SMC een louter academische aangelegenheid met enkel toy-examples zoals hierboven. Het was (en is) immers erg moeilijk om SMC in de praktijk te brengen, onder meer door de dramatische impact op de efficiëntie en de intensieve communicatie tussen de betrokken partijen. </p>
<p>Ondertussen zijn we ongeveer 40 jaar verder en is er heel wat onderzoek verricht rond SMC – het blijft trouwens een zeer actief onderzoeksdomein -, waarbij protocollen ontwikkeld werden die efficiënter zijn, die andere veiligheidseigenschappen hebben, die drie of meer partijen toelaten, etc. Daardoor duiken hier en daar – zij het momenteel nog in beperkte mate &#8211; praktische SMC toepassingen op.  Toch blijft de generieke SMC technologie, zoals die door Yao geïntroduceerd werd, in vele gevallen weinig praktisch.</p>
<p>Daarom werden en worden specifiekere protocollen ontwikkeld zoals <em><a href="/vergeetachtige-verzending-voor-vertrouwelijk-gerechtelijk-onderzoek/">oblivious transfer</a></em>, wat toelaat dat een partij een specifiek record uit een lijst opvraagt bij een andere partij, zonder dat die laatste te weten komt het welke, wat handig kan zijn voor bijvoorbeeld politiediensten die elders informatie opvragen over verdachte burgers. Een ander voorbeeld is <em><a href="https://en.wikipedia.org/wiki/Private_set_intersection">private set intersection (PSI)</a></em>, waarbij een partij te weten komt over welke items (vb. burgers of ondernemingen) een andere partij eveneens een dossier heeft, waarbij er verder geen data lekt. Ook onze eigen <em><a href="/publications/document/?docid=211">oblivious join</a></em>, om data afkomstig van meerdere bronnen voor onderzoeksdoeleinden te kruisen en te pseudonimiseren, is zo’n specifiek protocol. In de academische crypto-wereld slaat SMC doorgaans enkel op de generieke technologie, al merken we dat daarbuiten ook de meer specifieke protocollen onder de SMC vlag geplaatst worden.</p>
<h1>In de praktijk</h1>
<p>SMC wordt hier en daar reeds <a href="https://academic.oup.com/comjnl/article/61/12/1749/5095655?login=true">in de praktijk</a> gebruikt, zoals blijkt uit de drie onderstaande cases.</p>
<p>De bekendste en misschien ook de eerste reële <a href="https://partisia.com/better-market-solutions/mpc-goes-live/">toepassing</a> van (generieke) SMC wordt al sinds 2008 gebruikt en wordt geregeld ingezet voor Deense suikerveilingen. Het is een dubbele veiling, waarbij zowel kopers als verkopers bieden. De veiling, die zonder centrale partij verloopt, moest voldoen aan strikte privacy vereisten, waarbij de biedingen confidentieel blijven. De veiling wordt uitgevoerd als een 3-party SMC tussen 1) vertegenwoordigers van Danisco, de enige suikerbietenverwerker in Denemarken, 2) de boerenvereniging (DKS) en 3) de onderzoekers (SIMAP).</p>
<p>Ons tweede voorbeeld is <a href="https://sharemind.cyber.ee/">Sharemind</a>. Het wordt commercieel aangeboden en gebruikt voor analyses op gevoelige gegevens afkomstig van verschillende partijen. Die partijen kappen elk afzonderlijk hun data in stukjes die afzonderlijk geen informatie bevatten en uploaden een derde van de stukjes data naar elk van drie verschillende servers. Dit gebeurt op zo’n manier dat de data confidentieel blijft voor de individuele servers, weliswaar onder de veronderstelling dat deze niet samenspannen. Om een query uit te voeren, zullen de drie partijen en de vraagsteller (de onderzoeker) met elkaar interageren (het SMC protocol), waarbij de vraagsteller – en enkel de vraagsteller – toegang krijgt tot het uiteindelijke resultaat door de antwoorden van de drie servers te combineren. Om de efficiëntie en governance te verbeteren, wordt Sharemind ook aangeboden in één enkele appliance, waarbij gebruik gemaakt wordt van hardware (<a href="https://www.intel.com/content/www/us/en/architecture-and-technology/software-guard-extensions.html">Intel SGX</a>) om de drie zones van elkaar te scheiden. Sharemind heeft zijn eigen taal voor het doen van analyses. We geven ook nog mee dat Sharemind heel wat verschillende cryptografische bouwstenen combineert.</p>
<figure id="attachment_16238" aria-describedby="caption-attachment-16238" style="width: 850px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2021/06/An-overview-of-the-architecture-of-Sharemind.png"><img fetchpriority="high" decoding="async" class="wp-image-16238 size-full" src="/wp-content/uploads/2021/06/An-overview-of-the-architecture-of-Sharemind.png" alt="" width="850" height="385" srcset="https://www.smalsresearch.be/wp-content/uploads/2021/06/An-overview-of-the-architecture-of-Sharemind.png 850w, https://www.smalsresearch.be/wp-content/uploads/2021/06/An-overview-of-the-architecture-of-Sharemind-300x136.png 300w, https://www.smalsresearch.be/wp-content/uploads/2021/06/An-overview-of-the-architecture-of-Sharemind-768x348.png 768w" sizes="(max-width: 850px) 100vw, 850px" /></a><figcaption id="caption-attachment-16238" class="wp-caption-text">De sharemind architectuur op hoog niveau, met links de aanleverende partijen, in het midden de drie Sharemind servers en rechts de vraagsteller. (<a href="https://www.researchgate.net/figure/An-overview-of-the-architecture-of-Sharemind_fig1_328382220">bron</a>)</figcaption></figure>
<p><a href="https://www.unboundsecurity.com/">Unbound</a> is ons derde voorbeeld. Het lost met SMC het probleem op van de gecompromitteerde sleutel. De veiligheid van cryptografische operaties (encryptie, decryptie, ondertekenen, …) steunt immers op de veronderstelling dat de geheime/private sleutel ook effectief geheim/privaat blijft. In de praktijk is dit niet steeds even vanzelfsprekend. Unbound reikt een oplossing aan waarbij de sleutel opgesplitst is in twee deeltjes die door verschillende partijen bewaard worden. Wanneer een deeltje gecompromitteerd is, kan de hacker daar nog steeds niets mee aanvangen. Dit verhoogt aanzienlijk de veiligheid, maar impliceert wel dat een cryptografische operatie enkel mogelijk is met medewerking van de partij die het andere deel van de sleutel heeft. <span style="font-size: inherit;">De cryptografische operaties worden uitgevoerd m.b.v. SMC waarbij de twee sleuteldeeltjes nooit samenkomen. Unbound biedt in zijn producten ondersteuning voor zowel symmetrische (AES) als publieke sleutelcryptografie (vb. RSA).</span></p>
<p>Ten slotte kan SMC gebruikt worden voor veilige machine learning, maar daarover meer in een toekomstige blogpost. Dit lijkt zich nog meer in de onderzoeksfase te bevinden.</p>
<h1>Initiatieven in overheidscontext (NL)</h1>
<p>Recentelijk zien we hier en daar proof of concepts en piloten opduiken in overheidscontext. Nederland zet duidelijk in op SMC in zijn meer algemene definitie waarin dus ook meer specifieke protocollen vervat liggen. Uit een recent en inspirerend <a href="https://publications.tno.nl/publication/34637924/c6SScX/TNO-2021-technologische.pdf">rapport</a> van de Nederlandse TNO (Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek ) blijkt alvast dat ze heel wat potentieel zien binnen overheidscontext:</p>
<blockquote>
<p>Er zijn ontzettend veel toepassingsmogelijkheden voor privacyverbeterende technieken zoals MPC en FL [Federated Learning]. Zo kan de effectiviteit van de zorg vergroot worden door op een privacy vriendelijke manier inzichten uit patiëntdata te verkrijgen. De groeiende financiële criminaliteit kan ingedamd worden door het veilig koppelen van gevoelige data van verschillende financiële organisaties. Daarnaast kan de overheid haar dienstverlening verbeteren door privacy respecterende samenwerkingen tussen verschillende overheidsinstanties.</p>
</blockquote>
<p>We blijven even stilstaan bij een case uit de Nederlandse overheidscontext waarover we toch wat – zij het beperkt &#8211; technische informatie konden vinden. In Nederland vormt de <em><a href="https://nl.wikipedia.org/wiki/Algemene_Ouderdomswet">AOW uitkering</a></em> een basispensioen. Indien dit onder het bestaansminimum valt, hebben gepensioneerden recht op een aanvulling (de AIO). 34.000 (48%) tot 50.000 (56%) van de huishoudens met een inkomen onder het bestaansminimum maakt hier geen gebruik van. De SVB, de instelling verantwoordelijk voor die AOW, heeft geen toegang tot gegevens over sociale uitkeringen en pensioenen (gekend door het UWV) en kan dus niet nagaan wie er AIW-gerechtigd is. Dit <a href="https://novum.nu/project/secure-multi-party-computation/">tracht</a> men in Nederland in een piloot op te lossen m.b.v. homomorfe encryptie (zie verder) om te komen tot een SMC protocol. Toch lijkt het op basis van de beschikbare informatie voor uw nederige auteur logischer om in dit geval gebruik te maken van de eerder vermeldde private set intersection (PSI).</p>
<p><strong>Ook in Belgische overheidscontext schuilt er ongetwijfeld heel wat potentieel. Smals Research wil dit samen met u exploreren. Aarzel daarom niet contact met ons op te nemen.</strong></p>
<p>We vermelden ook graag dat de COSIC groep aan de KU Leuven wereldwijd aan de top staat wat betreft SMC onderzoek. Dit onderzoek resulteerde in een uitgebreide, door hen ontwikkelde library die <a href="https://homes.esat.kuleuven.be/~nsmart/SCALE/">SCALE-MAMBA</a> gedoopt werd. Een ander veelbelovend COSIC project is <a href="https://www.esat.kuleuven.be/cosic/running-projects/?project=242">JANA</a>:</p>
<blockquote>
<p>Jana aims to provide practical private data as a service to protect subject privacy while retaining data utility to analysts. </p>
</blockquote>
<h1>Relatie tot andere technologieën</h1>
<p>SMC laat toe om zonder centrale partij, dus gedistribueerd berekeningen te doen. Wat is dan het verschil met <strong>blockchain-</strong>technologie? In een klassieke blockchainbenadering, wordt alle input nodig voor de berekeningen op de blockchain geplaatst en dus gedeeld met andere participanten in het blockchain netwerk. Die participanten doen vervolgens allen exact dezelfde berekeningen op die data. Gegeven dit basisprincipe is het niet altijd makkelijk om een blockchain benadering te verzoenen met strenge privacyvereisten. Bij SMC, daarentegen, staan confidentialiteit en privacy centraal. Blockchaintechnologie blinkt wel uit om informatie onweerlegbaar en zonder centrale partij te registreren. Het sleutel(werk)woord bij MPC is <em>berekenen</em>, het sleutelwoord bij blockchain is <em>registreren</em>.</p>
<p><strong><a id="HE"></a>Homomorfe encryptie (HE)</strong> is een cryptografische techniek om berekeningen op een veilige manier te outsourcen naar een centrale partij (vb. naar de public cloud), en is daarmee op functioneel vlak een alternatief voor SMC. HE laat toe dat een centrale partij berekeningen doet op data zonder toegang te krijgen tot die data zelf. De centrale partij doet daarbij berekeningen op de vercijferde gegevens, waarbij het resultaat opnieuw een cijfertekst is. Bijvoorbeeld <em>enc(</em>5<em>) * enc (</em>3<em>) = enc(</em>15<em>)</em>. De centrale partij doet in dit geval een vermenigvuldiging, maar het komt noch de waarden 5 en 3 (input) noch de waarde 15 (output) te weten.</p>
<p>Homomorfe encryptie kan, net zoals SMC, dezelfde berekeningen als een klassieke computer (de <a href="https://nl.wikipedia.org/wiki/Turingmachine">Turingmachine</a>) ondersteunen. In dat geval speken we van <em>full homomorphic encryption (FHE)</em>, waarvoor een eerste concrete schema pas relatief recent &#8211; in 2009 – <a href="https://www.cs.cmu.edu/~odonnell/hits09/gentry-homomorphic-encryption.pdf">voorgesteld</a> werd. FHE is weliswaar een pak minder efficiënt en daardoor &#8211;  veel meer nog dan SMC &#8211; een theoretisch gegeven. In het <a href="https://par.nsf.gov/servlets/purl/10099282">boek</a> “<em>A Pragmatic Introduction to Secure Multi-Party Computation</em>” uit 2017 schrijven de auteurs:</p>
<blockquote>
<p>Hoewel er recent veel belangstelling is geweest voor het implementeren van FHE-schema&#8217;s […] blijft het bouwen van veilige, inzetbare, schaalbare systemen met FHE een ongrijpbaar doel. [..] State-of-the-art FHE-implementaties zijn duizenden keren langzamer dan two-party en multi-party secure computation in typische toepassingen en instellingen die in de literatuur worden overwogen.</p>
</blockquote>
<p>Toch mogen we niet vergeten dat beperktere vormen van HE onmisbaar zijn in de cryptografie ter ondersteuning van andere cryptografische bouwblokken zoals…  bepaalde SMC protocollen! </p>
<p>We geven ten slotte nog mee dat sommige generieke SMC protocollen onder meer gebruik maken van vormen van het reeds aangehaalde oblivious transfer. </p>
<h1>Conclusie</h1>
<p>SMC was lange tijd een eerder academisch curiosum, maar ondertussen hebben de eerste concrete toepassingen reeds het licht gezien. We bevinden ons weliswaar nog in een vroeg stadium om SMC in de praktijk te brengen.</p>
<p>Toch lijkt er heel wat potentieel in de technologie te zitten. Het is echter niet steeds eenvoudig om de juiste technologie te selecteren. Er zijn verschillende generieke SMC protocollen, en er zijn talrijke voorstellen voor meer specifieke SMC protocollen. COSIC biedt alvast <a href="https://www.esat.kuleuven.be/cosic/blog/how-to-choose-your-mpc-framework/">ondersteuning</a> bij het selecteren van een generiek SMC raamwerk.</p>
<p>We kijken in elk geval al uit naar uw suggesties om samen met u een concrete overheidscase uit te werken.</p>
<hr />
<p><em data-rich-text-format-boundary="true">Dit is een ingezonden bijdrage van Kristof Verslype, cryptograaf bij Smals Research. Het werd geschreven in eigen naam en neemt geen standpunt in namens Smals.</em></p>
<p><span style="color: #808080;"><span class="tadv-color"><strong data-rich-text-format-boundary="true">Bronvermelding foto</strong><br data-rich-text-line-break="true" />20111005_Ozark Henry Quatre Mains @ Arenberg</span> <span class="tadv-color">by Tom Van Ghent. <a style="color: #808080;" href="https://flickr.com/photos/70668505@N03/8036676070" data-type="URL" data-id="https://flickr.com/photos/70668505@N03/8036676070">Published</a> on Flickr under creative commons.</span></span></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>“Vergeetachtige verzending” voor vertrouwelijk onderzoek naar personen</title>
		<link>https://www.smalsresearch.be/vergeetachtige-verzending-voor-vertrouwelijk-gerechtelijk-onderzoek/</link>
		
		<dc:creator><![CDATA[Kristof Verslype]]></dc:creator>
		<pubDate>Tue, 18 Jun 2019 04:00:34 +0000</pubDate>
				<category><![CDATA[[NL]]]></category>
		<category><![CDATA[Blog post]]></category>
		<category><![CDATA[cryptography]]></category>
		<category><![CDATA[oblivious transfer]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Privacy by design]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">/?p=13350</guid>

					<description><![CDATA[Geregeld is onderzoek nodig naar verdachte personen. Dit neemt niet weg dat de privacy van deze en andere personen gerespecteerd moet worden. Ook de confidentialiteit van het onderzoek moet gegarandeerd blijven. Dit artikel reikt een waardevolle technologie aan om aan deze vereisten tegemoet te komen. Het spanningsveld Er wordt regelmatig vanuit justitie onderzoek gevoerd naar [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Geregeld is onderzoek nodig naar verdachte personen. Dit neemt niet weg dat de privacy van deze en andere personen gerespecteerd moet worden. Ook de confidentialiteit van het onderzoek moet gegarandeerd blijven. Dit artikel reikt een waardevolle technologie aan om aan deze vereisten tegemoet te komen.</p>



<h2 class="wp-block-heading">Het spanningsveld</h2>



<p>Er wordt regelmatig vanuit justitie onderzoek gevoerd naar specifieke burgers, bijvoorbeeld in het kader van terrorismebestrijding. Persoonsgegevens die beheerd worden door derden moeten daarbij opgevraagd kunnen worden. Denk daarbij bijvoorbeeld aan metagegevens over telefoongesprekken gekend door telecomoperatoren of aan de verschillende officiële verblijfplaatsen doorheen de tijd, wat gekend is door het Rijksregister.</p>



<div class="wp-block-image"><figure class="alignright"><img decoding="async" width="320" height="232" src="/wp-content/uploads/2019/05/blurred_small.jpg" alt="" class="wp-image-13366" srcset="https://www.smalsresearch.be/wp-content/uploads/2019/05/blurred_small.jpg 320w, https://www.smalsresearch.be/wp-content/uploads/2019/05/blurred_small-300x218.jpg 300w" sizes="(max-width: 320px) 100vw, 320px" /></figure></div>



<p>In een traditionele benadering vraagt justitie aan een organisatie om gegevens <em>x</em>, <em>y</em> en <em>z</em> over een specifieke burger aan te leveren. Er zijn echter twee bezwaren tegen een dergelijk naïeve benadering. Ten eerste is de privacy van de burger geschaad. Elke organisatie die informatie over hem of haar moet aanleveren komt immers te weten dat er een onderzoek loopt naar deze persoon. Dit kan risico&#8217;s inhouden. Een tweede bezwaar dat daaruit voortvloeit is dat dit de confidentialiteit van het onderzoek kan schaden. Er zijn dus goede redenen voor een andere benadering.</p>



<p>Deze zou eruit kunnen bestaan dat justitie gegevens <em>x</em>, <em>y</em> en <em>z</em> vraagt, niet enkel over Kristof Verslype, maar over alle burgers geboren in 1982, of nog extremer, over alle burgers tout court. De geconsulteerde organisaties zullen op die manier inderdaad de identiteit van de betrokkene niet te weten komen, maar anderzijds is er wel mogelijks sprake van een disproportionele verwerking van persoonsgegevens door justitie en moeten we justitie vertrouwen dat het de nodige procedures in acht neemt om alle records, behalve het relevante, onmiddellijk na ontvangst te verwijderen.</p>



<p>Er is dus een spanningsveld tussen enerzijds de privacy van de burger en de confidentialiteit van het onderzoek ten aanzien van de geconsulteerde organisaties en anderzijds de proportionele verwerking van persoonsgegevens door justitie. Dit spanningsveld lijkt op het eerste gezicht niet op te lossen.</p>



<h2 class="wp-block-heading">Wat is Oblivious Transfer (OT)?</h2>



<p>Gelukkig biedt cryptografie een krachtig hulpmiddel genaamd <em>oblivious transfer</em> <em>(OT)</em>, of, vrij vertaald, <em>vergeetachtige verzending</em>. Het laat toe dat een ontvanger (zoals justitie) toegang krijgt tot een zelf gekozen record uit een set van records die door de verzender (zoals de telecomoperator) gekend zijn. De ontvanger krijgt slechts toegang tot dit ene record. De zender weet niet hetwelke. De zender komt enkel te weten dat de ontvanger toegang gekregen heeft tot één record uit de vooraf bepaalde set.</p>



<p>Oblivious transfer werd voor het eerst &#8211; in een wat zwakkere vorm &#8211;  <a aria-label=" (opens in a new tab)" rel="noreferrer noopener" href="https://www.iacr.org/museum/rabin-obt/obtrans-eprint187.pdf" target="_blank">beschreven</a> in 1981 en er is sindsdien veel onderzoek naar gebeurd in de academische wereld. Ondertussen is het  &#8211; volgens de inschatting van de auteur &#8211; voldoende rijp om ook in overheidscontext gebruikt te worden. Het bestaat in verschillende varianten, waaronder 1 uit 2 oblivious transfer, 1 uit <em>n</em> oblivious transfer en <em>k</em> uit <em>n</em> oblivious transfer.&nbsp; In de eerste variant krijgt de ontvanger toegang tot één uit een set van twee records. In de tweede en derde categorie krijgt de ontvanger toegang tot respectievelijk 1 en <em>k</em> records uit een set van <em>n</em> records. Het idee is vrij eenvoudig; de zender vercijfert alle records in de set, verstuurt alle vercijferde records naar de ontvanger, waarbij het oblivious transfer protocol cryptografisch (wiskundig) afdwingt dat de ontvanger er maar 1 (of <em>k</em>) kan decrypteren. </p>



<h2 class="wp-block-heading">Eerste resultaten</h2>



<p>Smals Research heeft op basis van twee academische papers (<a href="https://eprint.iacr.org/2017/1165.pdf">deze</a> en <a href="https://link.springer.com/content/pdf/10.1007/978-3-540-85174-5_31.pdf">deze</a>) een eigen 1 uit <em>n</em> oblvious transfer Java library geschreven, gezien er voor zover wij weten nog geen dergelijke library publiek beschikbaar is. Vervolgens hebben we de performantie getest op een standaard laptop (Lenovo Thinkpad L570, Win 10, Intel Core i5-6300 CPU @ 2,40Ghz, 16GB), waarbij de gegevens zich reeds in het intern geheugen bevinden en er 256 bit security gegarandeerd wordt. &nbsp;De rekentijd bij records van ongeveer 20 en 100KB en bij setgroottes van 1000, 10 000 en 25 000 wordt weergegeven in onderstaande tabel. Bemerk dat er wellicht nog ruimte is voor efficiëntiewinsten.</p>



<figure class="wp-block-image"><img decoding="async" width="975" height="176" src="/wp-content/uploads/2019/05/OT_results.png" alt="" class="wp-image-13351" srcset="https://www.smalsresearch.be/wp-content/uploads/2019/05/OT_results.png 975w, https://www.smalsresearch.be/wp-content/uploads/2019/05/OT_results-300x54.png 300w, https://www.smalsresearch.be/wp-content/uploads/2019/05/OT_results-768x139.png 768w" sizes="(max-width: 975px) 100vw, 975px" /></figure>



<p>Indien een
ontvanger toegang wil tot één record uit een set van 1000, waarbij het
gemiddelde record 20KB groot is, zal er logischerwijs 20MB verstuurd moeten
worden per query. Daarnaast zal de zender zo’n 0,7 seconden rekenwerk hebben,
voornamelijk om alle data te vercijferen, terwijl de ontvanger 0,15 seconden
zal moeten rekenen.&nbsp; </p>



<p>Stel dat een organisatie over elke Belg een record heeft, dan betekent dit dat er ongeveer 11 350 000 records zijn. Uit bovenstaande blijkt dat een setgrootte van een paar miljoen toch niet haalbaar is. Idealiter delen we de bevolking dus op in verschillende sets die allen ongeveer even groot zijn. Deze opdeling kan in principe vrij eenvoudig door bijvoorbeeld alle rijksregisternummers met dezelfde minst beduidende decimalen (of bits) samen te nemen.&nbsp; </p>



<p>Indien justitie informatie nodig heeft over de burger met rijksregisternummer 83.03.20-999.68, dan kan het bijvoorbeeld aan een aanleverende organisatie exact één record vragen uit de set van alle records waarvan het rijksregisternummer eindigt op &#8216;968&#8217;. Die set zal bestaan uit naar schatting 11 000 à 12 000 records. De aanleverende organisatie komt enkel te weten dat justitie toegang krijgt tot exact één record uit deze set.</p>



<h2 class="wp-block-heading">Alternatief scenario voor grote sets</h2>



<p>Een alternatieve aanpak voor grote datatsets is geïllustreerd in vier stappen in onderstaande figuur. De zender vercijfert op voorhand alle records, elk met een aparte, slechts door de zender gekende, symmetrische sleutel (stap 1). Dit kan erg efficiënt. Alle 11 350 000 vercijferde records <br>(alsook eventueel latere updates) worden vervolgens naar de ontvanger gestuurd (stap 2). De ontvanger beschikt zo over een volledige, weliswaar vercijferde, kopie van de gegevensset. Om toegang te krijgen tot een specifiek record wordt het oblivious transfer protocol uitgevoerd, niet zoals daarnet op de records zelf, maar op de bijhorende symmetrische sleutels (stap 3). Eén zo’n sleutel is (typisch) slechts 32 bytes groot, wat maar een fractie is van de grootte van de records zelf. Daardoor wordt het mogelijk een setgrootte van 11 350 000 te nemen bij het uitvoeren van het oblivious transfer protocol. De ontvanger krijgt zo toegang tot één van de 11 350 000 sleutels, waarmee vervolgens exact één record gedecrypteerd kan worden (stap 4). Bij een dergelijke uitvoering van het oblivious transfer protocol wordt zo’n 363MB, voornamelijk vercijferde sleutels, doorgestuurd, moet de zender een kleine 80 seconden rekenen, en de ontvanger 0,24 seconden (met onze eerder vermelde Lenovo L570).</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="734" src="/wp-content/uploads/2019/06/fig_blogpost-1-1024x734.png" alt="" class="wp-image-13470" srcset="https://www.smalsresearch.be/wp-content/uploads/2019/06/fig_blogpost-1-1024x734.png 1024w, https://www.smalsresearch.be/wp-content/uploads/2019/06/fig_blogpost-1-300x215.png 300w, https://www.smalsresearch.be/wp-content/uploads/2019/06/fig_blogpost-1-768x551.png 768w, https://www.smalsresearch.be/wp-content/uploads/2019/06/fig_blogpost-1.png 1506w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>De testresultaten van beide geschetste scenario’s geven in elk geval aan dat het gebruik van oblivious transfer haalbaar is in de geschetste context, dus voor het opvragen van gegevens over burgers in het kader van een onderzoek.</p>



<h1 class="wp-block-heading">Kwantumresistente Oblivious Transfer</h1>



<p>Toch is het niet onbelangrijk te vermelden dat onze implementatie steunt op, net zoals quasi alle publieke sleutelcryptografie vandaag, assumpties uit de klassieke cryptografie. Dergelijke assumpties zullen niet langer geldig zijn eens er voldoende sterke quantumcomputers beschikbaar zijn. Bijgevolg kan vanaf dan ook het geïmplementeerde OT protocol niet langer als veilig beschouwd worden. Wetenschappers werken ondertussen gelukkig wel aan kwantumresistente OT (QOT) protocollen (zoals vb. <a aria-label="dit werk (opens in a new tab)" rel="noreferrer noopener" href="https://eprint.iacr.org/2018/1155.pdf" target="_blank">dit werk</a>), die helaas ook wel beduidend minder efficiënt zijn. <a aria-label="Schattingen (opens in a new tab)" rel="noreferrer noopener" href="https://arxiv.org/abs/1804.00200" target="_blank">Schattingen</a> wanneer een dergelijke kwantumcomputer gerealiseerd zal worden lopen uiteen van 10 tot 50 jaar, wat dus toch niet genegeerd kan worden bij het verwerken van gevoelige persoonsgegevens. Vandaar dat het toch noodzakelijk blijft dat de ontvanger de vercijferde records ook verwijderd en niet een aantal decennia bewaart. Dit zou gecontroleerd kunnen worden door een toezichthoudende autoriteit. QOT is dus op termijn een elegantere en robuustere oplossing die bij voldoende interesse vanuit onze klanten dan ook door Smals Research onderzocht zal worden.</p>



<h1 class="wp-block-heading">Andere toepassingsmogelijkheden en conclusies</h1>



<p>Ten slotte geven we nog mee dat OT een bouwblok is in diverse andere cryptografische protocollen, onder meer voor het simultaan ondertekenen van contracten over het internet (zie vb. <a label="dit werk (opens in a new tab)" rel="noreferrer noopener" href="https://dl.ifip.org/db/conf/cms/cms2005/StanekovaS05.pdf" target="_blank">dit werk</a>), waarbij ofwel alle betrokkenen hun akkoord geven ofwel geen enkele. OT is eveneens een bouwblok voor <a aria-label="multi-party computation (MPC) (opens in a new tab)" rel="noreferrer noopener" href="https://eprint.iacr.org/2018/450.pdf" target="_blank">multi-party computation (MPC)</a>, waarbij zonder centrale vertrouwde partij berekeningen gedaan worden op invoer afkomstig van verschillende deelnemers. De invoer van de verschillende deelnemers blijft geheim, maar iedereen leert wel de uitvoer.&nbsp; Een groep individuen kan met behulp van MPC bijvoorbeeld het gemiddeld loon van de individuen berekenen terwijl elk van hen hun exacte loon verborgen kan houden. </p>



<p>Concluderend kunnen we stellen dat oblivious transfer zeer nuttige toepassingen heeft en dat het in de praktijk inzetbaar is. Het integreren van OT in bestaande toepassingen is trouwens een voorbeeld van het in de GDPR gepromootte principe van <em>privacy by design</em>. Ten slotte, wat voor alle publieke-sleutel cryptografie geldt, geldt ook voor oblivious transfer: als er ooit een kwantumcomputer komt, dan zijn we beter voorbereid.</p>



<p><strong>Aarzel niet ons te contacteren om mogelijke toepassingen binnen de context van de overheid in België met ons te bespreken!</strong></p>



<p class="has-small-font-size"><em>Dit is een ingezonden bijdrage van Kristof Verslype, IT consultant bij Smals Research. &nbsp;Dit artikel werd geschreven in eigen naam en neemt geen standpunt in namens Smals.</em></p>


<p><!--EndFragment--></p>
<p></p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
