You are on page 1of 28

2.

Các mô hình VPN:

Trong phҫn này, chúng ta sӁ tìm hiӇu tәng quan vӅ các mô hình VPN dӵa theo quy mô
sӱ dөng, cҩu trúc, chính sách bҧo mұt, và OSI layer mà nó hoҥt đӝng. Các cách phân
loҥi này cho ta mӝt cái nhìn khác nhau vӅ cách triӇn khai VPN cho phù hӧp vӟi tӯng
yêu cҫu cө thӇ.

2.1. Phân loҥi mô hình VPN theo quy mô sӱ dөng:

Cách phân loҥi theo quy mô sӱ dөng này cho ta thҩy đưӧc mô hình VPN đӕi vӟi tӯng
nhu cҫu sӱ dөng khác nhau, vӟi tӯng đӕi tưӧng sӱ dөng khác nhau. Tùy thuӝc vào yêu
cҫu cӫa ngưӡi dùng đơn lҿ, cӫa tә chӭc vӟi nhiӅu chi nhánh, hay các đa tә chӭc mà mӛi
mô hình VPN đưӧc xây dӵng theo các cách khác nhau.

2.1.1. Mô hình VPN hӛ trӧ truy nhұp tӯ xa (remote access VPN):

Hình 2.1: Mô hình remote access VPN.

Mô hình hӛ trӧ truy nhұp tӯ xa không đҧm bҧo chҩt lưӧng cӫa dӏch vө (QoS). Do tính
phӭc tҥp cӫa thuұt toán mã hóa, quá trình xác nhұn sӁ phӭc tҥp hơn. Thêm vào đó, dӳ
liӋu truyӅn tҧi phө thuӝc vào mҥng Internet nên có thӇ sӁ gây chұm đưӡng truyӅn.
2.1.2. Mô hình VPN nӝi mҥng (Intranet VPN):

Hình 2.2: Mô hình intranet VPN.

Mô hình VPN nӝi mҥng có ưu điӇm là làm giҧm chi phí cho router đưӧc sӱ dөng ӣ
WAN backbone. Đӗng thӡi, do kӃt nӕi cөc bӝ vӟi ISP, thông tin đưӧc truyӅn tҧi nhanh
hơn và tӕt hơn. ViӋc loҥi bӓ các kӃt nӕi đưӡng dài giúp cho doanh nghiӋp giҧm chi phí
vұn hành intranet.

Tuy nhiên, mһc dù dӳ liӋu cӫa intranet VPN truyӅn đi trong tunnel, viӋc truyӅn dӳ liӋu
trên Internet cũng tӗn tҥi nhӳng nguy cơ bҧo mұt. Ngoài ra, viӋc truyӅn tҧi các dӳ liӋu
đa phương tiӋn sӁ gây quá tҧi, và làm chұm hӋ thӕng do phө thuӝc vào mҥng Internet.
Chҩt lưӧng đưӡng truyӅn cũng không thӇ đưӧc đҧm bҧo.

2.1.3. Extranet VPN:


Hình 2.3: Mô hình extranet VPN.

Extranet VPN không tách riêng ngoài Internet như 2 mô hình phía trên. Mô hình này
cho phép các đӕi tác, khách hàng hay nhà cung cҩp truy xuҩt tài nguyên cӫa hӋ thӕng.
Extranet VPN có ưu điӇm là dӉ dàng cài đһt, bҧo trì và chӍnh sӱa các thiӃt lұp có sҹn.
Đӗng thӡi, do các thành phҫn kӃt nӕi internet đưӧc bҧo trì bӣi ISP, mô hình này giҧm
đưӧc chi phí vұn hành cӫa hӋ thӕng.

Tuy nhiên, extranet VPN làm tăng rӫi ro xâm nhұp vào intranet cӫa tә chӭc. Chҩt lưӧng
đưӡng truyӅn cũng có khuyӃt điӇm như các mô hình trên, hoàn toàn phө thuӝc đưӡng
truyӅn Internet.

2.2. Phân loҥi mô hình VPN theo cҩu trúc:

Ӣ cách phân loҥi này, chúng ta quan tâm đӃn thӓa thuұn thiӃt lұp VPN giӳa nhà cung
cҩp dӏch vө ISP và tә chӭc. Tùy thuӝc vào tiêu chí vӅ nhu cҫu, chi phí, và chính sách
cӫa tә chӭc mà ISP sӁ cung cҩp dӏch vө bҵng các mô hình khác nhau.

2.2.1. Cҩu trúc VPN phө thuӝc (Dependent VPN architecture):

Ӣ cҩu trúc này, ISP chӏu trách nhiӋm cung cҩp cho tә chӭc mӝt giҧi pháp VPN hoàn
chӍnh, bao gӗm cҧ vӅ thiӃt bӏ, cҩu hình, chính sách bҧo mұt cũng như viӋc duy trì VPN.
Vӟi mô hình này, tә chӭc không cҫn phҧi thay đәi cơ sӣ hҥ tҫng hiӋn có.
Hình 2.4: Cҩu trúc VPN phө thuӝc.

2.2.2. Cҩu trúc VPN đӝc lұp (Independent VPN architecture):

Trong cҩu trúc VPN đӝc lұp, nhà cung cҩp dӏch vө lҥi đóng vai trò rҩt ít trong quҧn lý,
thiӃt kӃ và duy trì hӋ thӕng mà nhưӡng lҥi nó cho tә chӭc. ISP chӍ đóng vai trò xӱ lý
truyӅn tҧi trên internet.

Hình 2.5: Cҩu trúc VPN đӝc lұp.

2.2.3. Cҩu trúc VPN hӛn hӧp (Hybrid VPN architecture):

