Town Crier vs DECO: hvaða véfrétt á að nota í blockchain?

Í dag hafa aðeins latir ekki skrifað um blockchain tækni, dulritunargjaldmiðla og hversu flott hún er. En þessi grein mun ekki lofa þessa tækni; við munum tala um galla hennar og leiðir til að útrýma þeim.

Town Crier vs DECO: hvaða véfrétt á að nota í blockchain?

Þegar unnið var að einu af verkefnunum hjá Altirix Systems kom upp það verkefni að tryggja örugga, ritskoðunarþolna staðfestingu á gögnum frá uppruna utan blockchain. Nauðsynlegt var að staðfesta breytingar á skrám þriðja kerfisins og, út frá þessum breytingum, framkvæma eina eða aðra grein í snjallsamningsrökfræðinni. Verkefnið við fyrstu sýn er frekar léttvægt, en þegar fjárhagsleg staða eins aðila sem tekur þátt í ferlinu fer eftir niðurstöðu framkvæmdar þess koma fram viðbótarkröfur. Í fyrsta lagi er þetta alhliða traust á slíku staðfestingarkerfi. En fyrst og fremst.

Vandamálið er að blockchain sjálft er sjálfstæð, lokuð eining, svo snjallsamningarnir inni í blockchain vita ekkert um umheiminn. Á sama tíma eru skilmálar snjallsamninga oft tengdir upplýsingum um raunverulega hluti (töf á flugi, gengi o.s.frv.). Til að snjallir samningar virki sem skyldi verða upplýsingar sem berast utan blockchain að vera áreiðanlegar og sannreyndar. Þetta vandamál er leyst með því að nota véfrétt eins og Town Crier og DECO. Þessar véfréttir leyfa snjöllum samningi á blockchain netinu til að treysta upplýsingum frá traustum vefþjóni; við getum sagt að þetta séu veitendur áreiðanlegra upplýsinga.

Oracles

Ímyndaðu þér að snjall samningur flytji 0.001 btc í bitcoin veskið þitt ef uppáhalds fótboltafélagið þitt vinnur rússneska bikarinn. Ef um raunverulegan sigur er að ræða þarf snjallsamningurinn að flytja upplýsingar um hvaða klúbbur vann og hér koma upp ýmis vandamál: hvar er hægt að fá þessar upplýsingar, hvernig á að flytja þær á öruggan hátt yfir í snjallsamninginn og hvernig á að tryggja að upplýsingarnar móttekin í snjallsamningnum er gild í raun saman við raunveruleikann?

Þegar kemur að uppsprettu upplýsinga geta verið 2 aðstæður: að tengja snjallsamning við trausta vefsíðu þar sem upplýsingar um niðurstöður leikja eru geymdar miðlægt, og seinni valkosturinn er að tengja nokkrar síður í einu og velja síðan upplýsingar úr flestum aðilum sem veita sömu gögn. Til að sannreyna réttmæti upplýsinganna eru véfréttir notaðar, til dæmis Oraclize, sem notar TLSNotary (TLS Notary Modification to Prove the Authenticity of Data). En það eru nægar upplýsingar á Google um Oraclize og það eru nokkrar greinar um Habré. Í dag mun ég tala um véfrétt sem nota aðeins aðra nálgun til að senda upplýsingar: Town Crier og DECO. Greinin veitir lýsingu á starfsreglum beggja véfréttanna, auk nákvæmrar samanburðar.

Town Crier

Town Crier (TC) var kynnt af IC3 (The Initiative for Cryptocurrencies and Contracts) árið 2016 á CCS'16. Meginhugmynd TC: flytja upplýsingar frá vefsíðu yfir í snjallsamning og ganga úr skugga um að upplýsingarnar sem TC afhendir séu þær sömu og á vefsíðunni. TC notar TEE (Trusted Execution Environment) til að sannvotta gagnaeign. Upprunalega útgáfan af TC lýsir því hvernig á að vinna með Intel SGX.
Town Crier samanstendur af hluta inni í blockchain og hluta inni í stýrikerfinu sjálfu - TC Server.
Town Crier vs DECO: hvaða véfrétt á að nota í blockchain?
TC samningur er á blockchain og virkar sem framhlið TC. Það tekur við beiðnum frá CU (snjallsamningi notanda) og skilar svari frá TC Server. Inni í TC Server er Relay, sem kemur á tengingu milli enclave og internetsins (tvíátta umferð) og tengir enclave við blockchain. Enclave inniheldur progencl, sem er kóða sem gerir beiðnir frá blockchain og skilar skilaboðum til blockchain með stafrænni undirskrift, progencl inniheldur hluta af snjallsamningskóðanum og sinnir í raun sumum aðgerðum sínum.

