Vîi ODBS, c¡c tŒ chøc v c¡ nh¥n s‡ ÷æc mºt nh cung c§p dàch vö Database Service Provider DSP qu£n lþ v duy tr… ho⁄t ºng CSDL cıam…nh.. i»n to¡n ¡m m¥y th÷íngcung c§p cho ng÷íi dòng c¡c d
Trang 1M— U
1 T‰nh c§p thi‚t cıa • t i lu“n ¡n
” qu£n lþ h» thŁng thæng tin, c¡c tŒ chøc, c¡ nh¥n th÷íng l÷u trœ dœli»u d÷îi d⁄ng cì sð dœ li»u quan h» (CSDL) i•u n y gióp ng÷íi chı sð hœu
dœ li»u (Data Owner - DO) d„ d ng truy xu§t dœ li»u v chia s· cho nhi•ung÷íi dòng Tr÷îc kia, câ hai h…nh thøc l÷u trœ CSDL l l÷u trœ trong nºi
bº tŒ chøc (In-house database) v l÷u trœ trüc tuy‚n (Online database).H…nh thøc l÷u trœ nºi bº: DO qu£n lþ CSDL tr¶n m¡y chı cıa m…nh,khæng chia s· qua m⁄ng Internet Nh÷ v“y, DO ph£i câ h» thŁng m¡y chıgçm: m¡y t‰nh, h» i•u h nh, h» qu£n trà CSDL v nh¥n vi¶n v“n h nh h»thŁng Khi nhu cƒu l÷u trœ v xß lþ dœ li»u t«ng Æi häi DO ph£i tŁn chi ph
‰ cho n¥ng c§p phƒn cøng, c“p nh“p b£n quy•n phƒn m•m, ph¡t tri”n ºingô nh¥n vi¶n
H…nh thøc l÷u trœ trüc tuy‚n: DO °t m¡y chı cıa m…nh ð mæi tr÷íngm⁄ng v to n quy•n qu£n lþ m¡y chı công nh÷ c¡c dàch vö cıa nâ Nh÷ v“y,ngo i chi ph‰ nh÷ l÷u trœ nºi bº, DO tŁn th¶m chi ph‰ thu¶ ÷íng truy•n,çng thíi b£o v» m¡y chı khäi c¡c nguy cì t§n cæng tł Internet
Ng y nay, khi i»n to¡n ¡m m¥y ph¡t tri”n m⁄nh m‡ th… c¡c tŒ chøc,c¡ nh¥n câ th¶m mºt ph÷ìng ¡n ti‚p c“n mîi trong vi»c qu£n lþ, khai th¡cCSDL, â l dàch vö CSDL thu¶ ngo i (Outsourced Database ServiceODBS) Vîi ODBS, c¡c tŒ chøc v c¡ nh¥n s‡ ÷æc mºt nh cung c§p dàch
vö (Database Service Provider DSP) qu£n lþ v duy tr… ho⁄t ºng CSDL cıam…nh DO khai th¡c CSDL thæng qua c¡c ph÷ìng thøc do DSP cung c§p
Mæ h…nh ODBS kh¡c vîi h…nh thøc l÷u trœ trüc tuy‚n ð chØ DO ch¿ sßdöng v tr£ ti•n cho dàch vö CSDL m khæng quan t¥m ‚n h» thŁng m¡ychı, ÷íng truy•n v nh¥n vi¶n qu£n lþ h» thŁng
1
Trang 2Dœ li»u l t i s£n quan trång cıa DO N‚u c¡c thæng tin cıa c¡ nh¥n nh÷
th· t‰n döng, t i kho£n ng¥n h ng bà k· x§u ¡nh c›p v sß döng tr¡i ph†pth… s‡ g¥y ra thi»t h⁄i nghi¶m trång Hìn nœa, khæng ai câ th” bi‚t ÷æc h“uqu£ nh÷ th‚ n o n‚u thæng tin v• an ninh quŁc phÆng, b‰ m“t quŁc gia bàt§n cæng M°c dò c¡c h» thŁng m¡y t‰nh, h» i•u h nh, phƒn m•m b£o m“t,phƒn m•m øng döng luæn luæn ÷æc c“p nh“p, v¡ lØi, v c¡c h» thŁng b£om“t b‹ng phƒn cøng ÷æc tri”n khai nh÷ng chóng ta câ th” th§y vi»c dœ li»u
bà t§n cæng v¤n luæn di„n ra T‰nh ‚n th¡ng 03/2019, Databreaches [74],Information Is Beautiful [83] ¢ thŁng k¶ ÷æc c¡c tŒ chøc, doanh nghi»p bàt§n cæng ¡nh c›p dœ li»u tł CSDL nâi chung v nhœng t§n cæng n y câ th”x£y ra Łi vîi ODBS nâi ri¶ng nh÷ b£ng 1 Trong â, nguy¶n nh¥n b£o m“t k†m
l do c¡c ch‰nh s¡ch b£o m“t ch÷a ÷æc thüc hi»n óng ” cho ng÷íi dòngkhæng câ quy•n v¤n câ th” truy c“p ÷æc dœ li»u Bà t§n cæng l nguy¶nnh¥n x£y ra tł mæi tr÷íng Internet K· t§n cæng khi truy xu§t ÷æc v o m¡y chıdàch vö th… s‡ câ ÷æc dœ li»u n‚u â l dœ li»u rª Mºt nguy¶n nh¥n nœa câth” g¥y thi»t h⁄i v• dœ li»u â l m§t thi‚t bà (m¡y t‰nh, Œ cøng, token ) Khim§t thi‚t bà, k· t§n cæng khæng ch¿ câ ÷æc dœ li»u m cÆn câ th” câ ÷æcc¡c khâa m¢, c¡c thæng tin phö træ cho qu¡ tr…nh xß lþ tr¶n dœ li»u m¢,
c¡c h m m“t m¢ Nguy¶n nh¥n khâ ki”m so¡t nh§t â l t§n cæng tł b¶ntrong cıa DSP Nh¥n vi¶n qu£n trà h» thŁng cıa DSP câ th” trüc ti‚p canthi»p v o h» thŁng m¡y chı Do â, vi»c dœ li»u cıa ng÷íi dòng câ th” bành¥n vi¶n cıa DSP l§y c›p m ngay c£ DO công khæng bi‚t
” b£o v» "t i s£n" quþ gi¡ cıa m…nh, DO ph£i câ nhœng gi£i ph¡p b£o
£m an to n CSDL ngay tł khi tri”n khai h» thŁng Gi£i ph¡p cì b£n nh§t l DOm¢ ho¡ dœ li»u tr÷îc khi l÷u trœ l¶n ODBS ” b£o v» dœ li»u cıa m…nh Khi
dœ li»u bà m¢ ho¡, k· t§n cæng câ th” l§y c›p dœ li»u nh÷ng khæng sß döng
÷æc do khæng bi‚t nºi dung cıa dœ li»u â, n‚u hå cŁ g›ng trong vi»c gi£i m¢thæng tin th… công tŁn nhi•u thíi gian, æi khi l khæng thüc hi»n ÷æc Nh÷ngkhi â, DO ph£i tr£ gi¡ v• chi ph‰ v• thíi gian, t i nguy¶n h»
Trang 3ngay c£ khi hç sì cıa hå ÷æc °t k†m
ð ch‚ º ri¶ng t÷.
03/2018 Facebook/ 50.000.000 Cambridge Analytica (cæng ty t÷ Bà t§n
th“p 50 tri»u hç sì ng÷íi dòng facebook v o ƒu n«m 2014 ” x¥y düng mºt h» thŁng t¡c ºng l¶n cß tri Mÿ v nh‹m möc ti¶u qu£ng b¡ ch‰nh trà.
09/2018 British 380.000 Chi ti‚t c¡ nh¥n v t i ch‰nh cıa Bà t§n
Airways/ kh¡ch h ng °t v† trong kho£ng cæng giao thæng thíi gian tł ng y 21 th¡ng 8 ‚n
ng y 05 th¡ng 9 ¢ bà t§n cæng.
03/2017 V«n phÆng 3.700.000 Thæng tin c¡ nh¥n cıa 3,7 tri»u M§t
«ng kþ v cß tri th nh phŁ câ th” bà x¥m thi‚t bà bƒu cœ Hçng ph⁄m sau khi V«n phÆng «ng kþ
Kæng/ v bƒu cß b¡o c¡o hai m¡y t‰nh Ch‰nh phı x¡ch tay bà m§t t‰ch t⁄i àa i”m
dü phÆng cho cuºc bƒu cß gi¡m
Łc i•u h nh.
01/2014 PhÆng t‰n 20.000.000 Mºt nh¥n vi¶n cıa cæng ty x‚p T§n
döng H n h⁄ng t‰n döng c¡ nh¥n cıa Cöc cæng QuŁc/ t‰n T‰n döng H n QuŁc (KCB) ¢ bà b¶n döng b›t v bà buºc tºi «n c›p dœ li»u trong
tł kh¡ch h ng cıa ba cæng ty th·
t‰n döng khi l m vi»c cho hå vîi vai trÆ l nh t÷ v§n t⁄m thíi.
thŁng cho truy xu§t, t‰nh to¡n tr¶n dœ li»u m¢ C¡c nh khoa håc ¢ • xu§t
vi»c m¢ ho¡ dœ li»u l÷u trœ v truy xu§t, t‰nh to¡n tr¶n dœ li»u m¢, tuy
nhi¶n v§n • gi£i quy‚t v• m°t thíi gian æi khi v¤n ch÷a xem x†t, ho°c câ
Trang 4thay th‚ kho¡ m¢ khi cƒn thi‚t Vîi b i to¡n x¡c thüc dœ li»u tr¶n CSDL m¢ khitruy v§n ng¤u nhi¶n tł nhi•u b£ng ho°c CSDL ºng th… ch÷a gi£i quy‚t tŁt
Trang 5ho°c l m t«ng sŁ l÷æng t‰nh to¡n cıa c¡c Łi t÷æng phö træ C¡c nghi¶ncøu th÷íng t¡ch ri¶ng vi»c x¡c thüc dœ li»u vîi vi»c gi£i m¢ dœ li»u, do â l
m t«ng thíi gian xß lþ cıa h» thŁng
Tł nhœng nh“n ành nh÷ tr¶n, vi»c nghi¶n cøu v • xu§t mºt sŁ gi£i ph¡pnh‹m x¡c thüc an to n, qu£n lþ v thay Œi kho¡ m¢ cho ODBS l mang t‰nhc§p thi‚t, câ þ ngh¾a khoa håc v phò hæp vîi xu th‚ c¡ch m⁄ng cæng ngh»4.0 K‚t qu£ nghi¶n cøu cıa lu“n ¡n s‡ l cì sð khoa håc v thüc ti„n cho vi»cn¥ng cao t‰nh an to n cıa CSDL nâi chung v ODBS nâi ri¶ng
2. Łi t÷æng, ph⁄m vi nghi¶n cøu
Łi t÷æng nghi¶n cøu:
Mæ h…nh ODBS, c¡c h» qu£n trà CSDL nh÷: MySQL, SQL Server
C¡c thu“t to¡n m¢ hâa, chœ kþ sŁ, x¡c thüc læ
Mæ h…nh l÷u trœ kho¡-gi¡ trà, b£o m“t h» thŁng t»p tin trong khæng gian ng÷íi dòng
C¡c mæ h…nh t‰nh to¡n song song tr¶n CPU, MapReduce
Ph⁄m vi nghi¶n cøu:
Lu“n ¡n giîi h⁄n nghi¶n cøu ODBS phöc vö nhu cƒu cıa tŒ chøc,c¡ nh¥n Trong â, mºt DO thu¶ dàch vö cıa mºt DSP ” l÷u trœ CSDL,chia s· dœ li»u cho nhi•u ng÷íi dòng DO khæng ÷æc ph†p can thi»p v
o m¡y chı cıa DSP ” l›p °t c¡c thi‚t bà, c i °t c¡c dàch vö, ch÷ìng tr…nhho°c phƒn m•m n o kh¡c Trong qu¡ tr…nh nghi¶n cøu, lu“n ¡n sß döngth¶m mºt m¡y chı trung gian ” l÷u trœ c¡c dœ li»u hØ træ, xß lþ c¡c thu“tto¡n nh÷ m¢ hâa/gi£i m¢, c¡c h m do ng÷íi dòng ành ngh¾a M¡y chıtrung gian do DO qu£n lþ v to n quy•n can thi»p Vi»c b£o m“t m¡y chıtrung gian do DO thi‚t l“p b‹ng c¡c gi£i ph¡p phƒn cøng (router,firewall ), phƒn m•m (Antivirus, IDS ) Dœ li»u tł DSP truy•n v• m¡y chıtrung gian l dœ li»u m¢, dœ li»u tł m¡y chı trung gian ‚n
Trang 6ng÷íi dịng l dœ li»u rª v dịng giao thøc TLS ” b£o m“t V… v“y, m¡ychı trung gian ÷ỉc gi£ ành l an to n v n‹m ngo i ph⁄m vi nghi¶n cøucıa lu“n ¡n.
3 Mưc ti¶u cıa lu“n ¡n
Mưc ti¶u cıa lu“n ¡n l nghi¶n cøu, ph¡t tri”n c¡c gi£i ph¡p nh‹m x¡c thüc
an to n v qu£n lþ, thay Œi kho¡ cho ODBS Tł â, • xu§t c¡c mỉ h…nh,thu“t to¡n nh÷: thu“t to¡n xß lþ song song ” gi£m thíi gian truy v§n tr¶n dœli»u m¢, c¡c thu“t to¡n x¡c thüc lỉ v mỉ h…nh øng dưng x¡c thüc lỉ
v o x¡c thüc CSDL m¢ hâa, mỉ h…nh qu£n lþ kho¡ v quy•n truy c“p, thu“tto¡n m¢ hâa h» thŁng t“p tin trong h» i•u h nh v thu“t to¡n thay Œi khâa choCSDL m¢ hâa cıa ODBS, l m n•n t£ng khoa håc v câ kh£ n«ng tri”n khai v òng dưng thüc t‚
4. Ph÷ìng ph¡p nghi¶n cøu
V• lþ thuy‚t: Dịng ph÷ìng ph¡p kh£o s¡t, ph¥n t‰ch, ¡nh gi¡, tŒnghỉp c¡c ph÷ìng ph¡p ¢ • xu§t v• £m b£o an to n ODBS, tł â ÷a ranhœng ành h÷ỵng nghi¶n cøu, ph¡t tri”n B¶n c⁄nh â, lu“n ¡n nghi¶ncøu, v“n dưng c¡c ki‚n thøc li¶n quan ‚n xß lþ dœ li»u lỵn, lþ thuy‚t v•
sŁ håc, lþ thuy‚t h» i•u h nh ” • xu§t mỉ h…nh, thu“t to¡n; Nghi¶n
V• thüc nghi»m:
Lu“n ¡n sß dưng c¡c mỉ h…nh to¡n håc ” chøng minh t‰nh ĩng
›n cıa c¡c ph÷ìng ph¡p • xu§t Lu“n ¡n sß dưng c¡c ngỉn ngœ l“ptr…nh (Java, Python ) ” c i °t c¡c thu“t to¡n v sß dưng bº dœli»u m¤u TPC-H l m dœ li»u thß nghi»m ¡nh gi¡ k‚t qu£ • xu§t.Lu“n ¡n sß dưng h» thŁng mỉ phäng ODBS vỵi mºt m¡y chı l÷utrœ CSDL (t÷ìng øng vỵi DSP), mºt m¡y chı trung gian ” xß lþ
Trang 75. Nºi dung nghi¶n cøu cıa lu“n ¡n
¡nh gi¡ tŒng qu¡t c¡c nghi¶n cøu tr÷îc ¥y v nhœng v§n • tçn t⁄i hi»nnay trong b£o £m an to n ODBS Tł â ÷a ra nhœng nh“n ành nghi¶ncøu, • xu§t nhœng v§n • cƒn gi£i quy‚t Łi vîi b£o £m an to n ODBS câkh£ n«ng øng döng v o thüc t‚
Nghi¶n cøu gi£i ph¡p gi£m thíi gian truy v§n tr¶n dœ li»u m¢.
T…m hi”u v• c¡c thu“t to¡n m“t m¢, nghi¶n cøu v • xu§t c¡c thu“t to¡nchœ kþ sŁ, x¡c thüc læ düa tr¶n hai b i to¡n khâ v øng döng v o
Nghi¶n cøu gi£i ph¡p m¢ ho¡ h» thŁng t»p tin trong h» i•u h nh ” b£o
Nghi¶n cøu mæ h…nh qu£n lþ v gi£i ph¡p thay Œi kho¡ m¢ cho CSDL
• xu§t c¡c mæ h…nh, thu“t to¡n ” gi£i quy‚t c¡c b i to¡n C i °t, thücnghi»m nh‹m ki”m chøng t‰nh kh£ thi cıa c¡c mæ h…nh, thu“t to¡n ¢
• xu§t
6 Þ ngh¾a khoa håc v thüc ti„n
Vi»c nghi¶n cøu, • xu§t v ph¡t tri”n c¡c gi£i ph¡p b£o £m an to n choODBS câ kh£ n«ng tri”n khai trong thüc t‚ luæn l möc ti¶u cıa c¡c nh khoahåc tr¶n th‚ giîi Vîi c¡c nghi¶n cøu ÷æc tr…nh b y, lu“n ¡n ¢ âng gâp v• þngh¾a khoa håc v thüc ti„n nh÷ sau:
Trang 8 7
Kÿ thu“t xß lþ song song tr¶n dœ li»u m¢ l n•n t£ng khoa håc cho vi»cnghi¶n cøu gi£m thíi gian truy v§n tr¶n dœ li»u m¢ Khi m¢ hâa ” £mb£o t‰nh b‰ m“t v khi x¡c thüc dœ li»u m¢ hâa th… thíi gian truy v§ns‡ t«ng ¡ng k” so vîi truy v§n tr¶n dœ li»u rª Do â, khi gi£m thíi gian truyv§n tr¶n dœ li»u m¢ s‡ l m cho ph÷ìng ph¡p m¢ hâa CSDL v x¡c thüc
dœ li»u m¢ câ t‰nh øng döng thüc t‚ cao hìn, £m b£o ÷æc t‰nh
Thu“t to¡n x¡c thüc ODBS câ þ ngh¾a ki”m tra t‰nh óng ›n cıa dœli»u khi truy v§n tr¶n CSDL m¢ C¡c thu“t to¡n x¡c thüc læ ÷æc • xu§tdüa tr¶n hai b i to¡n khâ cÆn câ þ ngh¾a v• m°t nghi¶n cøu c¡c thu“tto¡n chœ kþ sŁ mîi, ¡p øng y¶u cƒu b£o m“t v câ th” øng döng
Thu“t to¡n m¢ ho¡ t»p tin trong khæng gian ng÷íi dòng l m cì sð khoahåc cho vi»c ph¡t tri”n h» i•u h nh an to n Vîi t»p ÷æc m¢ ho¡, cho dòng÷íi dòng bà m§t thi‚t bà th… k· t§n cæng (Adversary - Adv) côngkhæng th” åc ÷æc do khæng câ kho¡ gi£i m¢ nºi dung t»p tin, nh÷ v“y
Thu“t to¡n Œi khâa l m cì sð khoa håc ” nghi¶n cøu v ph¡t tri”n c¡c kÿthu“t Œi khâa cho dœ li»u m¢ tr¶n ODBS, câ kh£ n«ng øng döng v othüc t‚ Mæ h…nh v thu“t to¡n Œi khâa cho CSDL m¢ câ þ ngh¾athüc ti„n trong tr÷íng hæp nghi ngí khâa m¢ bà lº låt ho°c n¶n thay Œiành ký ” b£o v» t‰nh b‰ m“t cıa dœ li»u
7 BŁ cöc cıa lu“n ¡n
Lu“n ¡n gçm mð ƒu, 3 ch÷ìng, k‚t lu“n v h÷îng ph¡t tri”n, c¡c cæng tr…
nh cæng bŁ v t i li»u tham kh£o Nºi dung 3 ch÷ìng cö th” nh÷ sau:
1 Ch÷ìng 1: NHÚNG V N CHUNG V AN TO N ODBS
Trong ch÷ìng n y, lu“n ¡n tr…nh b y c¡c v§n • v• b£o £m an to n
Trang 9læ v o x¡c thüc dœ li»u m¢ khi truy v§n tr¶n mæi tr÷íng thu¶ ngo i.Ph¥n t‰ch, ¡nh gi¡ c¡c thu“t to¡n • xu§t v k‚t lu“n ch÷ìng.
3 Ch÷ìng 3: QU N LÞ, THAY ˚I KHO M CÕA ODBS
Trong ch÷ìng n y, lu“n ¡n tr…nh b y b i to¡n qu£n lþ kho¡ m¢ cıaCSDL m¢ v cì ch‚ qu£n lþ truy c“p CSDL ng÷íi dòng Lu“n ¡n • xu§tc¥y KMT (Key Management Tree) ” qu£n lþ kho¡, ph÷ìng ph¡p m¢ ho¡t»p trong h» i•u h nh v ph÷ìng ph¡p Œi kho¡ m¢ ð møc cºt cıa ODBS.Ph¥n t‰ch thß nghi»m, ¡nh gi¡ ph÷ìng ph¡p • xu§t v k‚t lu“n ch÷ìng
Trang 10Nºi dung ch÷ìng 1 giîi thi»u tŒng quan v• c¡c v§n • an to n cho ODBS,kh£o s¡t c¡c nghi¶n cøu trong v ngo i n÷îc câ li¶n quan Tł â, lu“n ¡n ÷a ranhœng nh“n ành v• ành h÷îng nghi¶n cøu, ph¡t tri”n li¶n quan ‚n c¡c b ito¡n x¡c thüc, qu£n lþ v thay Œi kho¡ m¢ cho ODBS Ch÷ìng 1 cÆn tr…
nh b y c¡c cì sð lþ thuy‚t l m n•n t£ng cho c¡c nghi¶n cøu ÷æc tr…nh b ytrong ch÷ìng 2, 3 CuŁi còng l k‚t lu“n ch÷ìng
1.1 TŒng quan v• an to n ODBS
1.1.1 Giîi thi»u v• CSDL quan h»
Dœ li»u l th nh phƒn cŁt lªi cıa c¡c h» thŁng thæng tin Mºt h» thŁngthæng tin cƒn câ dœ li»u ƒu v o, xß lþ t‰nh to¡n v ÷a ra dœ li»u k‚t qu£.Trong qu¡ tr…nh xß lþ, h» thŁng cƒn l÷u trœ dœ li»u ƒu v o, gi¡ trà t⁄m,
dœ li»u k‚t qu£ ” d„ d ng sß döng v chia s· C¡c h…nh thøc tŒ chøc l÷utrœ dœ li»u nh÷: C§u tróc dœ li»u, h÷îng Łi t÷æng, CSDL Trong â, mæh…nh CSDL ÷æc x¥y düng tr¶n cì sð to¡n håc ch°t ch‡ n¶n nâ £m b£o
÷æc hƒu h‚t c¡c y¶u cƒu khi sß döng thæng tin tł ng÷íi dòng
ành ngh¾a 1.1 Cho c¡c t“p A1; A2; :::; An (n 1), R l ÷æc gåi l quan h»tr¶n n t“p n y n‚u câ ‰t nh§t mºt bº (tuple) gçm n gi¡ trà, trong â gi¡ trà ƒuti¶n ÷æc l§y tł A1, gi¡ trà thø hai l§y tł A2, [19]
°c i”m cıa quan h» R l c¡c gi¡ trà trong còng mºt t“p (A1 ho°c A2; :::)ph£i còng ki”u dœ li»u v c¡c gi¡ trà n y khæng câ mŁi quan h» v• thø tü.Khi bi”u di„n quan h» R d÷îi d⁄ng mºt b£ng th… mØi cºt t÷ìng øng vîi mºtthuºc t‰nh, mØi dÆng l mºt bº v t§t c£ c¡c dÆng câ nºi dung kh¡c nhau.CSDL quan h» ÷æc E F Codd [18] giîi thi»u lƒn ƒu ti¶n v o n«m 1970
9
Trang 11CSDL quan h» l c¡ch thøc tŒ chøc dœ li»u d÷îi d⁄ng quan h» (b£ng) v c¡cph†p to¡n, thao t¡c dœ li»u tr¶n c¡c quan h» â
” qu£n lþ CSDL quan h» trong m¡y t‰nh th… ta dòng phƒn m•m qu£n
lþ gåi l h» qu£n trà CSDL (Database Management Systems - DBMS).DBMS cho ph†p l“p tr…nh vi¶n ành ngh¾a c§u tróc c¡c b£ng (t¶n tr÷íng,ki”u dœ li»u cıa tr÷íng ) ” l÷u trœ dœ li»u; t⁄o quan h» giœa c¡c b£ng ” £mb£o sü to n vµn dœ li»u; thao t¡c th¶m, sßa, xâa v tr‰ch xu§t dœ li»u b‹ngc¡c l»nh truy v§n câ c§u tróc (Structured Query Language - SQL)
1.1.2 Giîi thi»u ODBS
i»n to¡n ¡m m¥y (Cloud Computing) ra íi v ph¡t tri”n ¢ gióp cho ng÷íidòng câ ÷æc nhi•u læi ‰ch khi sß döng dàch vö nh÷: Khæng tŁn chi ph
‰ ƒu t÷ ban ƒu v• phƒn cøng, phƒn m•m, h⁄ tƒng m⁄ng, thay Œi linh ho⁄tv• t i nguy¶n h» thŁng (CPU, RAM, Œ cøng ) i»n to¡n ¡m m¥y th÷íngcung c§p cho ng÷íi dòng c¡c dàch vö qua m⁄ng Internet d÷îi d⁄ng: Cì sð h⁄tƒng nh÷ mºt dàch vö (Infrastructure as a Service - IaaS), n•n t£ng nh÷mºt dàch vö (Platform as a Service - PaaS), phƒn m•m nh÷ mºt dàch vö(Software as a Service - SaaS)
Kh¡i ni»m 1.1 ODBS l mºt dàch vö tr¶n PaaS cıa i»n to¡n ¡m m¥y
[11] Trong mæ h…nh ODBS, DO thu¶ mºt nh cung c§p dàch vö qu£n lþ
v duy tr… ho⁄t ºng CSDL cıa m…nh DO ch¿ khai th¡c v chia s· CSDL cho ng÷íi dòng thæng qua c¡c ph÷ìng thøc do DSP cung c§p m khæng câ quy•n truy c“p v o c¡c dàch vö kh¡c cıa m¡y chı DSP
Vîi mæ h…nh ODBS, DO ch¿ sß döng vtr£ ti•n cho dàch vö CSDL mkhæng quan t¥m ‚n vi»c ƒu t÷ v qu£n lþ h» thŁng m¡y chı, ÷íng truy•n
v nh¥n vi¶n qu£n trà h» thŁng Do â, DO s‡ gi£m ÷æc chi ph‰ trong vi»c
ƒu t÷ h⁄ tƒng v nh¥n cæng ” qu£n lþ khi sß döng CSDL Vi»c l÷u trœ,
qu£n lþ CSDL bði DSP s‡ £m b£o an to n hìn vîi h» thŁng phƒn cøng hi»n
⁄i, phƒn m•m c“p nh“p th÷íng xuy¶n v ºi ngô nh¥n vi¶n chuy¶n nghi»p
Trang 12H…nh 1.1: Mæ h…nh tŒng qu¡t cıa ODBS
Mæ h…nh ODBS th÷íng câ ba Łi t÷æng ch‰nh:
Nh cung c§p dàch vö (Database Service Provider-DSP): DSP l tŒ chøc, doanh nghi»p cung c§p ODBS M¡y chı DSP s‡ câ nhi»m vö l÷u trœ, qu£n
lþ, b£o tr… CSDL cıa DO C¡c nh cung c§p dàch vö ODBS tr¶n th‚ giîi nh÷: Amazon [5], Google [15], CMC [17] M¡y chı cıa DSP câ c¡c
Chı sð hœu dœ li»u (Data Owner-DO): Ng÷íi t⁄o ra v to n quy•n quy‚tành dœ li»u DO l ng÷íi thu¶ dàch vö cıa DSP ” l÷u trœ CSDL v chia
Ng÷íi dòng (User): Ng÷íi dòng ƒu cuŁi ho°c øng döng truy c“p ‚n dœ li»u cıa DO theo ph¥n quy•n cıa DO
Trang 13Nh“n x†t 1.1 Mæ h…nh ODBS kh¡c vîi h…nh thøc l÷u trœ trüc tuy‚n ð chØCSDL cıa DO ÷æc qu£n lþ bði b¶n thø ba (DSP) Vi»c khai th¡c CSDL cıah…nh thøc ODBS câ hai t÷ìng t¡c chı y‚u: T÷ìng t¡c DO - DSP v t÷ìng t¡cng÷íi dòng - DSP T÷ìng t¡c giœa DO v DSP bao gçm c¡c truy v§n li¶n quan
‚n qu£n lþ CSDL nh÷: Th¶m, c“p nh“t, xâa dœ li»u, qu£n lþ, ph¥n
Trang 14quy•n ng÷íi dòng Trong khi t÷ìng t¡c giœa ng÷íi dòng v DSP bao gçmmºt sŁ c¡c truy v§n li¶n quan ‚n vi»c tr‰ch xu§t dœ li»u.
1.1.3 Nhœng nguy cì m§t an to n ODBS
Khi sß döng ODBS, c¡c dœ li»u cıa DO ÷æc l÷u trœ tr¶n ¡m m¥y n¶n s‡ Łi m°t vîi nhi•u rıi ro tł mæi tr÷íng Internet ho°c do ch‰nh m¡y chı cıa DSP Düa tr¶n nhœng nguy cì m Namasudra v cºng sü [56] ÷a ra, ta th§ymºt sŁ v§n • v• an to n ODBS nh÷ sau:
CSDL chı y‚u bà t§n cæng bði: T§n cæng b¶n trong v t§n cæng b¶nngo i T§n cæng b¶n trong l nhœng nh¥n vi¶n qu£n trà m¡y chı thuºc v•DSP can thi»p h» thŁng T§n cæng b¶n ngo i l nhœng ng÷íi tr¶n mæitr÷íng Internet t§n cæng v o h» thŁng ” ¡nh c›p dœ li»u T§n cæng
Khi mºt ng÷íi dòng bà thu hçi quy•n khäi CSDL, ng÷íi dòng â khæng
÷æc ph†p truy c“p dœ li»u N‚u ch÷ìng tr…nh ch÷a gi£i quy‚t tŁt v§n •thu hçi quy•n cıa ng÷íi dòng th… s‡ d¤n tîi t§n cæng theo h…nh thøc
"tho£ hi»p" Hìn nœa, vi»c ch÷a quan t¥m Œi kho¡ vîi CSDL m¢ khi
Tr¶n ¡m m¥y, dœ li»u ÷æc l÷u trœ v sao l÷u dü phÆng (backup) ð nhi•u và tr‰ kh¡c nhau, tr¶n c¡c thi‚t bà l÷u trœ kh¡c nhau trong c¡c h» thŁng m¡y chı Vi»c sao l÷u dœ li»u do nh¥n vi¶n cıa DSP qu£n lþ
v DSP câ th” phöc hçi dœ li»u (restore) tł c¡c b£n dü phÆng cho dò
DO ¢ xâa dœ li»u khäi m¡y chı ¡m m¥y Nh÷ v“y, vi»c DO xo¡ dœ li»u
Cho ‚n nay, ch÷a câ mºt ti¶u chu'n cö th” giœa DSP, DO v ng÷íi dòng
” £m b£o tuy»t Łi an to n dœ li»u cho DO, b£o m“t thæng tin chong÷íi sß döng
Trang 15Nh“n x†t 1.2 Nguy cì m§t an to n cıa ODBS phö thuºc ch‰nh v o h»thŁng DSP (phƒn cøng, phƒn m•m, nh¥n vi¶n), c¡c mŁi e dåa tr¶n ÷íngtruy•n, sü qu£n lþ cıa DO v• kho¡ m¢, thu“t to¡n m“t m¢ v nhœng ch‰nhs¡ch m DO thi‚t l“p Łi vîi ng÷íi tham gia v o h» thŁng CSDL
1.1.4 C¡c b i to¡n b£o £m an to n ODBS
Tł nhœng nguy cì v rıi ro ÷æc tr…nh b y, c¡c nh khoa håc nh“n th§y cƒn nghi¶n cøu c¡c v§n • nh‹m b£o v» an to n dœ li»u tr¶n ODBS Câ c¡c b i to¡n b£o £m
an to n cho ODBS nh÷:
T‰nh b‰ m“t cıa dœ li»u (Data confidentiality) [32, 60, 76, 84]: Dœ li»uban ƒu (b£n rª) ÷æc bi‚n Œi th nh dœ li»u kh¡c (b£n m¢) N‚u ng÷íi câb£n m¢ m khæng câ kho¡ m¢ s‡ khæng th” bi‚t ÷æc nºi dung do khængth” chuy”n l⁄i th nh b£n rª DO th÷íng m¢ hâa dœ li»u bði mºt
h m m“t m¢ vîi khâa b‰ m“t tr÷îc khi l÷u trœ tr¶n ¡m m¥y C¡c h m m“tm¢ ÷æc sß döng nh÷: M“t m¢ khâa Łi xøng (DES, AES ), m¢ hâa b£o
to n thø tü (OPE), m¢ hâa çng c§u (HOM) Vîi c¡ch b£o v» nh÷ v“y,ch¿ DO mîi câ khâa m¢ ” gi£i m¢ dœ li»u K· t§n cæng (k” c£ DSP) n‚u
câ ÷æc dœ li»u th… công khæng bi‚t ÷æc nºi dung do khæng câ khâam¢ Tòy thuºc v o møc º b£o m“t cho CSDL m c¡c nh nghi¶n cøu • xu§tc¡c møc m¢ hâa CSDL kh¡c nhau Vîi m¢ ho¡ møc n o th… møc â dòngchung mºt kho¡ C¡c møc m¢ hâa CSDL theo møc º an to n tł th§p ‚ncao l : Møc b£ng, møc cºt, møc dÆng v møc æ Trong b i to¡n n y, vi»cqu£n lþ v thay Œi kho¡ m¢ công l mºt b i to¡n quan trång Thay Œi kho¡ lqu¡ tr…nh gi£i m¢ b‹ng kho¡ cô v m¢ ho¡
T‰nh ri¶ng t÷ cıa dœ li»u (Data privacy) [25, 40, 91]: C¡c ng÷íi dòngkh¡c nhau s‡ câ quy•n kh¡c nhau Łi vîi vi»c truy xu§t CSDL Ng÷íi dòngch¿ ÷æc ph†p truy c“p v o nhœng dœ li»u m DO c§p quy•n cho m…nh
DO qu£n lþ t‰nh ri¶ng t÷ dœ li»u b‹ng c¡ch sß döng mºt cì ch‚
Trang 16qu£n lþ truy c“p sao cho mØi ìn và dœ li»u (dÆng, cºt) ch¿ ÷æc truyc“p bði nhœng ng÷íi dòng m DO c§p ph†p N‚u CSDL ÷æc m¢ hâath… DO ph£i câ cì ch‚ qu£n lþ kho¡ k‚t hæp vîi qu£n lþ quy•n truy c“p
£m b£o k‚t qu£ truy v§n (Query Assurance) [70, 45, 27]: K‚t qu£ tr£v• tł server ph£i £m b£o t‰nh óng (correctness), ƒy ı (completeness)
v mîi nh§t (freshness) CSDL cıa DO câ th” bà t§n cæng, l m sai l»ch
dœ li»u so vîi ban ƒu, do â, cƒn ph£i câ ph÷ìng ph¡p x¡c thüc dœ li»utr£ v• khi truy v§n
Mºt sŁ b i to¡n b£o £m an to n cho ODBS kh¡c nh÷: X¡c thüc ng÷íidòng, b£o v» t‰nh ri¶ng t÷ ng÷íi dòng, ghi nh“t kþ h» thŁng v b£o v» si¶u
dœ li»u
Nh“n x†t 1.3 T‰nh b‰ m“t dœ li»u gióp DO b£o v» dœ li»u tr÷îc vi»c lºlåt thæng tin ” thüc hi»n tŁt t‰nh b‰ m“t th… c¡c h m m“t m¢ âng vaitrÆ quan trång trong vi»c m¢ hâa, gi£i m¢, t‰nh to¡n tr¶n dœ li»u m¢ H
m m“t m¢ ph£i £m b£o º an to n, thüc hi»n nhanh v hØ træ c¡c ph†p t
‰nh to¡n cì b£n C¡c mæ h…nh, thu“t to¡n truy v§n tr¶n CSDL m¢ ph£i
£m b£o v• m°t thíi gian thüc hi»n B¶n c⁄nh â, vi»c qu£n lþ t‰nh ri¶ng t÷
dœ li»u v qu£n lþ khâa, qu£n lþ ng÷íi dòng cƒn thüc hi»n tŁt, tr¡nh tr÷ínghæp ng÷íi dòng truy c“p b§t hæp ph¡p v o dœ li»u Thay Œi khâa m¢ choCSDL l bi»n ph¡p cƒn thi‚t ” t«ng t‰nh an to n cho ODBS Vi»c x¡c thüc
dœ li»u tr£ v• khi truy v§n s‡ gióp cho ng÷íi khai th¡c dœ li»u tr¡nh ÷æcnhœng h“u qu£ ¡ng ti‚c tł nhœng thæng tin khæng ch‰nh x¡c
1.2 Nhœng nghi¶n cøu v• an to n cho ODBS
Tł nhœng v§n • n¶u tr¶n, c¡c nh khoa håc trong v ngo i n÷îc ¢ • xu§tc¡c gi£i ph¡p ” b£o £m an to n cho CSDL nâi chung v ODBS nâi ri¶ng.Trong â câ c¡c nghi¶n cøu nh÷:
Trang 171.2.1 Nghi¶n cøu trong n÷îc
T¡c gi£ Nguy„n Anh Tu§n [2] nghi¶n cøu x¥y düng mæ h…nh m¢ hâaCSDL nâi chung T¡c gi£ dòng c¡c thu“t to¡n m“t m¢ ” m¢ hâa dœ li»u vdòng c¡c b£ng £o, trigger cıa DBMS ” gi£i m¢ dœ li»u tr÷îc khi truy v§n.Ph÷ìng ph¡p n y chŁng l⁄i c¡c t§n cæng ¡nh c›p dœ li»u do Adv khæng câkhâa m¢ ” gi£i m¢ dœ li»u Tuy nhi¶n, khi sŁ l÷æng b£ng £o t«ng l¶n th…s‡ l m gi£m kh£ n«ng xß lþ cıa m¡y chı Ngo i ra, nghi¶n cøu n y ch÷aquan t¥m gi£i quy‚t b i to¡n x¡c thüc dœ li»u, qu£n lþ v thay Œi kho¡
T¡c gi£ Ph⁄m Thà B⁄ch Hu» [1] nghi¶n cøu v ph¡t tri”n mºt sŁ gi£i ph¡pb£o m“t v b£o v» t‰nh ri¶ng t÷ trong ODBS Trong â, t¡c gi£ t“p trung
v o c¡c v§n • li¶n quan ‚n t‰nh ri¶ng t÷ ng÷íi dòng, t‰nh ri¶ng t÷ dœli»u, x¡c thüc ng÷íi dòng v ghi nh“t kþ h» thŁng T¡c gi£ gi£i quy‚t t‰nh ri¶ng t÷ng÷íi dòng b‹ng ph÷ìng ph¡p truy v§n t⁄o nhi„u, sau â lo⁄i bä c¡c b£n ghi d÷ thła
ð ph‰a ng÷íi dòng, i•u n y h⁄n ch‚ vi»c m¡y chı dœ li»u thŁng k¶ tƒn su§t truyv§n cıa ng÷íi dòng Vi»c b£o v» t‰nh ri¶ng t÷ dœ li»u ÷æc t¡c gi£ sß döng cìch‚ qu£n lþ truy c“p møc cºt, câ th” sß döng trong CSDL ‰t bi‚n ºng ” b£o v» t
‰nh ri¶ng t÷ dœ li»u,t¡c gi£ dòng thu“t to¡n m¢ hâa dœ li»u düa tr¶n ành lþ sŁd÷ Trung Hoa (Chinese remainder theorem - CRT), sß döng h m mºt chi•u ”d¤n xu§t khâa, dòng c¥y nhà ph¥n ” qu£n lþ Tuy nhi¶n, t¡c gi£ ch÷a gi£i quy‚t
b i to¡n x¡c thüc dœ li»u tr£ v• B i to¡n thay kho¡ ÷æc t¡c gi£ ÷a ra trong h÷îngnghi¶n cøu ti‚p theo, nh÷ng ‚n nay, b i to¡n n y v¤n ch÷a ÷æc gi£i quy‚t
1.2.2 Nghi¶n cøu ngo i n÷îc
Khi m¢ hâa dœ li»u ” £m b£o t‰nh b‰ m“t th… çng thíi c¡c nh nghi¶ncøu • xu§t ph÷ìng ph¡p truy v§n dœ li»u m¢ Bði v… khi m¢ hâa, dœ li»u ¢
bà bi‚n Œi, khæng cÆn l ki”u dœ li»u ban ƒu B¶n c⁄nh â, n‚u m¢ hâa theoc¡c vector IV ng¤u nhi¶n trong c¡c thu“t to¡n m“t m¢ th… s‡ khæng giœ ÷æcmŁi quan h» giœa c¡c b£ng v… m°c dò còng gi¡ trà rª nh÷ng hai gi¡ trà
Trang 18ð hai b£ng kh¡c nhau s‡ sinh hai gi¡ trà m¢ kh¡c nhau C¡c cæng bŁ v•truy v§n tr¶n dœ li»u m¢ nh÷: Dòng si¶u dœ li»u (metadata) l÷u trœ c¡cthæng tin phö træ ” hØ træ truy v§n tr¶n dœ li»u m¢ [9, 32] Dòng m¡y chıtrung gian (proxy) ” chuy”n Œi c¥u truy v§n [12, 60] Truy v§n trüc ti‚p tr¶n dœli»u m¢ (ph÷ìng ph¡p n y ch¿ hØ træ mºt sŁ d⁄ng truy v§n) [53, 82].
Hacigumus v cºng sü [32] • xu§t gi£i ph¡p dòng ch÷ìng tr…nh bi‚n Œitruy v§n (Query Translator) ” chuy”n Œi c¥u truy v§n d⁄ng rª cıa ng÷íidòng sang truy v§n d⁄ng m¢ C¡c dœ li»u ÷æc m¢ hâa tr÷îc khi l÷u trœ ðm¡y chı cıa DSP B¶n c⁄nh â, dœ li»u câ th¶m c¡c ch¿ möc l m thæng tinphö træ cho ph†p thüc hi»n truy v§n CSDL t⁄i m¡y chı cıa DSP m khængcƒn ph£i gi£i m¢ DO dòng ch¿ möc ” chuy”n Œi c¡c truy v§n cıa ng÷íidòng th nh c¡c truy v§n th‰ch hæp câ th” thüc thi tr¶n m¡y chı, v ng÷íidòng s‡ nh“n ÷æc k‚t qu£ tr£ v• tł m¡y chı cıa DSP Tuy nhi¶n, ph÷ìngph¡p n y v¤n cÆn câ nhœng nh÷æc i”m l t«ng chi ph‰ l÷u trœ, chi ph‰ ”t‰nh to¡n l⁄i sau khi truy v§n CSDL v ch÷a quan t¥m x¡c thüc dœ li»u m¢
v Œi kho¡ m¢
Agrawal v cºng sü [3] • xu§t gi£i ph¡p b£o £m t‰nh b‰ m“t dœ li»u v quy•n ri¶ng t÷ cıa c¡c truy v§n b‹ng c¡ch l÷u trœ ph¥n t¡n dœ li»u tr¶n nhi•u m¡y chı thay v… m¢ hâa dœ li»u C¡ch ti‚p c“n n y t“n döng ÷æc sŁ l÷æng lîn t i nguy¶n tł c¡c m¡y chı DSP tòy thuºc sŁ l÷æng m¡y chı m DO thu¶ CSDL ÷æc chia th nh nhi•u phƒn v l÷u trœ mØi phƒn t⁄i DSP:
DSP1; DSP2; :::; DSPn sao cho dœ li»u tł b§t ký m¡y chı k(k n) •u khængth” ti‚t lº ÷æc b‰ m“t cıa dœ li»u Khi truy v§n dœ li»u, c¡c m¡y chı tr£ v• c¡cgi¡ trà thäa i•u ki»n v ÷æc khæi phöc l⁄i gi¡ trà ban ƒu b‹ng mºt h m doAgrawal ành ngh¾a tr÷îc Tuy nhi¶n, ph÷ìng ph¡p n y ch÷a gi£i quy‚t v§n •x¡c thüc dœ li»u khi truy v§n
A Popa v cºng sü [60] tr…nh b y mºt mæ h…nh m¢ ho¡ v c¡ch thøcthüc thi truy v§n tr¶n CSDL m¢ b‹ng c¡ch sß döng mºt m¡y chı l m trunggian gåi l CryptDB proxy CryptDB proxy l÷u trœ kho¡ b‰ m“t v c¡c lîp m¢
Trang 19ho¡ hi»n t⁄i cıa mØi cºt M¡y chı DSP l÷u trœ dœ li»u ng÷íi dòng ¢ ÷æc m¢hâa (trong â t¶n b£ng, t¶n cºt công ÷æc m¢ ho¡ ” 'n i þ ngh¾a cıa b£ng) vmºt sŁ b£ng phö træ ÷æc sß döng bði CryptDB CryptDB công cung c§pcho c¡c m¡y chı vîi mºt sŁ h m do ng÷íi dòng ành ngh¾a (User definedfunction - UDF) cho ph†p c¡c m¡y chı t‰nh to¡n tr¶n dœ li»u m¢ vîi mºt
sŁ ph†p to¡n nh§t ành i”m m⁄nh cıa CryptDB l cho ph†p c¡c m¡y chı t‰nhto¡n tr¶n dœ li»u m¢ hâa m khæng cƒn gi£i m¢ Proxy l h» thŁng trunggian câ th” t«ng c÷íng kh£ n«ng t‰nh to¡n cho c¡c øng döng khi truy v§ntr¶n DBMS Nâ câ th” thüc hi»n mºt sŁ l÷æng lîn c¡c truy v§n SQL tr¶nc¡c dœ li»u ÷æc m¢ hâa m khæng Æi häi b§t ký thay Œi b¶n trong cıam¡y chı DBMS v k‚t qu£ ÷æc gi£i m¢ bði c¡c user ¡ng tin c“y Tuy nhi¶n,CryptDB ch¿ thüc thi tr¶n MySQL m ch÷a hØ træ c¡c DBMS th÷ìng m⁄inh÷ SQL Server v Oracle Hìn nœa, CryptDB v¤n ch÷a hØ træ h‚t t§t c£c¡c c¥u truy v§n dœ li»u
Li v cºng sü [50] • xu§t mæ h…nh L-EncDB truy v§n tr¶n CSDL m¢ gçm 2tƒng: Tƒng øng döng v tƒng CSDL Tƒng øng döng möc ‰ch m¢ hâa c¡c
dœ li»u v chuy”n Œi c¡c d⁄ng c¥u truy v§n cho phò hæp c¡c lo⁄i m¢ (FPE,FQE ho°c OPE) Tƒng CSDL ch¿ cung c§p dàch vö CSDL m khæng choph†p ng÷íi dòng can thi»p h» thŁng, ng÷íi dòng ch¿ t÷ìng t¡c vîi m¡y chı b‹ngc¡ch sß döng c¡c c¥u l»nh SQL L-EncDB hØ træ ÷æc c¡c lo⁄i truy v§n: truyv§n kho£ng (dòng m¢ OPE), truy v§n mí (dòng m¢ FPE) L-EncDB gi£i quy‚ttruy v§n dœ li»u m¢ hìn CryptDB ð chØ L-EncDB câ th” t…m ki‚m mí tr¶n to
n bº dœ li»u chuØi, trong khi CryptDB ch¿ hØ træ mºt phƒn
Łi vîi b i to¡n qu£n lþ khâa ” £m b£o t‰nh ri¶ng t÷ dœ li»u, c¡c nhnghi¶n cøu th÷íng sß döng ma tr“n qu£n lþ truy c“p, c¡c thu“t to¡n d¤nxu§t khâa, c¡c c§u tróc qu£n lþ khâa, £m b£o ch¿ câ nhœng ng÷íi dòng
câ quy•n mîi câ th” khai th¡c dœ li»u C¡c møc ri¶ng t÷ dœ li»u nh÷: Møcb£ng, møc cºt, møc dÆng
A.Zych v cºng sü [91] ÷a ra gi£i ph¡p £m b£o t‰nh ri¶ng t÷ dœ li»u ð
Trang 20møc dÆng vîi c§u tróc qu£n lþ kho¡ düa tr¶n mŁi quan h» giœa c¡c ng÷íidòng trong danh s¡ch truy c“p v x¥y düng tł d÷îi l¶n (bottom up) çng thíidòng ph÷ìng ph¡p d¤n xu§t kho¡ düa tr¶n nghi thøc trao Œi kho¡ DiffieHellman v ph¥n phŁi kho¡ d¤n xu§t ‚n tłng ng÷íi dòng Tuy nhi¶n, thu“tto¡n sinh kho¡ v thu“t to¡n x¥y düng c§u tróc qu£n lþ kho¡ phøc t⁄p, Æi häichi ph‰ t‰nh to¡n cao.
Damiani v cºng sü [21] sß döng ma tr“n truy c“p ” mæ t£ t“p hæp quy•ncıa ng÷íi dòng Trong â, h ng bi”u di„n ng÷íi dòng v cºt l quy•n truy c“p dœli»u C¥y d¤n xu§t khâa ÷æc x¥y düng tł ma tr“n truy c“p ” ki”m so¡t truyc“p Thu“t to¡n • xu§t t§t c£ c¡c nót ⁄i di»n cho quy•n truy c“p theo ma tr“ntruy c“p MØi nót s‡ ÷æc li¶n k‚t vîi mºt khâa b‰ m“t sao cho khâa chonót v s‡ ÷æc c§p cho ng÷íi dòng u khi v ch¿ khi ng÷íi dòng thuºc quy•ntruy c“p v v u khæng thuºc quy•n truy c“p cıa nót cha cıa u
El Khory v cºng sü [25] ¢ • xu§t ph÷ìng ph¡p qu£n lþ truy xu§t ð møcdÆng vîi d¤n xu§t kho¡ b‹ng h m mºt chi•u v cì ch‚ qu£n lþ kho¡ b‹ng c¥ynhà ph¥n MØi møc cıa c¥y nhà ph¥n t÷ìng øng vîi c¡c quy•n cıa ng÷íidòng Ng÷íi dòng ÷æc cung c§p c¡c khâa t÷ìng øng vîi møc cıa anh tatrong c¥y v câ th” l§y t§t c£ c¡c khâa cho dœ li»u ÷æc ph†p truy c“p Gi£iph¡p n y câ nh÷æc i”m l g¡n c¡c khâa mºt c¡ch khæng b…nh flng Ng÷íidòng ð møc ƒu cıa c¥y ch¿ sð hœu v i khâa, trong khi nhœng ng÷íi ðmøc d÷îi nh“n ÷æc mºt sŁ l÷æng lîn khâa
C¡c ph÷ìng ph¡p • xu§t hƒu h‚t v¤n ch÷a linh ho⁄t v d¤n ‚n khæng th”tr¡nh khäi vi»c tŁn nhi•u thíi gian düng l⁄i c§u tróc khâa khi thay Œi quy•ncıa ng÷íi dòng th÷íng xuy¶n Ngo i ra, c¡c ph÷ìng ph¡p • xu§t ch÷a gi£iquy‚t v§n • thay Œi kho¡ m¢ cıa CSDL khi cƒn thi‚t
Łi vîi b i to¡n x¡c thüc k‚t qu£ truy v§n tr£ v•, c¡c nh khoa håc th÷íng sßdöng chœ kþ sŁ ho°c dòng c¡c c§u tróc dœ li»u x¡c thüc (AuthenticatedData Structure - ADS) [44, 45, 58, 90] Tuy nhi¶n, ADS th÷íng khæng hi»uqu£ Łi vîi dœ li»u ºng do thíi gian thay Œi c§u tróc cıa ADS r§t lîn V…
Trang 21sß döng Merkle Hash Tree (MHT) MHT l c¥y
m c¡c l¡ cıa nâ l k‚t qu£ b«m cıa dœ li»u cıa tłng b£n ghi t÷ìng øng trongCSDL v ¡nh d§u node gŁc b‹ng mºt chœ kþ sŁ N‚u k–m theo hai b£n ghi ð haibi¶n k‚t qu£, ta câ th” chøng minh ÷æc k‚t qu£ tr£ v• ƒy ı C§u tróc MHT Æi häiph£i l÷u trœ k–m theo mºt c§u tróc dœ li»u chuy¶n dòng ” phöc vö cho vi»cb£o £m truy v§n MØi c§u tróc n y th÷íng ch¿ ¡p döng cho mºt thuºc t‰nh,nh÷ v“y, trong tr÷íng hæp CSDL câ nhi•u thuºc t‰nh t…m ki‚m (searchableattribute) Æi häi nhi•u c§u tróc t÷ìng øng, i•u n y câ th” l m t«ng chi ph‰ phƒncøng ” l÷u trœ t⁄i server
Yuan v cºng sü [88] • xu§t mºt l÷æc ç truy v§n gºp câ th” x¡c thüc choCSDL thu¶ ngo i MØi b£n ghi ÷æc g¡n th· (tag) x¡c thüc dòng ” ki”m tra t
‰nh to n vµn cıa k‚t qu£ truy v§n gºp Tuy nhi¶n, ph÷ìng ph¡p n ych¿ ki”m chøng tr¶n dœ li»u rª v ph£i ki”m tra th· cıa c¡c b£n ghi li¶n quan
‚n truy v§n Ngh¾a l h» thŁng ph£i t‰nh to¡n l⁄i chœ kþ cıa b£n ghi m°c
dò truy v§n ch¿ l§y mºt v i thuºc t‰nh trong b£n ghi
Trang 22Maithili Narasimha [57] ¢ • nghà mºt h÷îng ti‚p c“n mîi düa tr¶n chuØichœ kþ sŁ Khi â, trong chœ kþ cıa mºt b£n ghi bao gçm nºi dung cıa b£nghi li•n tr÷îc nâ Trong k‚t qu£ tr£ v•, server tr£ k–m th¶m hai b£n ghi ðbi¶n ” câ th” £m b£o ÷æc t‰nh óng v ƒy ı Tuy nhi¶n, • xu§t cıaNarasimha ÷æc thüc hi»n tr¶n CSDL rª N‚u ¡p döng ph÷ìng ph¡p n y tr¶nCSDL m¢ th… sau khi x¡c thüc, Narasimha ph£i tŁn th¶m thíi gian thüchi»n gi£i m¢ c¡c b£n ghi tr÷îc khi tr£ k‚t qu£ rª cho ng÷íi dòng.
Khæng ch¿ câ c¡c nh nghi¶n cøu ÷a ra c¡c cæng bŁ khoa håc m c¡ccæng ty công cho ra íi c¡c s£n ph'm th÷ìng m⁄i ” b£o £m an to n choODBS Mºt sŁ s£n ph'm ti¶u bi”u l :
CipherCloud [16]: Gi£i ph¡p n y cung c§p kh£ n«ng m¢/gi£i m¢ dœ li»u
v o/ra theo thíi gian thüc düa tr¶n vi»c sß döng cŒng m¢ hâa (gateway)
Nâ cung c§p gi£i ph¡p düa tr¶n m¢ hâa m⁄nh câ th” t…m ki‚m (SSE) theo ti¶uchu'n bði FIPS 140-2 Dœ li»u ch¿ ÷æc gi£i m¢ khi ng÷íi dòng ÷æc quy•n truyxu§t dœ li»u tł ¡m m¥y C¡c khâa m¢ ÷æc l÷u trœ cöc bº v khæng chia s· vîiDSP CipherCloud cung c§p gi£i ph¡p chŁng m§t dœ li»u, ph¡t hi»n v gi¡m s¡tphƒn m•m ºc h⁄i cho mæi tr÷íng ¡m m¥y
Thales eSecurity [71]: Cung c§p kh£ n«ng m¢/gi£i m¢ trong suŁt choc¡c h» qu£n trà CSDL tr¶n c¡c dàch vö ¡m m¥y Gi£i ph¡p n y công choph†p ng÷íi dòng tü qu£n lþ khâa
Porticor [61] cung c§p c¡c gi£i ph¡p ” m¢ hâa dœ li»u v qu£n lþ khâa.Gi£i ph¡p dœ li»u ri¶ng £o Porticor cıa cæng ty b£o v» lîp dœ li»u cıa c¡cøng döng trong ¡m m¥y nh÷: ˚ cøng £o, h» thŁng t»p, CSDL v l÷u trœph¥n t¡n Nâ ho⁄t ºng phŒ bi‚n trong cì sð h⁄ tƒng nh÷ mºt dàch vö (IaaS)
v n•n t£ng nh÷ mºt dàch vö (PaaS)
C¡c s£n ph'm th÷ìng m⁄i ng y c ng ho n thi»n, gi£i quy‚t hƒu h‚t c¡c b ito¡n v• an to n cho ODBS Tuy nhi¶n, c¡c s£n ph'm th÷ìng m⁄i ho⁄t ºngcông nh÷ mºt th nh phƒn trung gian, cho ph†p m¢ hâa ODBS d÷îi d⁄ngcŒng m¢ hâa C¡c s£n ph'm n y th÷íng ›t ti•n v v… l s£n ph'm m¢
Trang 23nguçn âng n¶n khâ ki”m so¡t v• m°t kÿ thu“t, cæng ngh» v t‰nh an to n,ng÷íi dòng ch§p nh“n sü tin t÷ðng ” sß döng B¶n c⁄nh â, c¡c s£n ph'm n ykhâ câ kh£ n«ng tòy bi‚n v• m°t gi£i ph¡p m¢ hâa, khæng cho ng÷íi dòng
sß döng c¡c thu“t to¡n m“t m¢ phò hæp vîi y¶u cƒu ri¶ng cıa cì quan, tŒchøc ho°c quŁc gia cıa m…nh
Nh“n x†t 1.4 C¡c cæng bŁ ¢ gi£i quy‚t c¡c b i to¡n: Truy v§n tr¶n dœ li»um¢, x¡c thüc dœ li»u m¢, b£o v» t‰nh ri¶ng t÷ dœ li»u Tuy nhi¶n, vîi b ito¡n £m b£o t‰nh b‰ m“t CSDL, c¡c nghi¶n cøu ¢ • xu§t gi£i ph¡p ” thücthi truy v§n tr¶n dœ li»u m¢ m ch÷a quan t¥m ‚n thíi gian xß lþ truy v§n
¥y l v§n • quan trång trong mæ h…nh CSDL quan h» do xß lþ tr¶n dœli»u m¢ tŁn nhi•u thíi gian hìn so vîi truy v§n tr¶n dœ li»u rª Łi vîi b i to¡nx¡c thüc dœ li»u m¢, c¡c nghi¶n cøu sß döng ADS s‡ khâ t‰nh to¡n l⁄igi¡ trà x¡c thüc khi truy v§n tr¶n nhi•u b£ng ADS hƒu nh÷ khæng phòhæp vîi dœ li»u ºng v… ph£i x¥y düng l⁄i c§u tróc x¡c thüc khi dœ li»uthay Œi M°c kh¡c, qu¡ tr…nh x¡c thüc dœ li»u m¢ ºc l“p vîi qu¡ tr…nh gi£im¢ dœ li»u, do â, c¡c gi£i ph¡p • xu§t v¤n ph£i tŁn thíi gian gi£i m¢ dœli»u sau khi x¡c thüc truy v§n B¶n c⁄nh â, b i to¡n thay kho¡ ÷æc giîi thi»utrong cæng tr…nh [1], tuy nhi¶n ‚n nay, b i to¡n n y v¤n ch÷a ÷æc gi£iquy‚t
1.3 C¡c b i to¡n ÷æc gi£i quy‚t trong lu“n ¡n
Theo kh£o s¡t v ph¥n t‰ch nh÷ tr¶n, c¡c nghi¶n cøu ¢ ÷æc • xu§t ch÷agi£i quy‚t h‚t c¡c b i to¡n m lu“n ¡n quan t¥m Nhœng b i to¡n ÷æc lu“n ¡nnghi¶n cøu, gi£i quy‚t cö th” nh÷ sau:
1 Gi£m thíi gian truy v§n tr¶n dœ li»u m¢: • xu§t ph÷ìng ph¡p xß lþsong song tr¶n dœ li»u m¢ ” gi£m thíi gian truy v§n Ph÷ìng ph¡p n y câ th”
÷æc sß döng ð c¡c pha xß lþ kh¡c nhau nh÷: T‰nh to¡n, gi£i m¢, x¡c thüc dœli»u gióp t«ng hi»u n«ng cıa h» thŁng
Trang 25hai b i to¡n khâ v sß döng thu“t to¡n x¡c thüc læ n y v o x¡c thüc dœli»u m¢ khi truy v§n Ph÷ìng ph¡p • xu§t th‰ch hæp vîi CSDL ºng dokhæng ph£i x¥y düng l⁄i c§u tróc x¡c thüc, çng thíi k‚t hæp x¡c thüc
v gi£i m¢, tr£ k‚t qu£ rª cho ng÷íi dòng
3 Qu£n lþ quy•n truy c“p v thay Œi kho¡ m¢: • xu§t dòng c¥y KMT
v ma tr“n qu£n lþ truy c“p ” b£o v» t‰nh ri¶ng t÷ dœ li»u • xu§tthu“t to¡n m¢ ho¡ t»p tin ng÷íi dòng ” b£o v» nºi dung cıa c¥y KMT, tr¡nh vi»c
¡nh c›p kho¡ m¢ • xu§t thu“t to¡n thay Œi kho¡ m¢ cıa CSDL thu¶ ngo i düatr¶n mæ h…nh MapReduce
1.4 Mºt sŁ ki‚n thøc li¶n quan
Trong möc n y, lu“n ¡n tr…nh b y nhœng ki‚n thøc li¶n quan ‚n nhœng •xu§t trong ch÷ìng 2, 3 bao gçm: Xß lþ song song ” gi£m thíi gian truy v§ntr¶n dœ li»u m¢, chœ kþ sŁ v x¡c thüc læ ” x¡c thüc dœ li»u m¢ khi truyv§n, h» thŁng t»p tin trong khæng gian ng÷íi dòng, kho l÷u trœ kho¡-gi¡ trà sß döng ” m¢ ho¡ t»p tin qu£n lþ kho¡, mæ h…nh l“p tr…nhMapReduce dòng ” thay Œi kho¡ m¢, t“p dœ li»u m¤u TPC-H ” thücnghi»m ph¥n t‰ch, ¡nh gi¡ k‚t qu£
1.4.1 Xß lþ song song
Xß lþ song song l qu¡ tr…nh xß lþ gçm nhi•u ti‚n tr…nh ÷æc k‰ch ho⁄tçng thíi v còng tham gia gi£i quy‚t mºt v§n • thüc hi»n tr¶n nhœng h»thŁng câ nhi•u bº xß lþ çng thíi Xß lþ song song cho ph†p chia nhä v§n •lîn th nh c¡c v§n • nhä ” thüc hi»n còng mºt lóc Möc ‰ch cıa xß lþ songsong l t“n döng tri»t ” t i nguy¶n cıa h» thŁng tr¶n c¡c m¡y t‰nh a nh¥n, aluçng C¡c m¡y t‰nh song song s‡ thüc hi»n nhœng t‰nh to¡n nhanh hìn
do sß döng nhi•u bº xß lþ çng thíi Vi»c øng döng xß lþ song song v o c¡c
b i to¡n s‡ gi£i quy‚t ÷æc nhœng v§n • lîn hìn, phøc t⁄p hìn trong thüc t‚
Trang 26H…nh 1.2: Qu¡ tr…nh xß lþ tuƒn tü v song song
C¡c m¡y t‰nh xß lþ song song câ th” ÷æc ph¥n lo⁄i tòy theo møc º hØ
træ song song cıa phƒn cøng:
M¡y t‰nh ìn vîi bº xß lþ a nh¥n, a luçng.
Cöm m¡y t‰nh, t‰nh to¡n l÷îi (Grid computing) sß döng nhi•u m¡y t‰nh
tin C¡c thu“t to¡n chœ kþ sŁ th÷íng düa tr¶n hai h» m“t phŒ bi‚n l RSA
v Elgamal H» m“t RSA düa tr¶n º khâ cıa b i to¡n ph¥n t‰ch thła sŁ
nguy¶n tŁ Elgamal düa tr¶n º khâ cıa b i to¡n logarit ríi r⁄c Câ mºt sŁ chœ kþ
sŁ düa tr¶n h» m“t Elgamal ÷æc xem l chu'n nh÷: DSA (Digital Signature
Algorithm) l gi£i thu“t chœ kþ sŁ trong chu'n chœ kþ sŁ (Digital Signature
Standard DSS) cıa ch‰nh phı Mÿ v ÷æc ÷a ra bði FIPS-186 [28] GOST l
chu'n chœ kþ sŁ cıa Li¶n bang Nga [31] v KCDSA l chu'n chœ kþ sŁ cıa H n
QuŁc [51]
Trang 271.4.2.1 L÷æc ç chœ kþ sŁ RSA
R.L.Rivest, A.Shamir v L.Adleman • xu§t mºt l÷æc ç chœ kþ sŁ l§y t¶n cıa
ba ng÷íi l RSA [63] C¡c tham sŁ trong l÷æc ç ÷æc t⁄o b‹ng c¡ch chån ng¤u nhi¶n c¡c sŁ nguy¶n tŁ lîn p; q, p 6=q v t‰nh n = pq Thu“t to¡n t⁄okhâa, kþ v x¡c thüc ÷æc mæ t£ nh÷ sau:
T⁄o kho¡: Kho¡ b‰ m“t d, kho¡ cæng khai (e; n)
Michael.O.Rabin • xu§t mºt l÷æc ç chœ kþ sŁ düa tr¶n º khâ cıa b i to¡n ph¥n t
‰ch sŁ [62] Thu“t to¡n t⁄o khâa, t⁄o chœ kþ v x¡c thüc ÷æc mæ t£nh÷ sau:T⁄o kho¡: Kho¡ b‰ m“t (p; q), kho¡ cæng khai (n; b)
Cho n = pq l t‰ch hai sŁ nguy¶n tŁ lîn p; q, v chån 0 b n Kþ: T⁄o
chœ kþ cho dœ li»u m 2 f0; 1g
1 Chån ng¤u nhi¶n phƒn »m U v t‰nh c = H(mU) mod n
2 Ki”m tra c thäa m¢n x(x + b) = c mod n N‚u khæng t…m ÷æc xth… quay l⁄i b÷îc 1
3 Xu§t (U; x).
Trang 28X¡c thüc: Ki”m tra chœ kþ óng/sai.
1 T‰nh c = H(mU) mod n
2 N‚u x(x + b) = c mod n, tr£ v• 1 ( óng), ng÷æc l⁄i tr£ v• 0 (sai)
1.4.2.3 L÷æc ç chœ kþ sŁ Schnorr
Schnorr • xu§t mºt l÷æc ç chœ kþ sŁ [64] v ÷æc øng döng trong nhi•u
l¾nh vüc x¡c thüc Cho c¡c tham sŁ p; q; g tr¶n b i to¡n logarit ríi r⁄c (DLP), p
l mºt sŁ nguy¶n tŁ lîn câ k‰ch th÷îc trong kho£ng tł 512 ‚n 1024 bit, q
l mºt ÷îc sŁ nguy¶n tŁ cıa p 1 câ k‰ch th÷îc 160 bit, g l phƒn tß sinh
c§p q thuºc GF (p)
Thu“t to¡n t⁄o khâa, kþ v x¡c thüc ÷æc mæ t£ nh÷ sau:
T⁄o kho¡: Kho¡ b‰ m“t x, kho¡ cæng khai y
Chån sŁ ng¤u nhi¶n x 2 f1; :::; q 1g v t‰nh y = gx mod p
Kþ: T⁄o chœ kþ cho dœ li»u m 2 f0; 1g
1 Chån sŁ ng¤u nhi¶n t 2 Zq v t‰nh r = gt mod p
3 N‚u h0 = h, tr£ v• 1 ( óng), ng÷æc l⁄i tr£ v• 0 (sai)
1.4.2.4 L÷æc ç chœ kþ sŁ düa tr¶n hai b i to¡n khâ
C¡c l÷æc ç chœ kþ sŁ câ º an to n düa tr¶n t‰nh khâ cıa hai b i to¡n
khâ (DLP v IFP) ÷æc quan t¥m tł n«m 1994 do L Harn • xu§t [36] v li¶n
töc sau â c¡c cæng bŁ v o n«m 2008 cıa ba t¡c gi£ E S Ismail, N M F
Trang 29Tahat v R R Amad [43], cıa E S Dermova n«m 2009 [23], cıa S Vishnoi
v Shrivastava n«m 2012 [78], cıa Binh V Do, Minh H Nguy¶n, Nikolay
A Moldovyal, n«m 2013 [24],
Vîi nhœng ph¥n t‰ch ch¿ ra thüc ch§t v• º an to n cıa c¡c l÷æc ç chœ kþ
sŁ düa tr¶n hai b i to¡n khâ nh÷ ph¥n t‰ch cıa N Y Lee v T Hwang v• l÷æc
ç cıa Harn cæng bŁ n«m 1996 [49], ph¥n t‰ch cıa Shin-Yan Chiou v Xuan He v• giao thøc cıa Vishnoi v Shrivastava cæng bŁ n«m 2013 [13]
Yi-Tâm l⁄i ch¿ cÆn hai l÷æc ç ÷a ra trong [24] l óng ngh¾a vîi vi»c câ º an
to n düa tr¶n t‰nh khâ cıa hai b i to¡n khâ â l l÷æc ç Rabin-Schnorr v RSA-Schnorr
Thu“t to¡n t⁄o khâa, t⁄o chœ kþ v x¡c thüc trong [24] ÷æc mæ t£ nh÷ sau:
T⁄o kho¡: Kho¡ b‰ m“t (x; q0; q), kho¡ cæng khai (p; g; y)
Chån sŁ nguy¶n tŁ lîn ºc l“p q0; q câ d⁄ng 4r + 3 v t‰nh n = q0q
Chån ng¤n nhi¶n sŁ x b‰ m“t vîi x 2 Z
p
T‰nh y = g x mod p.
Kþ: T⁄o chœ kþ cho dœ li»u m 2 f0; 1g
1 T‰nh R = gk mod p, vîi k l sŁ b‰ m“t ng¤u nhi¶n, 1 < k n 1
Trang 301.4.3 X¡c thüc læ
X¡c thüc læ (batch verification) l h…nh thøc x¡c thüc nhi•u chœ kþ sŁcòng mºt lóc Möc ‰ch cıa x¡c thüc læ l ” gi£m chi ph‰ t‰nh to¡n so vîi x¡cthüc lƒn l÷æt tłng chœ kþ sŁ v nâ th‰ch hæp cho c¡c h» thŁng ÷æc y¶u cƒux¡c thüc sŁ l÷æng lîn chœ kþ còng lóc [10, 33] X¡c thüc læ ÷æc øng döng v
o c¡c l¾nh vüc x¡c thüc nh÷: H» thŁng gi¡m s¡t tü ºng [85], ki”m so¡t truy•n t£itrong m⁄ng khæng d¥y [81, 29], h» thŁng v⁄n v“t k‚t nŁi [47, 52]
ành ngh¾a 1.2 Cho k dœ li»u mi t÷ìng øng vîi k chœ kþ sŁ i ÷æc kþbði kho¡ b‰ m“t cıa ng÷íi kþ, i = 1; :::k Vîi y l kho¡ cæng khai cıa ng÷íi
kþ, h m V ÷æc gåi l h m x¡c thüc læ n‚u Vy( 1; 2; :::; k) 2 f0; 1g
N‚u c¡c chœ kþ i cıa c¡c dœ li»u mi l óng cıa ng÷íi kþ th… k‚t qu£ cıa h
m Vy = 1 Ng÷æc l⁄i, n‚u mºt trong nhœng chœ kþ i khæng hæp l» th… h
m Vy = 0
Tuý thuºc v o c¡c chœ kþ sŁ ÷æc kþ bði c¡c l÷æc ç kh¡c nhau s‡ câ thu“tto¡n x¡c thüc læ kh¡c nhau Câ hai lo⁄i x¡c thüc læ: X¡c thüc læ t÷ìng t¡c
v x¡c thüc læ x¡c su§t X¡c thüc læ t÷ìng t¡c l d⁄ng m ng÷íi kþ t⁄o ra chœ
kþ thæng qua sü t÷ìng t¡c vîi ng÷íi x¡c thüc, v sau â ng÷íi x¡c thüc x¡c nh“n t§tc£ c¡c chœ kþ n y còng mºt lóc X¡c thüc læ x¡c su§t l
Łi vîi mØi dœ li»u m ÷æc kþ, mºt sŁ nguy¶n t ng¤u nhi¶n ÷æc chån ri¶ng
v sau â ÷æc t‰nh l⁄i gi¡ trà r (v‰ dö trong DSA, r = (gt mod p) mod q).Thay v… kþ dœ li»u m trüc ti‚p, c¡c l÷æc ç chœ kþ sŁ ph£i kþ düa tr¶n k‚t qu£b«m mºt chi•u cıa m
Naccache v cºng sü [55] • xu§t x¡c thüc læ t÷ìng t¡c gçm hai phƒn:Phƒn t⁄o chœ kþ v phƒn x¡c thüc Phƒn t⁄o chœ kþ ÷æc ng÷íi kþ v ng÷íix¡c thüc câ sü t÷ìng t¡c vîi nhau Phƒn x¡c thüc ÷æc ng÷íi x¡c thüc ki”m tra nhi•u chœ kþ còng mºt lóc Cho n dœ li»u m i , phƒn t⁄o chœ kþ ÷æc thüc hi»nnh÷ sau:Vîi i = 1; :::; n, ng÷íi kþ chån ng¤u nhi¶n ki 2 Zq, t‰nh i= gki mod p
Trang 31v gßi i cho ng÷íi x¡c thüc;
Ng÷íi x¡c thüc gßi l⁄i dœ li»u ng¤u nhi¶n b i câ chi•u d i e bit;
Ng÷íi kþ t‰nh si = ki 1(H(mijjbi) + ix) mod q v gßi si cho ng÷íi x¡c
v thay th‚ f i; si; bi; migi=1;:::;n bði fri = i mod q; si; mijjbigi=1;:::;n
Bellare, Garay v Rabin [8] ÷a ra ph÷ìng ph¡p x¡c thüc læ theo luÿ thłamodulo X¡c thüc læ cho lôy thła modulo ÷æc Bellare v cºng sü tr…nh b ynh÷ sau: Cho G l mºt nhâm câ c§p l q; g l phƒn tß sinh cıa G H m luÿ thłamodulo l x gx, vîi x 2 Zq ành ngh¾a bi”u thøc EXPG;g(x; y) = 1 n‚u gx = y;
x 2 Zq; y 2 G N‚u muŁn x¡c thüc nhi•u
gi¡ trà (x1; y1); :::; (xn; yn) l ki”m tra bi”u thøc EXPG;g(xi; yi) = 1 vîi
i = 1; :::; n th… c¡ch ng¥y thì nh§t l t‰nh gxi v so s¡nh vîi yi Tuy nhi¶n,c¡ch n y s‡ tŁn n lƒn t‰nh luÿ thła Bellare • xu§t ba ph÷ìng ph¡p t‰nh to¡nnhanh x¡c thüc læ cho bi”u thøc EXPG;g l ki”m tra t“p hæp con ng¤u nhi¶n(random subset test), ki”m tra sŁ mô nhä (small exponents test) v ki”m trakhŁi (bucket test)
Harn giîi thi»u l÷æc ç x¡c thüc læ düa tr¶n RSA [37] Cho p v q l hai sŁnguy¶n tŁ, n = pq Gi¡ trà e v d lƒn l÷æt l khâa cæng khai v khâa b‰ m“tcıa ng÷íi kþ sao cho ed = 1 mod (n) Gi£ sß câ k chœ kþ ( 1; 2; :::; k)t÷ìng øng vîi k dœ li»u mi, trong â chœ kþ i = H(mi)d mod n (1 i k) ” x¡cthüc k chœ kþ còng lóc, Harn ki”m tra, n‚u tho£ m¢n bi”u thøc:
(Qki=1 i)e = Qki=1 H(mi) mod n th… k chœ kþ i l hæp l».
Shao • xu§t thu“t to¡n x¡c thüc læ düa tr¶n l÷æc ç chœ kþ sŁ Schnorr [65].Gi£ sß câ k dœ li»u ÷æc kþ bði thu“t to¡n Schnorr, ngh¾a l câ k chœ kþ i(ri;
si); i = 1; 2; :::; k, i = 1; 2: : : ; k ÷æc kþ còng mºt ng÷íi kþ vîi kho¡
Trang 32b‰ m“t x ” x¡c thüc k chœ kþ còng lóc, Shao chån ng¤u nhi¶n k sŁ nguy¶n
ui 2 (1; 232), i = 1; 2; :::; k v ki”m tra n‚u tho£ m¢n bi”u thøc:
1
thu“t to¡n t‰nh ZID = H(ID) 2 Zq v kho¡ b‰ m“t SID = S+Z ID P1 2 G1
T⁄o chœ kþ: Chån ng¤u nhi¶n r 2 Zq v t‰nh X = rP1 2 G1, h =
H1(m; X), v Y = (r + h)SID 2 G1 Chœ kþ l = (X;Y)
Ki”m tra chœ kþ: T‰nh z = H(ID) 2 Zq; QID = Ppub + zP2 2 G2; h =
H1(m; X) v ki”m tra n‚u e(Y; QID) = e(X; P2)gh th… chœ kþ hæp l», ng÷æcl⁄i chœ kþ khæng hæp l»
X¡c thüc læ: Ki”m tra k chœ kþ i = (Xi; Yi) t÷ìng øng vîi IDi; mi,
Trang 33T⁄o chœ kþ: Chån ng¤u nhi¶n sŁ nguy¶n t, 2 t n 2 T‰nh R = tP ,
Trang 34r = x(R) mod n, vîi x(R) l to⁄ º x cıa R T‰nh s = k 1(h(m) + dr)
mod n Chœ kþ = (R; s)
X¡c thüc læ: Ki”m tra k chœ kþ i= (Ri; si) t÷ìng øng vîi dœ li»u mi,
1 i k Chån ng¤u nhi¶n k sŁ nguy¶n tŁ b1; b2; :::; bk < n; 2 Fp Lƒn l÷æt
Nh“n x†t 1.5 C¡c thu“t to¡n x¡c thüc læ ÷æc • xu§t th÷íng düa tr¶n º khâcıa b i to¡n ph¥n t‰ch sŁ ho°c logarit ríi r⁄c ×u i”m cıa c¡c thu“t to¡n n y lthíi gian x¡c thüc chœ kþ nhanh ” t«ng t‰nh an to n cho chœ kþ, c¡c nhkhoa håc ÷a ra þ t÷ðng k‚t hæp hai b i to¡n khâ v o l÷æc ç chœ kþ sŁ.Tuy nhi¶n, nh÷æc i”m cıa nâ s‡ l m t«ng º phøc t⁄p t‰nh to¡n Trongtr÷íng hæp cö th”, h» thŁng cƒn ÷æc xem x†t giœa n¥ng cao º an to n vtŁc º xß lþ ” câ sü lüa chån thu“t to¡n x¡c thüc cho phò hæp Câ c¡c l÷æc çchœ kþ sŁ düa tr¶n hai b i to¡n khâ [79, 42, 24, 14] nh÷ng theo kh£o s¡tcıa lu“n ¡n th… ch÷a câ l÷æc ç x¡c thüc læ düa tr¶n hai b i to¡n khâ • xu§tl÷æc ç x¡c thüc læ düa tr¶n hai b i to¡n khâ s‡ câ ÷æc sü an to n tł vi»ckhâ gi£i cıa hai b i to¡n khâ v thíi gian x¡c thüc çng thíi nhi•u dœ li»u s‡nhanh hìn x¡c thüc thæng th÷íng bði t‰nh ch§t cıa x¡c thüc læ
1.4.4 H» thŁng t»p tin trong khæng gian ng÷íi dòng
H» thŁng t»p tin trong khæng gian ng÷íi dòng (Filesystem inUserspace - FUSE) [73] l mºt th nh phƒn trong nh¥n cıa h» i•u h nh Linux.FUSE cung c§p th÷ vi»n giao di»n l“p tr…nh (Application programminginterface - API) cho ph†p ng÷íi dòng t⁄o ho°c truy c“p h» thŁng t»p ng÷íidòng FUSE câ sfin tr¶n c¡c mæi tr÷íng nh÷ Android, Linux v macOS
Khi mºt h» thŁng t»p mîi ÷æc thüc thi, mºt ch÷ìng tr…nh xß lþ s‡ t⁄o mºtli¶n k‚t ‚n th÷ vi»n FUSE ( ÷æc gåi l libfuse) Ch÷ìng tr…nh n y x¡c
Trang 35tation details FUSE is available for several OSes: we FUSE daemon Fselected Linux due to its wide-spread use We analyzed pages are cachedthe code of and ran experiments on the latest stable ver- to be forwarded tosion of the Linux kernel available at the beginning of the
31 project—v4.1.13 We also used FUSE library commit
#386b1b; on top of FUSE v2.9.4, this commit contains
We now discuss
ành tr⁄ng th¡iseveralcıaimportanth»thŁg patchest»pph£whichnhçikhiwe nâdid not÷æcwanty¶u excludecƒuåc/ghi/thŁng
from our evaluation We manually examined all new tationAPI levels, in-kedetails:
k¶ Tr…nh xß lþ ÷æc «ng kþ vîi nh¥n khi h» thŁng t»p tin ÷æc g›n k‚t.
commits up to the time of this writing and confirmed threading, and wr
N‚u ng÷íi dòng thüc thi c¡c y¶u cƒu åc/ghi/thŁng k¶ cho mºt h» thŁng t»p
that no new major features or improvements were added
Group (#)
to FUSE since the release of the selected versions
÷æc g›n k‚t, nh¥n s‡ chuy”n ti‚p c¡c y¶u cƒu IO n y ‚n tr…nh xß lþ v gßi
Special (3)ph£n hçi cıa tr…nh xß lþ trð l⁄i cho ng÷íi dòng Metadata (14)
H…nh 1:.3: Ki‚n tróc cıa FUSE [77]
FUSE consists of a kernel part and a user-level
dae-Locking (3)
module that, when loaded, registers a fuse file-system Misc (6)
ti»n ‰ch ng÷íi dòng Phƒn nh¥n thuºc v• nh¥n cıa Linux, nâ «ng kþ tr…nh
driver with Linux’s VFS This Fuse driver acts as a proxy
i•u khi”n h» thŁng t»p tin FUSE tr¶n
for various specific file sys ems implemented by
differ-thesis) Requests weent user-level daemons
In addition to registering a new file system, FUSE’s User-kernel pro
th nh phƒn trung gian chuy”n h÷îng y¶u cƒu ‚n tr…nh ti»n ‰ch ng÷íi dòng.
kernel module also registers a /dev/fuse block de- communicates
Khi mºt ng÷íi dòng t⁄o ra h» thŁng t»p tin tr¶n khæng gian ng÷íi dòng b‹ng
space FUSE daemons and the kernel In general, dae- depending on the
c¡c øng döng (Application), th… t»p tin cıa ng÷íi dòng ÷æc bi¶n dàch th nh
mon reads FUSE requests from /dev/fuse, processes 43 FUSE request
mºt t»p tin nhà ph¥n N‚u ng÷íi dòng thüc hi»n åc/ghi t»p â, VFS ành
them, and then writes replies back to /dev/fuse seen, most reques
VFS operations: w
tuy‚n ho⁄t ºngFigure‚n 1trshows…nhi•uFUSE’skhi”nhighnh¥-nlevelFUSEarchitecture.Tr…nh.i•uWhenkhi”n c§p ph¡t
a user application performs some operation on a (e.g., READ, CRE
Trang 36request structure and puts it in a FUSE queue At this file system is mo
â, tr…nh ti»n ‰ch ng÷íi dòng FUSE l§y y¶u cƒu tł h ng æi cıa nh¥n b‹ng
point, the process that submitted the operation is usu- kernel negotiate (
c¡ch åc tł /dev/fuse v xß lþ y¶u cƒu Tr…nh ti»n ‰ch åc ho°c ghi tł c¡c
ally put in a wait state FUSE’s user-level daemon thenpicks the request from the kernel queue by reading from erate on (7.23 at tmutually supportekhŁi Khi thüc hi»n xong vi»c xß lþ y¶u cƒu, tr…nh ti»n ‰ch FUSE ghi ph£n
/dev/fuse and processes the request Processing the FLOCK support), a
hçi trð l⁄i /dev/fuse Tr…nh i•u khi”n nh¥n FUSE sau â ¡nh d§u y¶u cƒu
request might require re-entering the kernel again: for FUSE read-ahead
l ¢ ho n th nh v k‰ch ho⁄t ti‚n tr…nh ng÷íi dòng ban ƒu Mºt sŁ ho⁄t
example, in case of a stackable FUSE file system, the the DESTROY req
daemon submits operations to the underlying file system file system’s unm(e.g., Ext4); or in case of a block-based FUSE file sys- STROY, the daemo
60 15th USENIX Conference on File and Storage Technologies
Trang 37ºng h» thŁng t»p ÷æc gåi bði mºt øng döng câ th” ho n th nh m khængli¶n l⁄c vîi tr…nh ti»n ‰ch FUSE cıa ng÷íi dòng V‰ dö, åc tł mºt t»p câc¡c trang ÷æc l÷u trong bº »m cıa nh¥n, khæng cƒn ph£i chuy”n ti‚p ‚ntr…nh i•u khi”n FUSE [77]
1.4.4.1 Giao di»n l“p tr…nh FUSE
API FUSE cung c§p hai API: Mºt API çng bº hâa møc cao v mºt API khæng çng bº hâa ð møc th§p Vîi hai API, c¡c y¶u cƒu tł kernel ÷æc chuy”n ti‚p ‚n ch÷ìng tr…nh ch‰nh b‹ng c¡ch sß döng gåi ng÷æc
(callback) Khi sß döng API møc cao, callback câ th” ho⁄t ºng vîi t¶n t»p v
÷íng d¤n thay v… c¡c nót v vi»c xß lþ y¶u cƒu k‚t thóc khi h m callback tr£v• gi¡ trà Khi sß döng API møc th§p, callback ph£i ho⁄t ºng vîi c¡c nót v ph£n hçi ph£i ÷æc gßi b‹ng c¡ch sß döng mºt t“p hæp h m API ri¶ng bi»t.API møc cao ÷æc ành ngh¾a chı y‚u trong fuse.h API møc th§p chıy‚u ÷æc l÷u trong fuse_lowlevel.h
Callback l mºt t“p hæp c¡c h m ” thüc hi»n c¡c thao t¡c cıa t»p v c§u trócfuse_operations chøa c¡c con trä tîi c¡c h m callback:
struct fuse_operations{
int(*getattr)(const char *,struct stat *);
int(*mknod)(const char *, mode_t, dev_t);
int(*mkdir)(const char *, mode_t);
int(*rmdir)(const char *);
int(*rename)(const char *, const char *);
int(*chmod)(const char *, mode_t);
int(*open)(const char *, struct fuse_file_info *);
int(*read)(const char *, char *, size_t, off_t, struct fuse_file_info *); int (*write)(const char *, const char *, size_t, off_t, struct fuse_file_info
*);
};
Trang 38C¡c th nh phƒn cıa c§u tróc n y l c¡c con trä h m MØi h m trong c§utróc s‡ ÷æc FUSE gåi khi mºt sü ki»n cö th” x£y ra tr¶n h» thŁng t»p.Chflng h⁄n, khi ng÷íi dòng ghi v o mºt t»p tin, h m ÷æc trä bði th nh phƒn
"write" trong c§u tróc s‡ ÷æc gåi ” thüc hi»n h» thŁng t»p cıa m…nh,chóng ta cƒn sß döng c§u tróc n y v ành ngh¾a c¡c h m cıa nâ sau â ho
n th nh c§u tróc vîi c¡c con trä cıa c¡c h m ¢ ÷æc ành ngh¾a Hƒu h‚t c¡c
h m ð ¥y l tòy chån, ta khæng cƒn ph£i thüc hi»n t§t c£
1.4.5 L÷u trœ khâa-gi¡ trà
L÷u trœ khâa-gi¡ trà l mºt lo⁄i CSDL NoSQL (Not Only SQL) Nâ câ h…
nh thøc ìn gi£n l mºt b£ng vîi hai cºt t÷ìng øng vîi hai tr÷íng l khâa
v gi¡ trà Ki”u cıa gi¡ trà l chuØi/nhà ph¥n ho°c c§u tróc Ki”u cıa khâa câ th”
l sŁ nguy¶n ho°c chuØi/nhà ph¥n Câ nhi•u tri”n khai v thi‚t k‚ l÷u trœ khâa-gi¡ tràbao gçm c£ düa tr¶n bº nhî v tr¶n ¾a L÷u trœ khâa-gi¡ trà düa tr¶n bº nhî th÷íng
÷æc sß döng ” l÷u trœ dœ li»u »m, l÷u trœ khâa-gi¡ trà tr¶n ¾a ÷æc sß döng ”l÷u trœ dœ li»u v¾nh vi„n trong h» thŁng t»p Mºt
th÷ vi»n l÷u trœ khâa-gi¡ trà ÷æc vi‚t bði t¡c gi£ ThanhNT gåi l OpenStars
[59] OpenStars hØ træ nhi•u CSDL khâa-gi¡ trà nh÷ LevelDB [80],
RockDB [86], Kyoto Cabinet, ZDB [72]
1.4.5.1 C§u tróc OpenStars
CSDL OpenStars sß döng mºt sŁ lîp trłu t÷æng ” cung c§p truy c“p lîp
cö th” nh÷ leveldb, rocksdb, ZDB [72] Lîp AbstractKVStorage l lîp cì sð,ành ngh¾a h m get(), put(), multiget(), multiput(), remove() ” ghi ho°c l§y
dœ li»u C¡c lîp k‚ thła tł lîp n y s‡ xß lþ c¡c ho⁄t ºng dœ li»u cıa l÷u trœkhâa-gi¡ trà Lîp AbstractCursor l con trä cì sð, con trä n y trä ‚n tłng b£nghi cıa CSDL Lîp KVStorageFactory sß döng ” t⁄o AbstractKVStoragedüa tr¶n chuØi tòy chån cö th”
H…nh 1.4 mæ t£ c¡c lîp cıa CSDL khâa-gi¡ trà Ta sß döng Factory ” t⁄o mºt th” hi»n cıa AbstractKVStorage, truy•n tham sŁ ƒu v o
Trang 39H…nh 1.4: Mæ h…nh lîp cıa OpenStars [59]
cho h m t⁄o cıa KVStorageFactory l mºt chuØi cö th” C¡c nh ph¡t tri”nch¿ thüc hi»n tr¶n AbstractKVStorage ” xß lþ vîi CSDL khâa-gi¡ trà L÷utrœ khâa-gi¡ trà câ th” ÷æc phöc vö vîi mºt dàch vö phö træ tł xa Chóng
ta câ th” åc v ghi dœ li»u tł xa b‹ng c¡ch sß döng RemoteKVStorage.1.4.5.2 Tri”n khai API OpenStars
Chóng ta câ th” sß döng ki”u cıa CSDL khâa-gi¡ trà b‹ng c¡ch truy•n tham
sŁ qua chuØi configString ” khði t⁄o CSDL Cö th”: AbstractKVStorage*database = factory.createStorage(configString, name, rwmode);
Sau khi khði t⁄o CSDL, chóng ta câ th” åc v ghi dœ li»u b‹ng c¡ch gåic¡c h m put v get nh÷ sau:
MapReduce [22, 30, 68] l mºt mæ h…nh l“p tr…nh cho ph†p xß lþ khŁi
dœ li»u lîn b‹ng c¡ch chia cæng vi»c th nh c¡c nhi»m vö ºc l“p, thüc hi»nc¡c t¡c vö song song thæng qua c¡c cöm m¡y t‰nh (cluster) v tü ºng thuth“p k‚t qu£ tr¶n nhi•u cöm ” tr£ v• mºt k‚t qu£ Læi th‚ lîn nh§t cıa mºt
Trang 40ch÷ìng tr…nh ÷æc thüc hi»n b‹ng MapReduce l nâ ch⁄y tr¶n b§t ký nót (node) n
o trong trung t¥m xß lþ (mºt, h ng tr«m hay h ng ngh…n nót) m khæng quan t¥m ‚n m¢ l»nh cıa ch÷ìng tr…nh L“p tr…nh MapReduce l vi»c t⁄o ra hai h m map() v reduce(), mØi h m ÷æc thüc hi»n song song tr¶n c¡cnót t‰nh to¡n.Giai o⁄n ƒu cıa MapReduce l giai o⁄n map: MapReduce s‡ tü ºngph¥n chia dœ li»u ƒu v o cho c¡c nót t‰nh to¡n trong trung t¥m dœli»u MØi nót t‰nh to¡n •u ch⁄y mºt h m map() vîi möc ‰ch l chia nhä
dœ li»u Trong giai o⁄n map, h m map() xß lþ ƒu v o l c¡c c°p gi¡ trà (key-value), t⁄o ra c¡c c°p khâa-gi¡ trà trung gian v ÷æc chuy”n
Giai o⁄n thø hai l giai o⁄n Reduce: Giai o⁄n n y tŒng hæp v xß lþ c¡c
dœ li»u trung gian tł giai o⁄n map Reduce công ÷æc thüc hi»n tr¶nc¡c nót t‰nh to¡n, mØi nót •u nh“n mºt kho¡, tuý thuºc v o gi¡ trà ð giaio⁄n map m chia s· c¡c kho¡ n y cho c¡c nót xß lþ, sau â tŒng hæp l⁄i
th nh mºt gi¡ trà cho mØi kho¡
Qu¡ tr…nh thüc hi»n ti‚n tr…nh cıa MapReduce÷æc mæ t£ nh÷ sau:
Giai o⁄n Map: <k 1 ; v 1 > ! <k 2 ; v 2 >
Giai o⁄n Reduce: <k2; v2> ! <k3; v3>
Trong â <ki; vi>, 1 i 3 l c¡c c°p kho¡-gi¡ trà do ng÷íi dòng x¡c ành tr÷îc khithüc hi»n MapReduce Mºt t“p dœ li»u ÷æc truy•n ‚n h m map() d÷îi d⁄ngc¡c c°p <k1; v1> H m map() xß lþ c¡c c°p <k1; v1> v xu§t k‚t qu£ trunggian ð d⁄ng c°p <k2; v2> K‚t qu£ trung gian <k2; v2> ÷æc t‰nh to¡n l⁄itrong h m reduce(), ÷a ra k‚t qu£ cuŁi còng ð d⁄ng <k3; v3>
Mæ h…nh l“p tr…nh MapReduce câ th” dòng ” xß lþ dœ li»u lîn tr¶n c¡cn•n t£ng kh¡c nhau, trong â nâ l mºt trong nhœng th nh phƒn ch‰nh cıaApache Hadoop, ngo i ra nâ câ th” t÷ìng th‰ch tr¶n n•n t£ng Apache Spark