Cҩu trúc VPN hӛn hӧp là sӵ kӃt hӧp giӳa cҩu trúc VPN đӝc lұp và phө thuӝc. Tùy thuӝc
vào thӓa thuұn giӳa tә chӭc và ISP mà mӛi bên thӵc hiӋn các vai trò khác nhau đӕi vӟi
VPN.
Hình 2.6: Cҩu trúc VPN hӛn hӧp.

2.3. Phân loҥi mô hình VPN theo chính sách bҧo mұt:

Mһc dù VPNs là các giҧi pháp an toàn, sӵ phân loҥi VPN sau cung cҩp cho mӝt mҥng
nӝi bӝ cӫa tә chӭc đӝ an toàn cao hơn

VPNs router tӟi router

VPN tưӡng lӱa tӟi tưӡng lӱa

VPNs đưӧc khӣi tҥo bӣi khách hàng

VPNs trӵc tiӃp

a. VPNs router tӟi router

VPNs router tӟi router cho phép mӝt kӃt nӕi an toàn giӳa các điӇm tә chӭc qua Internet.
Có 3 cách thӵc hiӋn :

Cách 1 : Các đưӡng hҫm dӵa trên yêu cҫu (VPN-on-demand router-to-router tunnels):
trong cách thӵc hiӋn này cӫa VPNs, mӝt kênh truyӅn an toàn đưӧc thiӃt lұp giӳa các
router đưӧc gҳn vӟi các kӃt nӕi bên khách hàng và bên server như hình 2-12. Các loҥi
đưӡng hҫm này có thӇ hӛ trӧ nhiӅu loҥi kӃt nӕi đӗng thӡi và duy trì cho tӟi khi kӃt nӕi
cuӕi cùng đã xong. ĐӇ thӵc hiӋn thành công đưӡng hҫm router tӟi router dӵa theo yêu
cҫu, các routers tҥi cҧ hai đҫu phҧi hӛ trӧ các khҧ năng VPN, như là mӝt giҧi thuұt mұt
mã và chuyӇn khóa.Mӝt bҩt lӧi lӟn cӫa cách tiӃp cұn này là các đưӡng hҫm router tӟi
router này thì chuyên dөng cho mҥng nӝi bӝ cӫa nhà cung cҩp dӏch vө đã chӑn hoһc
giao thӭc đưӡng hҫm

Cách 2 : Các đưӡng hҫm đa giao thӭc dӵa trên yêu cҫu (VPN-on-demand multi-protocol
router-to-router tunnels) : Các thӵc hiӋn này là mӝt sӵ mӣ rӝng logic cӫa các đưӡng
hҫm VPNs dӵa theo yêu cҫu vì nó hӛ trӧ nhiӅu giao thӭc đưӡng hҫm giӳa 2 nơi qua
internet. Khi mӝt khách hàng không IP đһt ra mӝt yêu cҫu cho mӝt phiên VPN, mӝt
đưӡng hҫm ³trong suӕt´, cái mà không đһc biӋt cho bҩt cӭ giao thӭc đưӡng hҫm nào,
đưӧc thiӃt lұp giӳa các routers tҥi 2 đҫu cuӕi như hình2-13, dӳ liӋu không IP đưӧc tҥo
đưӡng hҫm xuyên qua Internet hoһc bҩt kǤ mҥng công cӝng nào đӃn tӟi router đích

Cách 3 : Các phiên mã hóa dӵa trên yêu cҫu (VPN-on-demand router-to-router
encrypted sessions) : Trong cách thӵc hiӋn này, mӝt đưӡng hҫm riêng biӋt cho mӛi yêu
cҫu đưӧc thiӃt lұp giӳa các router và giӳa hai đҫu, mһc dù sӵ thұt rҵng nhiӅu yêu cҫu kӃt
nӕi đưӧc đưӧc phát ra ӣ cùng mӝt nơi. Hình 2-14 miêu tҧ các phiên đưӧc mұt mã dӵa
trên yêu cҫu giӳa 2 router. Như thӃ sӵ hiӋn diӋn cӫa nhiӅu kênh đào riêng rӁ đӗng thӡi
giӳa 2 nơi, mӛi phiên đưӧc mã hóa riêng lҿ. Bҩt lӧi chính cӫa cҩu trúc VPN này là nó
tҥo ra chi phí lӟn

b. VPNs tưӡng lӱa tӟi tưӡng lӱa

Không giӕng cҩu trúc VPN router tӟi router, VPNs tưӡng lӱa tӟi tưӡng lӱa đưӧc thiӃt
lұp giӳa 2 bӭc tưӡng lӱa. VPNs tưӡng lӱa tӟi tưӡng lӱa có thӇ đưӧc thӵc hiӋn theo 2
cách sau :