Hugsa má um Intel SGX enclave sem sameiginlegt bókasafn með API sem keyrir í gegnum ecall. Ecall flytur stjórn til enclave. Enclave keyrir kóðann sinn þar til hann hættir eða þar til undantekning á sér stað. ocall er notað til að kalla aðgerðir sem skilgreindar eru utan enclave. Ocall er tekinn af lífi utan enclave og er meðhöndlað sem ótraust símtal af því. Eftir að ocall er keyrt er stjórninni skilað aftur til enclave.
Town Crier vs DECO: hvaða véfrétt á að nota í blockchain?
Í Enclave hlutanum er örugg rás stillt með vefþjóni, enclave sjálft framkvæmir TLS handaband við markþjóninn og framkvæmir allar dulmálsaðgerðir innbyrðis. TLS bókasafnið (mbedTLS) og minnkaður HTTP kóða hefur verið flutt út í SGX umhverfið. Einnig inniheldur Enclave rót CA vottorð (safn vottorða) til að sannreyna vottorð ytri netþjóna. Request Handler samþykkir gagnagrammabeiðni á því sniði sem Ethereum veitir, afkóðar hana og greinir hana. Síðan býr það til Ethereum viðskipti sem inniheldur umbeðið gagnarit, undirritar það með skTC og sendir það til Relay.

Relay hluti inniheldur viðskiptavinaviðmót, TCP, Blockchain tengi. Viðskiptavinaviðmótið er nauðsynlegt til að votta enclave kóðann og eiga samskipti við viðskiptavininn. Viðskiptavinurinn sendir vottunarbeiðni með því að nota ecall og fær tímastimpil undirritaðan af skTC ásamt att (staðfestingarundirskrift), síðan er att staðfest með Intel Attestation Service (IAS) og tímastimpillinn er staðfestur af traustri tímaþjónustu. Blockchain tengi sannreynir komandi beiðnir og setur viðskipti á blockchain fyrir afhendingu gagnagrams. Geth er opinber Ethereum viðskiptavinur og gerir Relay kleift að hafa samskipti við blockchain í gegnum RPC símtöl.

Með því að vinna með TEE gerir TC þér kleift að keyra nokkrar enclaves samhliða og auka þannig hraða upplýsingavinnslu um 3 sinnum. Ef með einni hlaupandi enclave var hraðinn 15 tx/sek, þá með 20 samhliða hlaupandi enclave eykst hraðinn í 65 tx/sek; til samanburðar er hámarksrekstrarhraði í Bitcoin blockchain 26 tx/sek.

DECO

DECO (Decentralized Oracles for TLS) var kynnt á CCS'20, vinnur með síðum sem styðja TLS tengingar. Tryggir gagnaleynd og heiðarleika.
DECO með TLS notar samhverfa dulkóðun, þannig að biðlarinn og vefþjónninn eru með dulkóðunarlykla og viðskiptavinurinn getur falsað TLS lotugögn ef hann vill. Til að leysa þetta vandamál notar DECO þríhliða handabandi samskiptareglur milli sannprófanda (snjallsamnings), sannprófanda (véfrétt) og vefþjóns (gagnagjafa).

Town Crier vs DECO: hvaða véfrétt á að nota í blockchain?

Hvernig DECO virkar er að sannprófandinn fær gögn D og staðfestir fyrir sannprófandanum að D hafi komið frá TLS þjóninum S. Annað vandamál er að TLS undirritar ekki gögnin og það er erfitt fyrir TLS biðlarann ​​að sanna að gögn bárust frá nákvæmlega réttum netþjóni (erfiðleikaerfiðleikar).

DECO samskiptareglan notar KEnc og KMac dulkóðunarlykla. Viðskiptavinurinn sendir beiðni Q til vefþjónsins, svarið frá netþjóninum R kemur á dulkóðuðu formi, en biðlarinn og þjónninn eiga sama KMac og viðskiptavinurinn getur falsað TLS skilaboðin. Lausn DECO er að "fela" KMac fyrir viðskiptavininum (prover) þar til hann svarar beiðninni. Nú er KMac skipt á milli prófara og sannprófanda - KpMac og KvMac. Miðlarinn tekur á móti KMac til að dulkóða svarið með því að nota lykilhlutaaðgerðina KpMac ⊕ KvMac = KMac.

