4.2.1 Bảo mật trong lớp giao vận sử dụng cụng nghệ SSL
a/. Giới thiệu về SSL
SSL là giao thức đa mục đớch đƣợc thiết kế để tạo ra giao tiếp giữa hai trỡnh ứng dụng trờn một cổng định trƣớc (Socket 443), nhằm mó hoỏ toàn bộ thụng tin đi/đến mà ngày nay đƣợc sử dụng rộng rói trong cỏc giao dịch điện tử nhƣ truyền số hiệu thẻ tớn dụng, mật khẩu, số bớ mật cỏ nhõn (PIN) trờn Internet.
Điểm cơ bản của giao thức SSL là đƣợc thiết kế độc lập với tầng ứng dụng, nằm giữa tầng mạng hƣớng kết nối TCP/IP và tầng ứng dụng, để đảm bảo an toàn, chống giả mạo luồng thụng tin qua Internet giữa hai ứng dụng bất kỳ.
Để bảo vệ những thụng tin mật trờn mạng Internet hay bất kỳ mạng TCP/IP nào, SSL kết hợp những yếu tố sau để thiết lập đƣợc một giao dịch an toàn:
Xỏc thực: đảm bảo tớnh xỏc thực của trang web mà bạn sẽ làm việc ở đầu kia của kết nối. Tƣơng tự, cỏc trang web cũng cần phải kiểm tra tớnh xỏc thực của ngƣời sử dụng.
Mó hoỏ: đảm bảo thụng tin khụng thể bị truy cập bởi đối tƣợng thứ ba. Để loại trừ việc nghe trộm những thụng tin “nhạy cảm” khi nú đƣợc truyền qua Internet, dữ liệu đƣợc mó hoỏ để khụng thể bị đọc đƣợc bởi những ngƣời khỏc ngoài ngƣời gửi và ngƣời nhận.
Toàn vẹn dữ liệu: đảm bảo thụng tin khụng bị sai lệch và nú phải thể hiện chớnh xỏc thụng tin gốc gửi đến.
Hỡnh 4. 8 Khối giao thức SSL [15]
b/. Hoạt động của SSL
SSL khụng phải là một giao thức đơn lẻ, mà là một tập cỏc thủ tục đó đƣợc chuẩn hoỏ để thực hiện cỏc nhiệm vụ bảo mật sau:
Xỏc thực mỏy chủ (server):
Cho phộp ngƣời sử dụng xỏc thực mỏy chủ muốn kết nối. Khi đú, phớa trỡnh duyệt sử dụng cỏc kỹ thuật mó hoỏ cụng khai để chắc chắn rằng chứng chỉ số (certificate) và định danh cụng khai (public ID) của mỏy chủ là cú giỏ trị và đƣợc cấp phỏt bởi một CA (certificate authority) trong danh sỏch cỏc CA đỏng tin cậy của mỏy khỏch.
Xỏc thực mỏy khỏch (Client):
Cho phộp phớa mỏy chủ xỏc thực ngƣời sử dụng muốn kết nối. Phớa mỏy chủ cũng sử dụng cỏc kỹ thuật mó hoỏ cụng khai để kiểm tra xem chứng chỉ số và định danh cụng khai của mỏy khỏch cú giỏ trị hay khụng và đƣợc cấp phỏt bởi một CA (certificate authority) trong danh sỏch cỏc CA đỏng tin cậy của mỏy chủ khụng. Điều này rất quan trọng đối với cỏc nhà cung cấp. Vớ dụ nhƣ khi một ngõn hàng định gửi cỏc thụng tin tài chớnh mang tớnh bảo mật tới khỏch hàng thỡ họ rất muốn kiểm tra định danh của ngƣời nhận.
Mó hoỏ kết nối:
Tất cả cỏc thụng tin trao đổi giữa mỏy khỏch và mỏy chủ đƣợc mó hoỏ trờn đƣờng truyền nhằm nõng cao khả năng bảo mật. Điều này rất quan trọng đối với cả hai bờn khi cú cỏc giao dịch mang tớnh riờng tƣ. Ngoài ra, tất cả cỏc dữ liệu đƣợc gửi đi trờn một kết nối SSL đó đƣợc mó hoỏ cũn đƣợc bảo vệ nhờ cơ chế tự động phỏt hiện cỏc xỏo trộn, thay đổi trong dữ liệu. (đú là cỏc thuật toỏn băm – hash algorithm).
c/. Thuật toỏn sử dụng trong SSL
Giao thức SSL hỗ trợ rất nhiều cỏc thuật toỏn mó hoỏ, đƣợc sử dụng để thực hiện cỏc cụng việc trong quỏ trỡnh xỏc thực mỏy chủ và mỏy khỏch, truyền tải cỏc chứng chỉ số (certificates) và thiết lập cỏc khoỏ của từng phiờn giao dịch (sesion key). Mỏy khỏch và mỏy chủ cú thể hỗ trợ cỏc bộ mật mó (cipher suite) khỏc nhau tuỳ thuộc vào nhiều yếu tố nhƣ phiờn bản SSL đang dựng, chớnh sỏch của cụng ty về độ dài khoỏ mà họ cảm thấy chấp nhận đƣợc - điều này liờn quan đến mức độ bảo mật của thụng tin,….
DES (Data Encryption Standard): thuật toỏn mó hoỏ cú chiều dài khoỏ là 56 bit.
3-DES (Triple-DES): thuật toỏn mó hoỏ cú độ dài khoỏ gấp 3 lần độ dài khoỏ trong mó hoỏ DES.
DSA (Digital Signature Algorithm) – Thuật toỏn ký số: (trong chuẩn về xỏc thực số đang đƣợc chớnh phủ Mỹ sử dụng).
KEA (Key Exchange Algorithm): thuật toỏn trao đổi khoỏ đang đƣợc chớnh phủ Mỹ sử dụng.
MD5 (Message Digest algorithm) đƣợc phỏt triển bởi Rivest.
RSA: thuật toỏn mó hoỏ cụng khai dựng cho cả quỏ trỡnh xỏc thực và mó hoỏ dữ liệu (Rivest, Shamir, và Adleman phỏt triển)
RSA key exchange: thuật toỏn trao đổi khoỏ dựng trong SSL, dựa trờn thuật toỏn RSA.
RC2 and RC4: cỏc thuật toỏn mó hoỏ đƣợc phỏt triển bởi Rivest, dựng cho việc bảo vệ dữ liệu RSA (RSA Data Security).
SHA-1 (Secure Hash Algorithm): thuật toỏn băm đang đƣợc chớnh phủ Mỹ sử dụng.
4.2.2 Bảo mật lớp giao vận (TLS)
Đƣợc đƣa ra bởi IETF vào năm 1999 (RFC 2246), một phẩn của ủy ban cố vấn internet (IAB- Internet Architecture Board) cú chức năng nghiờn cứu, phỏt triển và quyết định cỏc chuẩn dựng trong internet. Giao thức này dựa trờn SSL v3.0 và PCT. Mặc dự TLS dựa trờn SSL, nhƣng nú khụng phải là phiờn bản sau tƣơng thớch 100% với cỏc bản trƣớc nú. IETF đó thực hiện mụt số cải tiến về an toàn, chẳng hạn nhƣ dựng HMAC thay vỡ MAC, dựng phộp tớnh toỏn khỏc trong bảo mật của mỏy chủ và tài liệu khoỏ (key), thờm cỏc bộ chỉnh sửa, khụng hỗ trợ bộ mó hoỏ Fortezza , v.v… Kết quả của những nõng cấp này là cỏc giao thức khụng hoạt động đƣợc một cỏch đầy đủ và rơi vào quờn lóng.
4.2.3 Bảo mật trong lớp giao vận mạng khụng dõy (WTLS)
WTLS là lớp bảo mật của Wap (Wireless Application Protocol), một lớp đặc tả bảo mật cho phộp ngƣời sử dụng truy nhập thụng tin qua cỏc thiết bị khụng dõy nhƣ điện thoại di động, palm... WTLS cung cấp chớnh sỏch bảo mật, ràng buộc dữ liệu và xỏc thực cho cỏc dịch vụ Wap.
WTLS dựa trờn lớp bảo mật TLS (Transport Layer Security) trong internet, nú sử dụng cỏc ngữ nghĩa giống nhau cho cỏc thiết bị điện thoại băng thụng nhỏ. WTLS cú một số thay đổi so với TLS để phự hợp với việc truyền nhận dữ liệu trờn mạng khụng dõy cú băng thụng nhỏ, bộ nhớ và bộ xử lý của cỏc thiết bị hạn chế: + Cấu trỳc dữ liệu nộn: kớch thƣớc gúi đó đƣợc giảm bằng cỏch loại bỏ những thụng tin thừa, cắt bỏ một số phần tử mật mó.
+ Định dạng chứng chỉ mới: WTLS định nghĩa một định dạng chứng chỉ nộn. Nú tuõn theo cấu trỳc chứng chỉ số X.509 v3, nhƣng sử dụng cấu trỳc dữ liệu nhỏ hơn. + Thiết kờ dựa trờn gúi: WTLS thiết kế để thớch ứng hơn với mạng trờn cơ sở truyền nhận gúi dữ liệu.
* Bảo mật
WTLS sử dụng cỏc thuật toỏn mật mó hiện đại hơn: + Trao đổi khúa và chữ ký: RSA, ECC
+ Mật mó đối xứng: DES, Triple DES, RC5 + Sắp xếp thụng điệp: MD5, SHA1
4.3 PKI TRONG ĐỒNG BỘ DỮU LIỆU OMA-SYNCML
OMA SyncML là một chuẩn cụng nghiệp sử dụng cho việc đồng bộ dữ liệu và thụng tin cỏ nhõn qua nhiều mạng, hạ tầng và cỏc thiết bị. OMA-SyncML sử dụng cỏc kỹ thuật bảo mật đối xứng để đảm bảo bảo mật đối với cỏc thiết bị trờn cỏc mạng tƣơng ứng. Cỏc kỹ thuật này cú lợi điểm là tớnh toỏn xử lý nhanh và đơn giản. Tuy nhiờn với phƣơng phỏp này, mọi mỏy chủ quản lý thiết bị phải xỏc thực cỏc thiết bị kết nối đến nú để lƣu trữ ủy nhiệm (credentials) đối xứng. Kỹ thuật này gọi là bảo mật ủy nhiệm đối xứng. Một trong những nhƣợc điểm của nú là tớnh ổn định khụng cao. Hơn thế nữa, việc xỏc thực đƣợc thực hiện đối với một thực thể (một thiết bị hoặc mỏy chủ quản lý thiết bị khỏc) tại một thời điểm. Điều này sẽ gõy ra sự tấn cụng vào phần tử trung tõm đang hoạt động (man-in-the middle).
Khụng giống cỏc hệ thống mó húa đó sử dụng cụng nghệ mó húa SSL qua giao thức http, chỉ tồn tại trong quỏ trỡnh truyền tin và khụng lõu bền. Mó húa ngụn ngữ đỏnh dấu mở rộng (XML) cú thể đƣợc sử dụng để bảo vệ luồng thụng điệp mang tớnh riờng tƣ giữa mỏy chủ và thiết bị, cả trong truyền tin cũng nhƣ lƣu trữ định dạng đƣợc mó húa tại 2 điểm đầu cuối đú.
Mó húa XML sẽ sử dụng cỏc thẻ bảo mật để bảo vệ tớnh riờng tƣ của thụng điệp. Việc mó húa cú thể tại khối header, khối body của thụng điệp, hoặc bất kỳ cấu trỳc con nào trong thụng điệp. Mó húa đƣợc thực hiện bởi hoặc một khúa đối xứng đƣợc chia sẻ giữa ngƣời gửi và ngƣời nhận, hoặc là một khúa đối xứng chứa trong thụng điệp theo định dạng đƣợc mó húa. Mặc dự khúa đối xứng đƣợc sử dụng cho mó húa, khúa chia sẻ cũng cú thể là khúa chia sẻ phiờn (session), bắt nguồn từ hạ tõng khúa cụng khai PKI.
Khi ngƣời tạo mó húa cỏc phần của thụng điệp sử dụng mó húa XML, thỡ phải chốn một phần tử con vào khối header <syncML : Sercurity>:
i/. Phần tử <xenc : ReferenceList> sử dụng để tạo một bản khai bỏo cỏc phần đƣợc mó húa (manifest)
ii/. Phần tử <xenc : DataReference> chứa cỏc phần từ <xenc : EncryptedData>
iii/. Phần tử <xenc : EncryptedData> chứa phần tử đƣợc mó húa.
Mỗi khúa mó húa cú thể đƣợc đặt thẻ <KeyInfo> trong một phẩn tử <xenc:EncryptedData>
Vớ dụ : <SyncML>
<syncML : Sercurity>
<xenc : ReferenceList>
<xenc : DataReference URI= ôbodyID ằ /> </xenc : ReferenceList>
</syncML : Sercurity> <SyncHdr>
</SyncHdr> <SyncBody>
<xenc : EncryptedData Id= ôbodyIDằ> <KeyInfo> <KeyName>CN=NdThang,C=VN</KeyName> </KeyInfo> </xenc : EncryptedData> </SyncBody> </SyncML>
OMA DM phiờn bản 2 triển khai cỏc kỹ thuật bảo mật dựa trờn PKI trong giao thức đăng ký 4-bƣớc (4-pass registration) nhƣ là một phần của giao thức ROAP (Rights Object Acquisition Protocol). [9]
Trong việc sử dụng giao thức đăng ký 4-bƣớc ROAP, cỏc thụng điệp “chào hỏi” mỏy chủ thiết bị và RI (ngƣời cấp quyền - Rights Issuer) đƣợc sử dụng để trao đổi cỏc định danh (IDs), cú hỗ trợ cỏc thuật toỏn và chứng chỉ số (CAs) tin cậy. Thiết bị và mỏy chủ RI xỏc thực với nhau thụng qua cỏc thụng điệp đăng ký hỏi / đỏp bằng cỏch trao đổi cỏc chữ ký trờn thụng điệp trƣớc. Thiết bị cũng gửi chuỗi mó húa (nonce) của nú trong thụng điệp yờu cầu. Kết quả thực hiện xỏc thực lẫn nhau giữa thiết bị và mỏy chủ RI chỉ định một ngữ cảnh bảo mật giữa chỳng. Ngữ cảnh bảo mật chứa cỏc định danh thiết bị (IDs), cỏc chứng chỉ số cung cấp, và thời gian hết hạn bảo mật.
OMA-SyncML chứa tập cỏc thụng điệp theo định dạng chuẩn đƣợc truyền giữa thiết bị và mỏy chủ tham gia giao dịch đồng bộ dữ liệu. Thụng điệp SyncML là một tài liệu XML chuẩn, gồm 2 phần: SyncML header chứa phiờn bản, phiờn làm việc, thụng tin xỏc thực, SyncML body chứa cỏc cõu lệnh thực thực hiện cỏc tỏc vụ đồng bộ.
Kỹ thuật cài đặt tớch hợp PKI với bảo mật XML trong giao thức đồng bộ dữ liệu OMA-SyncML đƣợc thiết lập trong pha cài đặt:
1/. Khởi tạo bắt tay (handshake): Thiết bị và mỏy chủ cú thể thực hiện bắt tay nhau (thẩm vấn) đối với việc sử dụng cỏc kỹ thuật PKI.
2/. Trao đổi cỏc tham số tớch hợp với cài đặt cỏc ngữ cảnh bảo mật PKI:
3/. Xỏc thực giữa thiết bị và mỏy chủ đồng bộ sử dụng cỏc chữ ký XML trờn cỏc thụng điệp trao đổi.
Một khi ngữ cảnh bảo mật PKI đó đƣợc chỉ định giữa thiết bị và mỏy chủ quản lý thiết bị (DM), cỏc kỹ thuật bảo mật XML cú thể đƣợc sử dụng cho việc xỏc thực ở mức cỏc cõu lệnh và mức cơ sở dữ liệu và nú đƣợc bảo vệ trong suốt pha quản lý thiết bị. Mỏy chủ quản lý thiết bị sử dụng khúa cụng khai của thiết bị để gửi những mó bớ mật đƣợc sử dụng trong cỏc kỹ thuật bảo mật XML. Mó bớ mật là một băm (SHA-1) của mật mó mà chỉ mỏy chủ biết gồm: định danh và chuỗi mó húa (nounces) của thiết bị.
Thụng tin thờm trong cấu trỳc của cõy con cần phải lƣu trữ ngữ cảnh bảo mật PKI giữa mỏy khỏch và mỏy chủ quản lý thiết bị. Bởi vỡ cú thể cú nhiều hơn một mỏy chủ làm nhiệm vụ quản lý thiết bị, và cú nhiều ngữ cảnh nhƣ vậy trong thiết bị tƣơng ứng với mỗi mỏy chủ quản lý thiết bị đó cú. Thiết bị và mỏy chủ quản lý thiết bị sử dụng cỏc chữ ký XML (sử dụng khúa riờng) trờn cỏc thụng điệp trao đổi trong pha cài đặt của giao thức OMA-SyncML để xỏc thực lẫn nhau.
Một phiờn quản lý thiết bị cú thể xỏc định bởi trƣờng sessionID trong ngữ cảnh bảo mật PKI. Khi ngữ cảnh bảo mật đó đƣợc thiết lập giữa thiết bị và mỏy chủ quản lý thiết bị, cỏc vấn để bảo mật truyền tin cú thể đạt đƣợc bằng cỏch sử dụng cỏc kỹ thuật bảo mật dựa trờn bảo mật XML.
Thiết bị và mỏy chủ cũng cú thể lƣu trữ chuỗi thụng tin chứng chỉ số của nhau để đảm bảo cỏc thụng tin này khụng cần phải gửi lại trong cỏc thụng điệp trao đổi sau. Mỏy chủ quản lý thiết bị lƣu trữ một định danh khúa để xỏc định khúa thiết bị đƣợc lƣu trữ trờn mỏy chủ. Nếu định danh khúa gắn với khúa hiện tại của thiết bị, thỡ thiết bị khụng cần phải gửi chuỗi chứng chỉ số trong cỏc thụng điệp trao đổi sau. Tƣơng tự, thiết bị cũng lƣu trữ định danh khúa cho chuỗi chứng chỉ số của mỏy chủ quản lý thiết bị. Điều này sẽ làm giảm kớch thƣớc thụng điệp trao đổi sau lần đầu tiờn.
Hỡnh 4-5 bờn dƣới mụ tả cài đặt của cỏc kỹ thuật đăng ký 4-bƣớc (4-pass) trong OMA-SyncML [9]. Giao thức OMA-SyncML DM cú 2 pha: pha khởi tạo và pha quản lý. Việc xỏc thực lẫn nhau và sử dụng bảo mật PKI thực hiện ra trong pha cài đặt.
Để khởi tạo bắt tay, bộ kớch hoạt đƣợc yờu cầu tạo xỏc thực dựa trờn kỹ thuật PKI 4 - bƣớc. Việc khởi tạo cú thể xuất phỏt từ thiết bị hoặc mỏy chủ. Kỹ thuật này cũng cú thể đƣợc sử dụng để làm mới ngữ cảnh PKI khi ngữ cảnh bảo mật PKI bị quỏ hạn.
Hỡnh 4. 9 Kỹ thuật đăng ký 4-bước (4-pass) [9]
PKI SyncML gúi 1 tƣơng ứng với thụng điệp “chào hỏi” của thiết bị tới mỏy chủ DM trong giao thức đăng ký 4-bƣớc (4-pass). Thiết bị sử dụng mó thiết bị (DeviceID) để định danh nú với mỏy chủ DM, là băm SHA-1 thụng tin khúa cụng khai của thiết bị.
PKI SyncML gúi 2 đỏp lại thụng điệp “chào hỏi” của thiết bị trong giao thức đăng ký 4 - bƣớc của mỏy chủ DM tới thiết bị. DM ID đƣợc dựng dể định danh mỏy chủ, là băm SHA-1 trờn thụng tin khúa cụng khai của mỏy chủ quản lý thiết bị, xuất hiện trong chứng chỉ số của nú. DM ID cũng chứa chuỗi mó húa (nonce), là một số đƣợc sinh ra ngẫu nhiờn, và khụng đƣợc sử dụng lại. Gúi này cũng chứa định danh khúa tƣơng đƣơng (Peer Key Identifier) cho một khúa thiết bị đƣợc lƣu trờn mỏy chủ DM. Nếu định danh cú liờn kết với khúa hiện tại của thiết bị, thỡ thiết bị khụng cần phải gửi lại chuỗi chứng chỉ số trong gúi 3 tiờp sau.
PKI SyncML gúi 3 tƣơng ứng với thụng điệp yờu cầu đăng ký trong giao thức đăng ký 4-bƣớc (4-pass registration) gửi từ thiết bị tới mỏy chủ DM. Thụng điệp này chứa một số, hoặc một chuỗi đƣợc sử dụng một lần do thiết bị sinh ra ngẫu nhiờn. Nú cũng cú thể chứa chuỗi chứng chỉ số nếu gúi 2 khụng chứa định danh khúa tƣơng đƣơng (peer key) và giỏ trị của nú đƣợc xỏc định là khúa trong chuỗi chứng chỉ số hiện tại của thiết bị. Thụng điệp này cũng cú thể chứa “định danh khúa tƣơng đƣơng” (Peer Key Identifier) để xỏc định chứng chỉ số của mỏy chủ đƣợc lƣu trữ trờn thiết bị. Hơn thế nữa, thiết bị cú thể chứng thực
Chuỗi chứng chỉ số thiết bị, chữ ký XML trờn gúi 1 và gúi 2 thụng điệp này sử dụng khúa riờng (Thiết bị xỏc thực nú với DM Server)
Device Bắt tay để khởi tạo cỏc kỹ Server
thuật 4-pass PKI
PKI SyncML Gúi 1
PKI SyncML Gúi 2
PKI SyncML Gúi 3
PKI SyncML Gúi 4
Trao đổi Ids, lựa chọn thuật toỏn, …. Chuỗi chứng chỉ số mỏy chủ, chữ ký XML trờn gúi 3 và thụng điệp này