Cách 1 : Các đưӡng hҫm dӵa trên yêu cҫu : Như hình vӁ 2-15, cách thӵc hiӋn tưӡng lӱa
tӟi tưӡng lӱa rҩt giӕng vӟi cách thӵc hiӋn đưӡng hҫm theo yêu cҫu router tӟi router
ngoҥi trӯ rҵng viӋc các bӭc tưӡng lӱa đưӧc sӱ dөng ӣ 2 đҫu, nó cung cҩp mӝt đӝ an toàn
cao hơn. Thêm vào đó các nhà quҧn trӏ mҥng khi cҫn có thӇ tác đӝng các ràng buӝc
nghiêm ngһt hơn. Vӟi sӵ giúp đӥ cӫa các bӭc tưӡng lӱa, các luӗng lưu thông có thӇ
đưӧc kiӇm tra ngһt nghèo hơn
Cách 2 : Các đưӡng hҫm đa giao thӭc dӵa trên yêu cҫu : Cách thӵc hiӋn tưӡng lӱa tӟi
tưӡng lӱa chӍ ra các vҫn đӅ liên quan tӟi sӵ khác nhau giӳa các bӭc tưӡng lӱa đưӧc sӱ
dөng ӣ 2 đҫu giao tiӃp ; các bӭc tưӡng lӱa khác nhau không thӇ truyӅn thông thành công
trong môi trưӡng VPN. Các bӭc tưӡng lӱa ӣ cҧ 2 đҫu phҧi hӛ trӧ các giao thӭc giӕng
nhau đӇ lӑc luӗng lưu thông thuӝc vӅ các giao thӭc khác nhau. Tәng quát, IPSec đưӧc
sӱ dөng cho mөc đích này vì nó hӛ trӧ các đưӡng hҫm đa giao thӭc cũng như các bӭc
tưӡng lӱa. Tuy nhiên, yêu cҫu trong trưӡng hӧp này là đҫu còn lҥi cũng phҧi dӵa trên
IPSec. Hình 2-16 mô tҧ các đưӡng hҫm tương lӱa tӟi tưӡng lӱa đa giao thӭc dӵa trên
yêu cҫu

c. VPNs đưӧc khӣi tҥo bӣi khách hàng :

Trong VPNs đưӧc khӣi tҥo bӣi khách hàng, không giӕng như 2 loҥi VPNs trưӟc, kӻ
thuұt quҧn lý đưӡng hҫm và mã hóa đưӧc cài đһt khách hàng VPN. Như vұy, các khách
hàng VPNs đóng vai trò quan trӑng trong viӋc thiӃt lұp các đưӡng hҫm, do đó đưӧc gӑi
là VPNs đưӧc khӣi tҥo bӣi khách hàng. Các VPNs này có thӇ đưӧc phân nhӓ ra thành 2
loҥi sau :

Loҥi 1 : VPNs khách hàng tӟi tưӡng lӱa hoһc router : Trong cách thӵc hiӋn này, phiên
VPN đưӧc dàn xӃp giӳa khách hàng và tưӡng lӱa như trên hình 2-17. Bӭc tưӡng lӱa
trong trưӡng hӧp này phҧi hӛ trӧ viӋc xӱ lý các yêu cҫu đưӧc khӣi tҥo bӣi khách hàng
cho mӝt phiên VPN. Cách tiӃp cұn này tҥo ra mӝt gánh nһng xӱ lý khәng lӗ lên khách
hàng vì sӵ phân phӕi chính, sӵ quҧn lý và đӝ an toàn đưa đӃn viӋc xӱ lý có đӝ phӭc tҥp
cao. Thêm nӳa, khách hàng phҧi đӕi mһt vӟi nhiӋm vө đưӧc cӝng thêm đӇ có thӇ truyӅn
thông vӟi mӝt sӵ đa dҥng các hӋ điӅu hành

Loҥi 2 :VPNs khách hàng tӟi server : Trong cách thӵc hiӋn tưӡng lӱa tӟi tưӡng lӱa, mӝt
phiên VPN tӯ đҫu này đӃn đҫu kia đưӧc thiӃt lұp giӳa ngưӡi đһt ra yêu cҫu và bӝ xӱ lý
yêu cҫu như trên hình 2-18. Mӝt lҫn nӳa, cách tiӃp cұn này mӝt nhiӋm vө xӱ lý khәng lӗ
cho khách hàng. Tuy nhiên nó có đӝ an toàn hơn nhiӅu so vӟi VPN khách hàng tӟi
tưӡng lӱa vì nhà cung cҩp dӏch vө trung gian, mà các dӏch vө đưӧc khách hàng lӧi dөng
đӇ kӃt nӕi đӃn các server ӣ xa, hoàn toàn không hӅ biӃt vӅ đưӡng hҫm. ĐiӅu này giҧm
nguy cơ cӫa sӵ tҩn công đưӡng hҫm
d. VPNs trӵc tiӃp

Không giӕng các loҥi cҩu trúc VPNs khác, VPNs trӵc tiӃp không lӧi dөng các đưӡng
hҫm 2 hưӟng cho viӋc truyӅn thông an toàn. Thay vào đó mӝt đưӡng hҫm mӝt hưӟng
truyӅn duy nhҩt đưӧc thiӃt lұp giӳa 2 đҫu cuӕi truyӅn thông như hình 2-19. VPNs trӵc
tiӃp thì khác so vӟi các cҩu trúc VPNs khác. Dӳ liӋu đưӧc mã hóa trong VPNs trӵc tiӃp
tҥi lӟp thӭ 5 cӫa mô hình OSI - tӭc lӟp phiên. Giao thӭc hҫu như đưӧc dùng chung cho
mөc đích này là SOCKS v5

2.4. Phân loҥi mô hình VPN theo OSI layer:


Phân thành 2 loҥi:

VPNs lӟp liên kӃt

VPNs lӟp mҥng

a. VPNs lӟp liên kӃt

Như tên cӫa nó, VPNs lӟp liên kӃt sӱ dөng kӃt nӕi ӣ lӟp liên kӃt. Các giao dӏch VPNs
lӟp liên kӃt bӏ giӟi hҥn ӣ mҥng cөc bӝ vì chúng sӱ dөng đӏa chӍ MAC ; vì thӃ, VPNs lӟp
liên kӃt có chӭc năng tương tӵ như mҥng cá nhân

b. VPNs lӟp mҥng

VPNs lӟp mҥng, còn đưӧc gӑi là VPNs lӟp 3, sӱ dөng chӭc năng cӫa lӟp mҥng và có
thӇ đưӧc tә chӭc theo 2 loҥi sau :