Með því að setja upp þríhliða handabandi verða gagnaskipti milli viðskiptavinar og netþjóns framkvæmd með tryggingu fyrir öryggi.
Town Crier vs DECO: hvaða véfrétt á að nota í blockchain?
Þegar talað er um dreifð véfréttakerfi er ekki hægt að láta hjá líða að nefna Chainlink, sem miðar að því að búa til dreifð net véfréttahnúta sem eru samhæfðar við Ethereum, Bitcoin og Hyperledger, að teknu tilliti til eininga: hægt er að uppfæra alla hluta kerfisins. Á sama tíma, til að tryggja öryggi, býður Chainlink hverri véfrétt sem tekur þátt í verkefninu að gefa út samsetningu lykla (opinbera og einkaaðila). Einkalykillinn er notaður til að búa til undirskrift að hluta sem inniheldur ákvörðun þeirra um gagnabeiðnina. Til að fá svar er nauðsynlegt að sameina allar hlutaundirskriftir véfrétta netsins.

Chainlink ætlar að framkvæma upphaflega PoC DECO með áherslu á dreifð fjármálaforrit eins og Mixicles. Þegar þetta var skrifað komu fréttir á Forbes um að Chainlink keypti DECO frá Cornell háskóla.

Árásir á véfrétt

Town Crier vs DECO: hvaða véfrétt á að nota í blockchain?

Frá sjónarhóli upplýsingaöryggis voru eftirfarandi árásir á Town Crier teknar til greina:

  1. Rogue snjallsnertikóðainnspýting á TEE hnúta.
    Kjarni árásarinnar: að senda vísvitandi rangan snjallsamningskóða til TEE, þannig að árásarmaður sem fékk aðgang að hnútnum mun geta framkvæmt sinn eigin (sviksamlega) snjallsamning á afkóðuðu gögnunum. Hins vegar verða skilagildin dulkóðuð með einkalykli og eina leiðin til að fá aðgang að slíkum gögnum er að leka dulmálstextanum við skil/úttak.
    Vörn gegn þessari árás felst í því að enclave athugar réttmæti kóðans sem staðsettur er á núverandi heimilisfangi. Þetta er hægt að ná með því að nota heimilisfangskerfi þar sem heimilisfang samningsins er ákvarðað með því að hashing samningskóðann.

  2. Samningsríki dulmálsbreytingar leki.
    Kjarni árásarinnar: Eigendur hnúta þar sem snjallsamningar eru framkvæmdir hafa aðgang að samningsástandinu á dulkóðuðu formi utan enclave. Árásarmaður, sem hefur náð stjórn á hnút, getur borið saman tengiliðastöðu fyrir og eftir viðskiptin og getur ákvarðað hvaða rök voru færð inn og hvaða snjallsamningsaðferð var notuð, þar sem snjallsamningskóði sjálfur og tækniforskriftir hans eru aðgengilegar almenningi.
    Vernd við að tryggja áreiðanleika hnútsins sjálfs.

  3. Hliðarrásarárásir.
    Sérstök tegund árásar sem notar vöktun á enclave minni og skyndiminni aðgang í ýmsum aðstæðum. Dæmi um slíka árás er Prime and Probe.
    Town Crier vs DECO: hvaða véfrétt á að nota í blockchain?
    Árásarskipan:

    • t0: Árásarmaðurinn fyllir allt gagnaskyndiminni fórnarlambsferlisins.
    • t1: Fórnarlambið keyrir kóða með minnisaðgangi sem er háð viðkvæmum gögnum fórnarlambsins (dulmálslyklar). Skyndiminnislínan er valin út frá lykilbitagildinu. Í dæminu á myndinni er keybit = 0 og lesið er heimilisfangið X í skyndiminni línu 2. Gögnin sem eru geymd í X eru hlaðin inn í skyndiminni og rýma gögnin sem voru þar áður.
    • t2: Árásarmaðurinn athugar hvaða skyndiminnislínur hans hafa verið fjarlægðar—línur sem fórnarlambið notar. Þetta er gert með því að mæla aðgangstíma. Með því að endurtaka þessa aðgerð fyrir hvern lyklabita fær árásarmaðurinn allan lykilinn.

Árásarvörn: Intel SGX hefur vörn gegn hliðarrásarárásum sem kemur í veg fyrir eftirlit með skyndiminni tengdum atburðum, en Prime and Probe árás mun samt virka vegna þess að árásarmaðurinn fylgist með skyndiminni atburðum ferlis síns og deilir skyndiminni með fórnarlambinu.
Town Crier vs DECO: hvaða véfrétt á að nota í blockchain?
Þannig að í augnablikinu er engin áreiðanleg vörn gegn þessari árás.

Árásir eins og Spectre og Foreshadow (L1TF), svipaðar Prime og Probe, eru einnig þekktar. Þeir gera þér kleift að lesa gögn úr skyndiminni í gegnum rás þriðja aðila. Vörn gegn Specter-v2 varnarleysi er veitt, sem vinnur gegn tveimur af þessum árásum.

