ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG THẾ THẮNG
NGHIÊN CỨU GIẢI PHÁP TÍCH HỢP CHỮ KÝ SỐ
CHO ỨNG DỤNG DỰA TRÊN CÔNG NGHỆ SHAREPOINT
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2016
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG THẾ THẮNG
NGHIÊN CỨU GIẢI PHÁP TÍCH HỢP CHỮ KÝ SỐ
CHO ỨNG DỤNG DỰA TRÊN CÔNG NGHỆ SHAREPOINT
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. HỒ VĂN HƯƠNG - TS. NGUYỄN VIẾT THẾ
Hà Nội – 2016
Nghệ - Đại học Quốc Gia Hà Nội.
Hà nội, ngày 27 tháng 10 năm 2016
Học viên
Hoàng Thế Thắng
ii
MỤC LỤC
LỜI CẢM ƠN ........................................................................................................ i
LỜI CAM ĐOAN.................................................................................................. ii
MỤC LỤC ............................................................................................................ iii
DANH MỤC HÌNH VẼ ....................................................................................... vi
DANH MỤC TỪ VIẾT TẮT ............................................................................. viii
MỞ ĐẦU ............................................................................................................... 1
CHƯƠNG I: TỔNG QUAN VỀ AN TOÀN BẢO MẬT THÔNG TIN VÀ
CÔNG NGHỆ SHAREPOINT ............................................................................. 3
1. An toàn bảo mật thông tin ............................................................................. 3
1.1. Tổng quan ............................................................................................... 3
1.2. Các nguy cơ mất an toàn bảo mật thông tin ........................................... 4
1.3. Hệ mật mã ............................................................................................... 5
1.3.1. Định nghĩa ........................................................................................ 5
1.3.2. Mã hóa khóa đối xứng ..................................................................... 6
1.3.3. Mã khóa khóa công khai .................................................................. 9
1.4. Hàm băm ............................................................................................... 13
1.5. Chữ ký số .............................................................................................. 14
1.5.1. Giới thiệu ....................................................................................... 14
1.5.2. Quá trình ký ................................................................................... 14
1.3. Bảo mật thông tin bằng thuật toán ........................................................ 39
1.3.1. Ưu điểm.......................................................................................... 39
1.3.2. Nhược điểm .................................................................................... 40
2. Lựa chọn giải pháp bảo mật cho ứng dụng văn phòng điện tử dựa trên công
nghệ Sharepoint ............................................................................................... 40
2.1. Lý do lựa chọn ...................................................................................... 40
2.2. Tính khả thi của giải pháp .................................................................... 41
CHƯƠNG III: XÂY DỰNG ỨNG DỤNG TÍCH HỢP CHỮ KÝ SỐ CHO ỨNG
DỤNG HỆ ĐIỀU HÀNH TÁC NGHIỆP VĂN PHÒNG ĐIỂN TỬ DỰA TRÊN
SHAREPOINT .................................................................................................... 43
1. Phân tích thiết kế ......................................................................................... 43
1.1. Xây dựng bài toán ................................................................................. 43
iv
1.2. Phân tích thiết kế................................................................................... 43
1.3. Xây dựng giải pháp ............................................................................... 45
1.3.1. Môi trường cài đặt.......................................................................... 45
1.3.2 Thiết bị ký số................................................................................... 46
1.3.3. Quá trình ký số ............................................................................... 46
1.3.4. Quá trình xác thực .......................................................................... 48
2. Cài đặt thử nghiệm chương trình demo ....................................................... 49
2.1. Cấu hình Sharepoint Server 2013 ......................................................... 49
2.2. Tích hợp ứng dụng vào Sharepoint....................................................... 53
KẾT LUẬN ......................................................................................................... 62
TÀI LIỆU THAM KHẢO ................................................................................... 63
v
Hình 27: Nhập mã PIN để ký số ......................................................................... 57
Hình 28: Ký số thành công.................................................................................. 58
Hình 29: Tải tài liệu lên Sharepoint .................................................................... 58
Hình 30: Danh sách các tài liệu được chia sẻ ..................................................... 59
Hình 31: Chọn chứng thư số từ token để xác thực ............................................. 59
Hình 32: Xác thực thành công............................................................................. 60
Hình 33: Chức năng giải mã ............................................................................... 60
Hình 34: Kết quả giải mã .................................................................................... 61
vii
DANH MỤC TỪ VIẾT TẮT
AES
Advanced Encryption Standard
BDC
Business Data Connectivity
CSDL
Cơ sở dữ liệu
IDS
Intrusion Detect System
viii
MỞ ĐẦU
Ngày nay công nghệ thông tin đang rất phát triền, chúng ta đang sống
trong một thế giới phẳng, chính bởi vậy một nhu cầu thiết thực là làm sao
trao đổi thông tin nhanh hơn, chính xác hơn, thuận tiện hơn và đặc biệt là an
toàn hơn. Từ đó, các nhà nghiên cứu liên tục đưa ra các công nghệ mới nhằm
đáp ứng tốt hơn các đòi hỏi. Việc trao đổi thông tin trong các đơn vị hành
chính sự nghiệp không chỉ dừng lại ở việc trao đổi trực tiếp mà cần phải tiếp
cận nhanh hơn và điều khiển từ xa, chính bởi vậy, các hệ thống tác nghiệp
cho ứng dụng văn phòng được ra đời.
Hiện này có nhiều hệ thống tác nghiệp cho ứng dụng văn phòng như
eOffice, mOffice, Lotus Notes, Sharepoint, nhưng những hệ thống này đều
chưa có giải pháp đảm bảo an ninh, an toàn thông tin thực sự hiệu quả; nguy
cơ về mất an ninh, an toàn thông tin là rất thường trực, dẫn đến việc đảm bảo
bảo mật thông tin là rất cần thiết.
An toàn thông tin bao gồm các nội dung sau:
Tính bí mật: là tính kín đáo riêng tư của thông tin
Tính xác thực của thông tin: là tính đảm bảo sự xác thực, nguồn gốc của
thông tin
Tính trách nhiệm: để đảm bảo thông tin được đưa ra luôn có người chịu
trách nhiệm với nó.
Khi thông tin được truyền trên mạng, để đảm bảo an toàn thông tin có
hiệu quả, ngoài việc sử dụng các công cụ mạng thì việc xác thực thông tin
của chính tác giả là rất quan trọng.
Có nhiều giải pháp để bảo mật thông tin, trong số đó, xác thực là một biện
pháp có độ tin cậy cao. Để xác thực thông tin, chữ ký số là một giải pháp tối
ưu. Chữ ký số hiện nay có nhiều loại, nhiều thuật toán xây dựng và rất khó để
CHƯƠNG I: TỔNG QUAN VỀ AN TOÀN BẢO MẬT THÔNG
TIN VÀ CÔNG NGHỆ SHAREPOINT
1. An toàn bảo mật thông tin
1.1. Tổng quan
Khi nhu cầu trao đổi thông tin dữ liệu ngày càng lớn và đa dạng, các công
nghệ liên tục được phát triển thì các yêu cầu, biện pháp bảo vệ thông tin ngày
càng cấp thiết. Bảo vệ an toàn thông tin liên quan đến rất nhiều lĩnh vực đời
sống và các biện pháp bảo vệ cũng rất đa dạng, nhưng có thể được quy tụ vào ba
nhóm sau1:
Bảo vệ bằng các biện pháp hành chính
Bảo vệ bằng các biện pháp kỹ thuật(phần cứng)
Bảo về bằng thuật toán(phần mềm)
Thông tin có thể tồn tại ở nhiều loại môi trường, nhưng môi trường khó bảo
vệ nhất và cũng là môi trường đối phương dễ xâm nhập nhất đó là môi trường
mạng. Biện pháp hiệu quả nhất và kinh tế nhất hiện nay trên là biện pháp bảo vệ
bằng thuật toán.
An toàn thông tin gồm các nội dung sau:
Tính bí mật
Tính xác thực
Tính trách nhiệm
Có hai loại hành vi xâm phạm thông tin dữ liệu đó là: vi phạm chủ động và vi
phạm thụ động. Vi phạm thụ động chỉ có thể lấy được thông tin nhưng có thể ko
nắm được các thông tin bí mật, nhưng vi phạm chủ động là dạng vi phạm có thể
làm thay đổi nội dung hoặc làm ảnh hưởng đến gói tin tại thời điểm đó hoặc sau
đó. Vi phạm chủ động có thể dễ phát hiện nhưng rất khó để ngăn chặn hiệu quả.
Tuy nhiên có thể có nhiều phương pháp chống lại các hành vi vi phạm nhưng
một thực tế là không có một phương pháp nào là an toàn tuyệt đối.
1
Theo mục 1.1 của [6]
độc hại đánh cắp thông tin. Họ phải chịu chi phí rất lớn cho việc bảo vệ đảm bảo
an toàn thông tin, đặc biệt là các thông tin nội bộ.
2
Theo nghiên cứu của voer.edu.vn năm 2015
3
Theo VNCERT năm 2015
4
Hiện nay, ngoài các cách trao đổi, lưu trữ thông tin truyền thống, các đơn vị
hành chính sự nghiệp, các doanh nghiệp tư nhân đã ứng dụng văn phòng điện tử
như là một phần tất yếu. Các ứng dụng này được xây dựng dựa trên các công
nghệ mới, mang lại nhiều thuận lợi như Microsoft Share Point, IBM Lotus
Notes… Các hệ thống văn phòng điện tử giúp cơ quan, tổ chức trao đổi thông
tin, đưa ra nhưng quyết định không chỉ có tính đại chúng mà rất nhiểu thông tin
mật, chính vì vậy, việc xác thực và bảo mật thông tin trở nên rất cần thiết, đặc
biệt trong các tổ chức về an ninh, quốc phòng.
1.3. Hệ mật mã
1.3.1. Định nghĩa
Hệ mật mã là một hệ gồm 5 thành phần: M, C, K, E, D
M(message): tập các bản rõ
C(ciphertext): tập các bản mã
K(key): tập các khóa
E(encryption): tập các quy tắc mã hóa
D(decryption): tập các quy tắc giải mã
bằng cách kết hợp phép nghịch đảo với một phép biến đổi affine khả
6
nghịch. Hộp S-box này cũng được chọn để tránh các điểm bất động (fixed
point).
SubBytes: thay thế phi tuyến mỗi byte trong trạng thái hiện hành thông
qua bảng thay thế (S-box).
Các hàng được dịch vòng một số bước nhất định. Đối với AES, hàng đầu
được giữ nguyên. Mỗi byte của hàng thứ 2 được dịch vòng trái một vị trí.
Tương tự, các hàng thứ 3 và 4 được dịch vòng 2 và 3 vị trí. Do vậy, mỗi
cột khối đầu ra của bước này sẽ bao gồm các byte ở đủ 4 cột khối đầu
vào. Đối với Rijndael với độ dài khối khác nhau thì số vị trí dịch chuyển
cũng khác nhau
MixColumns: trộn thông tin của từng cột trong trạng thái hiện hành. Mỗi
cột được xử lý độc lập.
Bốn byte trong từng cột được kết hợp lại theo một phép biến đổi tuyến
tính khả nghịch. Mỗi khối 4 byte đầu vào sẽ cho một khối 4 byte ở đầu ra
với tính chất là mỗi byte ở đầu vào đều ảnh hưởng tới cả 4 byte đầu ra.
Cùng với bước ShiftRows, MixColumns đã tạo ra tính chất khuyếch tán
cho thuật toán. Mỗi cột được xem như một đa thức trong trường hữu hạn
và được nhân với đa thức: c(x) = 3x3 + x2 + x + 2(modulo x4 + 1)
ShiftRows : dịch chuyển xoay vòng từng dòng của trạng thái hiện hành
với di số khác nhau.
Khóa con được kết hợp với các khối. Khóa con trong mỗi chu trình được
tạo ra từ khóa chính với quá trình tạo khóa con Rijndael; mỗi khóa con có
độ dài giống như các khối. Quá trình kết hợp được thực hiện bằng cách
XOR từng bít của khóa con với khối dữ liệu.
Quy trình mã hóa được tóm tắt lại như sau:
1.3.3. Mã khóa khóa công khai
1.3.3.1. Khái niệm
Theo mục [1.6] của [6], Mã hóa khóa công khai là một dạng mã hóa cho
phép người sử dụng trao đổi các thông tin mật mã mà không cần phải trao đổi
các khóa chung bí mật trước đó. Mã hóa khóa công khai sử dụng một cặp khóa,
một khóa bí mật chỉ một người biết, một khóa công khai được đưa ra ngoài để
nhiều người có thể sử dụng. Trong hai khóa đó, một khóa dùng để mã hóa, một
khóa dùng để giải mã, và không thể tìm ra khóa bí mật nếu chỉ biết khóa công
khai.
Ví dụ
Thuật toán được Ron Rivest, Adi Shamir và Len Adleman (R.S.A) mô tả lần
đầu tiên vào năm 1977. Thuật toán mã hóa RSA thoả mãn 5 yêu cầu của một hệ
mã hiện đại:
Độ bảo mật cao (nghĩa là để giải mã được mà không biết khoá mật thì
phải tốn hàng triệu năm).
Thao tác nhanh(thao tác mã hoá và giải mã tốn ít thời gian).
Dùng chung được.
Có ứng dụng rộng rãi.
Có thể dùng để xác định chủ nhân (dùng làm chữ ký điện tử).
Hoạt động:
Thuật toán RSA có hai khóa:
Khóa công khai (Public key): được công bố rộng rãi cho mọi người và
được dùng để mã hóa
Khóa bí mật (Private key): Những thông tin được mã hóa bằng khóa công
khai chỉ có thể được giải mã bằng khóa bí mật tương ứng
Tạo khóa:
Bước 1:B (người nhận) tạo hai số nguyên tố lớn ngẫu nhiên p và q
9
công khai được nhiều người xử dụng.
b. Xác thực thông tin
A muốn mọi người biết được rằng tài liệu M là của chính A gửi, A có thể sử
dụng khóa riêng của mình để ký lên tài liệu M.
Khi B nhận được tài liệu, B sẽ sử dụng khóa công khai để xác thực chữ ký, vì
chỉ có A mới có khóa bí mật để tạo chữ ký ký lên tài liệu đó.
Hình 5: Xác thực thông tin
11
Nếu chỉ sử dụng chữ ký để xác thực thông tin, thì người khác vẫn xem được
nội dung của thông tin mặc dù không xác thực được chính xác thông tin là của
ai.
c. Bảo vệ bí mật và xác thực thông tin
Để đảm bảo thông tin vừa bí mật vừa xác thực, chúng ta phải thực hiện mã hóa
hai lần:
Đầu tiên, A phải ký thông điệp bằng khóa riêng của mình để đảm bảo tính
xác thực
Sau đó, A sử dụng khóa công khai của B để mã hóa tiếp thông điệp vừa
được mã hóa để đảm bảo tính bí mật
Sau đó, A gửi bản mã cuối cùng đến B. B nhận được, sẽ làm giải mã theo thứ tự
ngược lại để lấy được bản tin rõ.
Hình 6: Ký và mã hoá với khóa công khai
1.3.3.3. Ưu nhược điểm của hệ mật mã khóa công khai
a. Ưu điểm
Tiện lợi do các bên không cần chia sẻ khóa
Do chỉ có một người giữ khóa bí mật nên độ an toàn sẽ cao hơn rất nhiều
nhiên, tạo ra khóa cho quá trình mã hóa…
13
1.5. Chữ ký số
1.5.1. Giới thiệu
Chữ ký là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi người sử
dụng một cặp khóa công khai - bí mật và qua đó có thể ký các văn bản cũng như
trao đổi các thông tin mật. Khóa công khai thường được phân phối thông qua
chứng thực khóa công khai. Quá trình sử dụng chữ ký số bao gồm 2 quá trình:
tạo chữ ký và xác thực chữ ký.
Sử dụng chữ ký số trong truyền thông sẽ đảm bảo được các tính chất sau:
Xác thực được định danh của người gửi và nguồn gốc của thông điệp
Bất kỳ một sử đổi nào trên thông điệp làm cho kết quả xác minh chữ ký là
không chính xác nên đảm bảo được tính toàn vẹn của dữ liệu.
Chỉ người giữ khóa bí mật mới có thể ký số, nên không thể chối bỏ trách
nhiệm
Không thể tạo ra một văn bản với một chữ ký có sẵn chính vì vậy mà
không thể dùng lại chữ ký.
Bản chất của quá trình ký lên bản tin chính là sử dụng khóa bí mật của mình
để mã hóa bản tin. Nếu áp dụng đúng nghĩa như vậy thì sẽ nảy sinh một số vấn
đề khi bản tin lớn, vấn đề này xuất phát từ chính bản thân chữ ký số là sử dụng
mật mã khóa công khai. Chính vì vậy mà kỹ thuật sử dụng chữ ký số với hàm
băm được đề cập dưới đây là giải pháp được sử dụng hiện nay.
1.5.2. Quá trình ký
Đưa thông điệp qua hàm băm, kết quả thu được là một đoạn bit được gọi là
giá trị băm đảm bảo 2 tính chất:
Tính duy nhất: mỗi thông điệp đưa qua hàm băm đều thu về một đại diện
duy nhất