Mô hình peer VPN. Trong mô hình peer VPN đưӡng truyӅn thuұn cӫa lӟp mҥng đưӧc
tính trên cơ sӣ các bưӟc nhҧy. Mӝt cách đơn giҧn hơn, đưӡng truyӅn đưӧc xem xét tҥi
mӛi router trên đưӡng tӟi mҥng đích. Vì thӃ tҩt cҧ các routers trong đưӡng truyӅn dӳ
liӋu đưӧc xem như ngang hàng, như trong hình 2-21. VPNs trong mҥng đӏnh tuyӃn
truyӅn thӕng là mӝt ví dө cӫa mô hình VPN peer, vì mӛi router trong đưӡng truyӅn thì
ngang hàng vӟi tҩt cҧ routers đưӧc gҳn trӵc tiӃp tӟi nó
Mô hình VPN che phӫ. Không giӕng mô hình VPN ngang hàng, các mô hình VPN che
phӫ không tính đưӡng truyӅn mҥng tӟi mҥng đích dӵa trên bưӟc nhҧy. Thay vào đó cơ
sӣ hҥ tҫng mҥng trung gian đưӧc sӱ dөng như là ³cut-through´ tӟi router tӟi trên đưӡng
truyӅn dӳ liӋu. VPNs dӵa trên ATM, VPNs Frame Delay và kӻ thuұt VPNs sӱ dөng
đưӡng hҫm là các ví dө cӫa mô hình VPN che phӫ

Mҥng VPN lӟp 3 rҩt phә biӃn và đưӧc xem như là mҥng quay sӕ riêng ҧo (VPDNs).
VPNs lӟp 3 thưӡng sӱ dөng 2 kӻ thuұt lӟp 2 ± PPTP và L2TP cho đưӡng hҫm. Bҥn sӁ
bíêt thêm vӅ các kӻ thuұt đưӡng hҫm lӟp 2 ӣ chương 5. VPDNs cũng sӱ dөng IPSecs,
cái mà đã đưӧc thiӃt lұp như là tiêu chҭn VPN trong thӵc tӃ vì nó cung cҩp khҧ năng mã
hóa và xác nhұn toàn diӋn.

3. Cơ chӃ mã hóa dӳ liӋu trong VPN:

Nhҵm đҧm bҧo đưӧc tính đӝc lұp và toàn vҽn cӫa dӳ liӋu mà VPN cҫn cung cҩp cho
ngưӡi sӱ dөng, dӳ liӋu trao đәi trên VPN nhҩt thiӃt phҧi đưӧc mã hóa. Trưӟc khi xem
xét đӃn cơ chӃ mã hóa cӫa VPN, chúng ta sӁ xem xét tәng quan vӅ mã hóa dӳ liӋu cũng
như viӋc ӭng dөng trong VPN. Sau đó ӣ chương tiӃp theo, chúng ta sӁ xem xét cơ chӃ
và mô hình triӇn khai nhҵm bҧo mұt thông tin cho ngưӡi dùng.

3.1. Tәng quan vӅ mã hóa dӳ liӋu:

Mã hóa dӳ liӋu nào đó nhҵm đҧm bҧo chӍ có mӝt nhóm ngưӡi dùng nhҩt đӏnh mӟi có thӇ
sӱ dөng nó. Công viӋc mã hóa dӳ liӋu lҥi càng quan trӑng hơn khi dӳ liӋu đưӧc truyӅn
đi trên môi trưӡng mҥng, rҩt dӉ dүn đӃn bӏ đӑc lén. Dӳ liӋu có thӇ đưӧc mã hóa mӝt
chiӅu không thӇ giҧi mã đưӧc (thưӡng dùng trong xác thӵc), cũng có thӇ đưӧc mã hóa
hai chiӅu giúp cho ngưӡi nhұn có thӇ giҧi mã thông qua các khóa, các phương pháp thӓa
thuұn sҹn. Các phương pháp ӣ đây chính là các thuұt toán mã hóa và giҧi mã, còn các
khóa làm nhiӋm vө là đҫu vào cho thuұt toán.
Hình 3.1: Mô hình mã hóa dӳ liӋu nói chung.

3.1.1. Mã mӝt chiӅu:

Mã mӝt chiӅu thưӡng là loҥi mã hashing như MD5, hay mҥnh hơn là SHA. Mã hóa mӝt
chiӅu không phөc hӗi lҥi, dùng trong xác thӵc. Dӳ liӋu vӅ password cӫa ngưӡi dùng
không đưӧc truyӅn trӵc tiӃp mà đưӧc băm theo thuұt toán, kӃt quҧ mang tính duy nhҩt
cho mӛi đҫu vào đưӧc gӱi đi trên đưӡng truyӅn. Phía nhұn băm mã đưӧc lưu vào và so
sánh hai kӃt quҧ băm, nӃu thӓa mãn có nghĩa là dӳ liӋu password chính xác. Cҫn chú ý
rҵng mã mӝt chiӅu tuy không phөc hӗi đưӧc nhưng lҥi có mӝt sӕ quy luұt cӫa kӃt quҧ
băm vүn khiӃn nó có nguy cơ bӏ brute force (Như MD5). Tuy nhiên thӡi gian đӇ làm
công viӋc này là quá lӟn, do đó thay đәi mã đӏnh kǤ cũng là mӝt biӋn pháp bҧo mұt
thông dөng.

3.1.2. Mã hai chiӅu:

Mã hai chiӅu gӗm hai loҥi: Mã đӕi xӭng và bҩt đӕi xӭng. ViӋc phân chia hai loҥi này
liên quan đӃn mô hình sӱ dөng khóa khi truyӅn dӳ liӋu.

3.1.2.1. Mã đӕi xӭng:


Mã đӕi xӭng hay còn gӑi là mã chia sҿ khóa vì công viӋc mã hóa và giҧi mã dùng chung
mӝt khóa đưӧc thӕng nhҩt giӳa ngưӡi gӱi và nhұn. Mã hóa đӕi xӭng có mӝt sӕ nhưӧc
điӇm khi triӇn khai là dӉ bӏ mҩt, dӉ bӏ crack. Do đһc thù cӫa mã là chia sҿ khóa cho
nhiӅu đӕi tưӧng nên mã không thӇ quá khó nhӟ, điӅu này làm giҧm tính bҧo mұt.

3.1.2.2. Mã bҩt đӕi xӭng:

Mã bҩt đӕi xӭng còn gӑi là mã công khai khóa vì mô hình mã hóa này sӱ dөng hai loҥi
khóa là khóa riêng (private key) và khóa công khai (public key). Mӛi ngưӡi dùng đưӧc
sӣ hӳu mӝt cһp khóa private và public. Khóa public đưӧc công khai trong mҥng, còn
khóa private đưӧc giӳ kín cho riêng ngưӡi dùng đó. VӅ mһt toán hӑc, khóa public và
khóa private là có mӕi liên hӋ vӟi nhau. Tuy nhiên, thuұt toán sinh khóa giúp ngăn chһn
viӋc tӯ khóa công khai có thӇ sinh ra khóa riêng, mһc dù chӍ khóa riêng mӟi có thӇ dùng
đӇ giҧi mã dӳ liӋu do khóa công khai mã hóa.

Mã bҩt đӕi xӭng bҧo mұt và an toàn hơn mã đӕi xӭng, nó còn ưu điӇm ӣ chӛ không phҧi
sinh ra quá nhiӅu cһp khóa cho ngưӡi sӱ dөng, điӅu không thích hӧp khi quҧn lý môi
trưӡng nhiӅu ngưӡi dùng.

Hình 3.2: Nhưӧc điӇm cӫa khóa đӕi xӭng.

3.1.3. Mӝt sӕ thuұt toán mã hóa thưӡng đưӧc sӱ dөng:


Mã đӕi xӭng Data Encryption DES là mӝt thuұt toán mã hóa đӕi xӭng dҥng
Standard (DES) block-cipher, mã hóa dӳ liӋu trong tӯng blocks 64-
bit sӱ dөng mӝt khóa 56-bit vӟi 8 bits chҹn lӁ.
Chính đӝ dài cӫa khóa ngҳn cho nên DES là mӝt
thuұt toán mã hóa hơi yӃu.

Triple DES 3DES là mӝt thuұt toán mã hóa đӕi xӭng tiӃn hành
(3DES) mã hóa dӳ liӋu thông qua viӋc xӱ lý mӛi block 3
lҫn và mӛi lҫn dùng mӝt khóa khác nhau. Trưӟc
hӃt nó sӁ mã hóa plain text thành ciphertext dùng
mӝt khóa, sau đó lҥi tiӃp tөc mã hóa ciphertext vӟi
khóa, và tiӃp tөc mã hóa ciphertext thӭ 2 này vӟi
mӝt khóa khác nӳa.

Advanced AES là thuұt toán mã hóa đӕi xӭng block cipher


Encryption 128-bit đưӧc phát triӇn bӣi Vincent Rijmen và
Standard (AES) đưӧc sӵ hӛ trӧ cӫa chính phӫ Mӻ xem như mӝt
thuұt toán thay thӃ DES.

Rivest Cipher Thuұt toán RC bao gӗm mӝt series đưӧc phát triӇn
(RC) 4, 5, và 6 bӣi Ronald Rivest. Tҩt cҧ có chiӅu dài khóa khác
nhau. RC4 là mӝt stream cipher. RC5 và RC6 là
các block ciphers vӟi các kích cӥ khác nhau.

Mã bҩt đӕi Rivest Shamir RSA, đưӧc đһt tên theo ngưӡi thiӃt kӃ là Ronald
xӭng Adelman (RSA) Rivest, Adi Shamir, và Len Adelman, là thuұt toán
thành công đҫu tiên sӱ dөng cho mã hóa khóa
công khai (public-key encryption). Nó có đӝ dài
khóa khác nhau và các kích cӥ block khác nhau.
RSA vүn đưӧc xem là rҩt an toàn nӃu đưӧc triӇn
khai dùng vӟi các khóa có chiӅu dài cao.

Diffie-Hellman Diffie-Hellman là mӝt giao thӭc mã hóa cung cҩp


khóa chuyӇn đәi an toàn. Đưӧc mô tҧ vào năm
1976, đưӧc hình thành trên nӅn tҧng cӫa các các
kӻ thuұt mã hóa public-key phә biӃn bao gӗm cҧ
RSA.
3.2. Cơ chӃ mã hóa trong VPN:

Như đã trình bày, bҧo mұt thông tin là nhӡ viӋc mã hóa dӵa trên các khóa và thuұt toán.
Trong thӵc tӃ, VPN sӱ dөng phә biӃn nhҩt là hai hӋ thӕng mã bҩt đӕi xӭng: DH và
RSA. Dưӟi đây chúng ta nghiên cӭu cơ chӃ hoҥt đӝng cӫa hai hӋ thӕng mã này.

3.2.1. Cơ chӃ mã hóa Diffie-Hellman:

Chúng ta không xem xét các vҩn đӅ toán hӑc cӫa thuұt toán, nhӳng vҩn đӅ toán hӑc cӫa
thuұt toán Diffie-Hellman đã đưӧc miêu tҧ trong tài liӋu RFC 2631. Ӣ đây, chúng ta
xem xét tӟi cơ chӃ áp dөng Diffie-Hellman trong bҧo mұt.

Hình 3.3: Cơ chӃ mã hóa Diffie-Hellman.