Í tengslum við DECO veitir þríhliða handabandið tryggingu fyrir öryggi:

  1. Heiðarleiki þjóns: Tölvuþrjótur sannprófandi getur ekki falsað upprunaupplýsingar netþjóns og getur ekki valdið því að þjónninn samþykki ógildar beiðnir eða svari gildum beiðnum rangt. Þetta er gert með beiðnimynstri milli netþjóns og sannprófanda.
  2. Heiðarleiki sannprófanda: Hakkaður sannprófandi getur ekki valdið því að sannprófandi fái röng svör.
  3. Persónuvernd: Hakkaði sannprófandinn skoðar aðeins opinberar upplýsingar (beiðni, nafn netþjóns).

Í DECO eru aðeins veikleikar í umferðarsprautun mögulegir. Í fyrsta lagi, með þríhliða handabandi, getur sannprófandinn staðfest deili á netþjóninum með því að nota ferskt nonce. Hins vegar, eftir handabandið, verður sannprófandinn að treysta á netlagsvísa (IP vistföng). Þannig verður að verja samskipti milli sannprófanda og netþjóns fyrir innspýtingu umferðar. Þetta er náð með því að nota Proxy.

Samanburður á véfréttum

Town Crier byggir á því að vinna með enclave í miðlarahlutanum, en DECO gerir þér kleift að sannreyna áreiðanleika uppruna gagna með því að nota þríhliða handaband og gagnadulkóðun með dulmálslyklum. Samanburður á þessum véfréttum var gerður samkvæmt eftirfarandi viðmiðum: frammistöðu, öryggi, kostnaði og hagkvæmni.

Town Crier
DECO

frammistaða
Hraðari (0.6s til að klára)
Hægara (10.50 sekúndur til að klára siðareglur)

öryggi
Minna öruggt
Öruggara

kostnaður
Dýrari
Ódýrara

hagkvæmni
Krefst sérstaks vélbúnaðar
Virkar með hvaða netþjóni sem er sem styður TLS

Frammistaða: Til að vinna með DECO þarf þríhliða handabandi, við uppsetningu í gegnum staðarnet tekur það 0.37 sekúndur, fyrir samskipti eftir að tengingin er komin á, virkar 2PC-HMAC (0,13 s á skrif). Frammistaða DECO fer eftir tiltækum TLS dulmálssvítum, stærð einkagagnanna og hversu flókið sönnunargögnin eru fyrir tiltekið forrit. Notkun tvíundarvalkostaforritsins frá IC3 sem dæmi: að klára samskiptareglur í gegnum staðarnet tekur um 10,50 sekúndur. Til samanburðar tekur Town Crier um það bil 0,6 sekúndur að klára svipaða umsókn, sem er um það bil 20 sinnum hraðari en DECO. Að öllu óbreyttu verður TC hraðari.

öryggi: Árásir á Intel SGX enclave (hliðarrásarárásir) virka og geta valdið raunverulegum skaða fyrir þátttakendur snjallsamningsins. Varðandi DECO, þá eru árásir tengdar umferðarinnspýtingu mögulegar, en notkun umboðs dregur slíkar árásir niður í ekki neitt. Þess vegna er DECO öruggara.

Kostnaður: Kostnaður við búnað sem styður Intel SGX er hærri en kostnaður við að setja upp samskiptareglur í DECO. Þess vegna er TC dýrara.

Hagnýtni: Til að vinna með Town Crier þarf sérstakan búnað sem styður TEE. Til dæmis er Intel SGX studd á 6. kynslóð Intel Core örgjörvafjölskyldu og síðar. DECO gerir þér kleift að vinna með hvaða búnað sem er, þó það sé DECO stilling sem notar TEE. Samkvæmt uppsetningarferlinu getur þríhliða handtak DECO tekið nokkurn tíma, en þetta er ekkert miðað við vélbúnaðartakmörkun TC, svo DECO er hagkvæmara.

Ályktun

Þegar véfréttirnar tvær eru skoðaðar í sitt hvoru lagi og þær bornar saman út frá fjórum forsendum er ljóst að Town Crier er lakari en DECO í þremur af fjórum stigum. DECO er áreiðanlegra út frá upplýsingaöryggissjónarmiði, ódýrara og hagkvæmara, þó að uppsetning þriggja aðila samskiptareglur geti tekið nokkurn tíma og hefur sína ókosti, til dæmis aukaaðgerðir með dulkóðunarlyklum. TC er hraðari en DECO, en árásarveikleikar á hliðarrásum gera það næmt fyrir missi á trúnaði. Taka verður tillit til þess að DECO var kynnt í janúar 2020 og ekki hefur liðið nægur tími til að telja það öruggt. Town Crier hefur átt undir högg að sækja í 4 ár og hefur farið í gegnum margar prófanir, þannig að notkun þess í mörgum verkefnum er réttlætanleg.

Heimild: www.habr.com

Bæta við athugasemd