Hình trên cho ta thҩy cơ chӃ chӫ yӃu cӫa Diffie-Hellman. Mӛi bên đӅu làm công viӋc là
kӃt hӧp giӳa khóa riêng cӫa mình và khóa công khai cӫa bên còn lҥi nhҵm tҥo ra mӝt
khóa chia sҿ riêng (shared secret key) (Khóa này là giӕng nhau sau quá trình tính toán
cӫa hai bên). Bên gӱi sӁ mã hóa thông tin bҵng khóa chia sҿ riêng, và bên gӱi sӁ giҧi mã
thông tin cũng bҵng khóa này.
3.2.2. Cơ chӃ mã hóa Rivest Shamir Adelman (RSA):

Thuұt toán mã hóa RSA đưӧc đӅ cұp đӃn trong RFC 2313. Dưӟi đây là cơ chӃ sӱ dөng
RSA trong truyӅn dӳ liӋu.

Hình 3.4: Cơ chӃ mã hóa RSA.

Như vұy, ta thҩy khác vӟi Diffie-Hellman, RSA mã hóa dӳ liӋu bҵng khóa công khai
cӫa bên nhұn và giҧi mã dӳ liӋu bҵng khóa riêng cӫa bên nhұn.

4. Mô hình bҧo mұt dӳ liӋu trong VPN:

Ӣ trên chúng ta đã tìm hiӇu tәng quan vӅ công viӋc mã hóa dӳ liӋu trong VPN, tuy
nhiên nhӳng thuұt toán, nhӳng phương pháp đó còn có kӁ hӣ khi tiӃn hành ӭng dөng
vào mô hình thӵc tӃ.

4.1. Nhu cҫu chӭng nhұn trong bҧo mұt đưӡng truyӅn:

Diffie-Hellman có mӝt yӃu điӇm là khi đưӡng truyӅn đã bӏ kiӇm soát tӯ trưӟc, rҩt có thӇ
mӝt bên thӭ 3 sӁ giҧ bҧn tin trong quá trình 2 bên thӓa thuұn, dүn đӃn viӋc bên thӭ 3 có
thӇ đӑc đưӧc dӳ liӋu cӫa 2 bên còn lҥi.

Vӟi RSA cũng vұy, nӃu như có mӝt bên thӭ 3 giҧ làm bên nhұn thì bên thӭ 3 sӁ lҩy
đưӧc dӳ liӋu cӫa bên gӱi. Sau đó lҥi giҧ dҥng làm bên gӱi đӇ trҧ dӳ liӋu vӅ cho bên
nhұn. Chính vì thӃ 2 bên còn lҥi không biӃt đưӧc sӵ tӗn tҥi cӫa bên thӭ 3.
Tӯ đó, vҩn đӅ đһt ra là làm sao 2 bên gӱi và nhұn có thӇ biӃt đưӧc chính xác liӋu đӕi
tưӧng mình gӱi hay nhұn thông tin có phҧi là đӕi tưӧng mình muӕn giao tiӃp hay không.

4.2. Cơ sӣ hҥ tҫng khóa chung (Pulic Key Infrastructure - PKI):

Như trên đã phân tích, trong xây dӵng cơ chӃ bҧo mұt cho VPN ta cҫn phҧi có mӝt
phương pháp đӇ chӭng minh đӕi tưӧng mình giao tiӃp hiӋn tҥi là đúng. Cơ sӣ hҥ tҫng
khóa chung PKI ra đӡi chính là đӇ phөc vө nhu cҫu này.

Chӭc năng cӫa PKI bao gӗm:

- Sinh ra các cһp khóa riêng và khóa công khai cho ngưӡi sӱ dөng.

- Sinh, xác nhұn chӳ ký sӕ (digital signature) hay chӭng nhұn sӕ (certificate).

- Lưu trӳ thông tin và thӵc hiӋn đăng ký cũng như xác nhұn ngưӡi dùng.

- Quҧn lý viӋc cҩp phát các cһp khóa cho ngưӡi sӱ dөng.

- Theo dõi và thu hӗi các certificate không hӧp lӋ hay quá thӡi hҥn.

4.2.1. Các thành phҫn thưӡng có cӫa PKI:

Như, vұy có thӇ nói PKI là mӝt hӋ thӕng cung cҩp, quҧn lý chӭng thӵc sӕ đҧm bҧo cho
quá trình bҧo mұt thông tin thông qua mã hóa dӳ liӋu. Dưӟi đây chúng ta sӁ tìm hiӇu
mӝt sӕ thành phҫn thưӡng có cӫa mӝt PKI:

- Certificate và digital signature - chӭng nhұn sӕ hay chӳ ký sӕ: Giҩy chӭng nhұn
sӕ nhҵm xác đӏnh duy nhҩt mӝt đӕi tưӧng. Đó là ngưӡi dùng, thұm chí có thӇ là
RA hay CA. Ngoài tác dөng này, giҩy chӭng nhұn sӕ còn phҧi đҧm bҧo chӕng
đưӧc sӵ giҧ mҥo. Giҩy chӭng nhұn sӕ đưӧc sӱ dөng trong suӕt quá trình truyӅn
dӳ liӋu nhҵm xác đӏnh tính hӧp lӋ cӫa bên gӱi. Giҩy chӭng nhұn sӕ có thӇ bao
gӗm các thông tin sau:

+ Xác nhұn sӕ cӫa CA.

+ Khóa công khai cӫa ngưӡi gӱi.

+ Thӡi gian xác nhұn còn tӗn tҥi hӧp lӋ.


Hình 4.1: Chӳ ký sӕ.

- Certification Authority (CA) - nơi cҩp chӭng nhұn sӕ: Nơi cҩp phát các chӭng
nhұn sӕ cho ngưӡi sӱ dөng. CA khi cҩp phát sӁ yêu cҫu ngưӡi sӱ dөng xác thӵc.
Tùy vào chính sách yêu cҫu mà CA quҧn lý ngưӡi sӱ dөng và các chӭng nhұn sӕ
khác nhau. Ngoài ra, CA còn có thӇ ӫy nhiӋm cho RA thӵc hiӋn mӝt sӕ chính
sách quҧn trӏ.

- Registration Authority (RA) - thưӡng đưӧc CA ӫy nhiӋm nhiӋm vө quҧn trӏ: Các
chính sách đưӧc CA ӫy nhiӋm có thӇ bao gӗm viӋc quҧn lý thӡi hҥn cӫa các
chӭng nhұn sӕ, quҧn lý truy nhұp ngưӡi dùng, v..v.. tùy theo các yêu cҫu và chính
sách khác nhau nhҵm giҧm tҧi công viӋc cho CA.

4.2.2. Mӝt giao dӏch dӵa trên PKI:

Trong ví dө dưӟi đây, chúng ta xem xét mӝt giao dӏch giӳa bên A và bên B. Hai bên
cùng sӱ dөng mӝt CA chung, nhҵm đơn giҧn hóa viӋc chӭng nhұn giӳa các CA. Chúng
ta cũng giҧ sӱ rҵng CA chung đã đưӧc chӭng nhұn, vì cũng có trưӡng hӧp khi xem xét
vҩn đӅ bҧo mұt, mӝt bên thӭ 3 có thӇ giҧ làm CA đánh lӯa 2 bên còn lҥi.

- Xin chӭng nhұn cӫa CA và tính toán khóa chung cӫa giao dӏch:
Bưӟc 1: Bên A và B tӵ sinh cһp khóa riêng và khóa công khai.

Bưӟc 2: Bên A và B cung cҩp thông tin vӅ khóa công khai, tên và thông tin cӫa
chúng cho RA.

Bưӟc 3: RA tiӃp nhұn và xem xét tính hӧp lӋ cӫa thông tin, sau đó chuyӇn yêu
cҫu cho CA.

Bưӟc 4: CA sinh chӭng nhұn cho bên A và B bҵng cách đӏnh dҥng khóa công
khai cӫa chúng (nӃu có) và chӭng nhұn vӟi khóa riêng cӫa CA.

Bưӟc 5: KӃt quҧ là bên A và B nhұn đưӧc khóa chӭng nhұn, đӗng thӡi chúng
cũng có mӝt cһp khóa riêng và công khai đã sinh.

Bưӟc 6: Bên A và B tӵ sinh ra mӝt khóa đӕi xӭng (Như đã miêu tҧ ӣ phҫn thuұt
toán).

Trong quá trình truyӅn nhұn, dӳ liӋu phҧi đưӧc đҧm bҧo vӅ tính toàn vҽn, cũng như tính
bҧo mұt (không bӏ đӑc lén hay thay đәi nӝi dung). Sau đây chúng ta sӁ xem xét quá trình
đó diӉn ra vӟi 2 bên A và B ra sao.

- Mӝt quá trình truyӅn nhұn trong giao dӏch:

Hình 4.2: Quá trình mã hóa dӳ liӋu và gӱi cho bên B.

Bưӟc 1: Gói tin cӫa bên A đưӧc đӏnh dҥng theo giao thӭc truyӅn (Mӛi giao thӭc
truyӅn như IPSec, L2TP, v..v.. có đӏnh dҥng gói tin khác nhau), sau đó gói tin
đưӧc đưa vào mӝt hàm băm đӇ có đưӧc mӝt giá trӏ duy nhҩt đҥi diӋn cho gói tin
đó. Giá trӏ này đưӧc sӱ dөng đӇ xem xét tính chính xác, toàn vҽn cӫa gói tin.
Bưӟc 2: Bên A tұp hӧp nhӳng thӭ cҫn chuyӇn đi bao gӗm giá trӏ đҥi diӋn, dӳ liӋu.

Bưӟc 3: Vӟi dӳ liӋu trên, bҩt cӭ bên thӭ 3 nào cũng có thӇ giҧi mã gói tin. Chình
vì thӃ, tҥi bưӟc tiӃp theo, bên A tiӃp tөc mã hóa gói tin vӟi khóa đӗng bӝ mà bên
A và B đã sinh ra đưӧc (Thông qua thuұt toán có đҫu vào là khóa riêng cӫa 1 bên
và khóa công khai cӫa bên còn lҥi).

Bưӟc 4: Bên A chuyӇn tӟi cho bên B gói tin chӭa dӳ liӋu đã đưӧc mã hóa.

Hình 4.3: Quá trình nhұn, giҧi mã, và xem xét tính toàn vҽn cӫa dӳ liӋu.

Bưӟc 5: Bên B tiӃn hành giҧi mã dӳ liӋu trong gói tin nhұn đưӧc tӯ bên A bҵng
khóa đӗng bӝ đã thu đưӧc tӯ trưӟc.

Bưӟc 6: Bên B tiӃn hành thӵc hiӋn hàm băm giӕng như hàm băm A đã sӱ dөng đӇ
sinh ra giá trӏ đҥi diӋn.

Bưӟc 7: Bên B tiӃn hành so sánh giá trӏ thu đưӧc qua hàm băm vӟi giá trӏ đҥi diӋn
trong bҧn tin. NӃu hai giá trӏ không trùng khӟp có nghĩa là gói tin bӏ sai lӋch khi
truyӅn, hoһc đã bӏ thay đәi. NӃu giá trӏ khӟp có nghĩa là gói tin toàn vҽn.

Tәng kӃt lҥi, ví dө cho ta thҩy đưӧc cách hoҥt đӝng cӫa PKI trong mӝt trưӡng hӧp cө
thӇ, cũng như cơ chӃ thӵc hiӋn giao dӏch sao cho dӳ liӋu có đưӧc tính toàn vҽn và tính
bҧo mұt.
4.2.3. Mӝt sӕ cҩu trúc PKI thưӡng gһp:

Trong phҫn trưӟc, chúng ta đã hiӇu đưӧc cơ chӃ thӵc hiӋn giao dӏch cӫa PKI. Ӣ phҫn
này, chúng ta sӁ nghiên cӭu các cҩu trúc PKI thưӡng gһp. Các cҩu trúc này chӫ yӃu là
sӵ sҳp xӃp CA cùng các máy sӱ dөng, tùy thuӝc theo chính sách và yêu cҫu bҧo mұt
khác nhau (Ӣ đây chúng ta không xem xét đӃn RA vì RA chӍ là mӝt máy đưӧc CA ӫy
nhiӋm làm thay mӝt sӕ công viӋc cӫa CA).

Các cҩu trúc PKI thưӡng gһp gӗm có:

- Cҩu trúc đơn CA.

- Cҩu trúc danh sách tin cұy.

- Cҩu trúc phân cҩp CA.

- Cҩu trúc mҥng lưӟi CA.

- Cҩu trúc CA hӛn hӧp.

4.2.3.1. Cҩu trúc đơn CA:

Hình 4.4: Cҩu trúc CA đơn.

Cҩu trúc CA đơn là cҩu trúc PKI đơn giҧn nhҩt. Cҩu trúc này chӍ có duy nhҩt mӝt CA
làm nhiӋm vө cҩp phát, quҧn lý và thu hӗi các chӭng nhұn sӕ. Tҩt cҧ các máy cӫa ngưӡi
sӱ dөng thiӃt lұp quan hӋ tin cұy đӕi vӟi CA này. Cҩu trúc CA đơn phù hӧp vӟi các tә
chӭc nhӓ bӣi vì sӕ lưӧng ngưӡi dùng thҩp và công viӋc quҧn lý không đòi hӓi cao.

4.2.3.2. Cҩu trúc danh sách tin cұy:

Hình 4.5: Cҩu trúc danh sách tin cұy.

Vӟi mӝt lưӧng ngưӡi sӱ dөng lӟn hơn, viӋc kiӇm tra và quҧn lý trӣ nên nһng nӅ hơn,
chính vì thӃ yêu cҫu sӕ lưӧng CA lӟn hơn thay vì chӍ có duy nhҩt 1 CA. Như vұy, thay
vì chӍ phҧi thiӃt lұp mӕi quan hӋ tin cұy vӟi chӍ mӝt CA, máy ngưӡi sӱ dөng phҧi lưu trӳ
mӝt danh sách các CA tin cұy đӇ có thӇ yêu cҫu giҩy chӭng nhұn tӯ CA bҩt kǤ nào trong
danh sách đó.

4.2.3.3. Cҩu trúc phân cҩp CA:


Hình 4.6: Cҩu trúc phân cҩp CA.

Cҩu trúc có thӭ bұc là cҩu trúc phә biӃn nhҩt đưӧc sӱ dөng trong các tә chӭc có quy mô
lӟn. Không giӕng các cҩu trúc ӣ trên, mô hình này dӵa trên mӕi quan hӋ tin cұy giӳa các
CA vӟi nhau. Các CA đưӧc sҳp xӃp phân cҩp và CA cҩp trên cҩp phát, quҧn lý chӭng
nhұn sӕ cho CA cҩp dưӟi cũng như ngưӡi sӱ dөng kӃt nӕi tin cұy tӟi nó.

4.2.3.4. Cҩu trúc mҥng lưӟi CA:


Hình 4.7: Cҩu trúc mҥng lưӟi CA.

Không giӕng như cҩu trúc thӭ bұc, các CA có mӕi quan hӋ tin cұy ngang hàng. Chúng
có thӇ cҩp phát, quҧn lý chӭng nhұn sӕ cho nhau và cho ngưӡi sӱ dөng.

4.2.3.5. Cҩu trúc CA hӛn hӧp:

Các cҩu trúc trên phөc vө cho các yêu cҫu cӫa chӍ mӝt tә chӭc. Tuy nhiên, PKI trӣ nên
phӭc tҥp khi mӝt tә chӭc tham gia giao tiӃp vӟi các tә chӭc khác. Trong tình huӕng như
vұy, mӝt cҩu trúc hӛn hӧp đưӧc tҥo ra phөc vө cho giao tiӃp giӳa các tә chӭc. Có 3 loҥi
cҩu trúc CA hӛn hӧp đưӧc trình bày dưӟi đây.
Hình 4.8.1: Cҩu trúc hӛn hӧp danh sách tin cұy mӣ rӝng.

Trong cҩu trúc này, tҩt cҧ các máy sӱ dөng lưu trӳ mӝt danh sách mӣ rӝng cӫa tҩt cҧ các
điӇm tin cұy không chӍ trong tә chӭc cӫa mình mà còn trong tә chӭc khác.
Hình 4.8.3: Cҩu trúc hӛn hӧp kiӇm tra chéo.

Trong cҩu trúc hӛn hӧp này, CA cҩp cao nhҩt cӫa mӝt tә chӭc thiӃt lұp mӝt mӕi quan hӋ
tin cұy ngang hàng vӟi các CA gӕc cӫa tә chӭc khác.

Hình 4.8.2: Cҩu trúc hӛn hӧp bҳc cҫu.

Trong cҩu trúc thӭ ba này, tӗn tҥi mӝt CA làm cҫu nӕi cho các CA gӕc cӫa các tә chӭc.
5. Cơ chӃ gói tin trong VPN:

You might also like