ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐOÀN VĂN PHI
XÂY DỰNG GIẢI PHÁP PKI TRÊN SIM
LUẬN VĂN THẠC SĨ
HÀ NÔI,
- 12015
-
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐOÀN VĂN PHI
XÂY DỰNG GIẢI PHÁP PKI TRÊN SIM
Ngành
: Công nghệ thông tin
Chuyên ngành : Công nghệ phần mềm
Mã số
: 60 48 10
LUẬN VĂN THẠC SĨ
- 2HƯỚNG DẪN KHOA HỌC: TS. TRƯƠNG NINH THUẬN
Đồng – Tập Đoàn Viễn Thông Quân Đội Viettel đã tạo điều kiện để tôi có thể hoàn thành
tốt luân văn của mình.
Xin cảm ơn các bạn, đồng nghiệp và nhất là các thành viên trong gia đình đã tạo
mọi điều kiện tốt nhất, động viên, cổ vũ trong suốt quá trình học tập và làm luận văn tốt
nghiệp.
Xin chân thành cảm ơn!
Hà Nội, ngày tháng
năm 2015
Học viên
Đoàn Văn Phi
- 4-
MỤC LỤC
LỜI CAM ĐOAN ......................................................................................................................................... 3
CHƯƠNG 1 – ĐẶT VẤN ĐỀ ..................................................................................................................... 8
1.1 Bối cảnh chung ................................................................................................................................... 8
1.2 Nhu cầu phát triển ............................................................................................................................... 9
1.3 Giải pháp ........................................................................................................................................... 10
1.4 Cấu trúc của luận văn ........................................................................................................................ 10
CHƯƠNG 2 – CÁC KHÁI NIỆM VÀ THÀNH PHẦN TRONG PKI ...................................................... 12
2.1 Chữ ký số .......................................................................................................................................... 12
2.1.1 Khái niệm ................................................................................................................................... 12
2.1.2 Ưu điểm khi sử dụng chữ ký số ................................................................................................. 12
2.2 Chứng thư số ..................................................................................................................................... 14
2.3 Các khái niệm về ký và mã hóa ........................................................................................................ 14
3.4.2 Mô tả luồng hoạt động ............................................................................................................... 57
3.4.3 Mô hình ca sử dụng ................................................................................................................... 57
CHƯƠNG 4 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .......................................................................... 65
- 6-
BẢNG CHỮ CÁI VIẾT TẮT
Viết tắt
Tên đầy đủ
PKI
Public Key Infrastructure
CNTT
Công nghệ thông tin
HSM
Hardware Security Module
CA
Certificate Authority (Nhà cung cấp chứng số số)
DES
OCSP
Online Certificate Status Protocol (Giao thức xác minh trạng thái
chứng thư số trực tuyến)
GSM
Global System for Mobile Communications (Tiêu chuẩn cho tin nhắn
mạng viễn thông)
EE
End Entity (Thực thể cuối)
CAM
CAManager (Ứng dụng thao tác với SIM)
- 7-
CHƯƠNG 1 – ĐẶT VẤN ĐỀ
1.1 Bối cảnh chung
Hiện nay, Internet đang phát triển như vũ bão trên thế giới. Công nghệ thông tin nói
chung và mạng Internet nói riêng đã đưa loài người lên một tầm cao mới. Khoảng cách
địa lý không còn là cản trở lớn như trước nữa, chúng ta thực sự đang sống trong một “thế
giới phẳng”. Như Bill Gate nhận định: “Những ai ngày hôm nay không bắt đầu tổ chức
lại công việc và cuộc sống của mình với sự trợ giúp của Internet và máy tính thì người đó
sẽ bị đẩy ra khỏi vòng trôi của thời đại”. Không nằm ngoài phát triển đó, tại Việt Nam,
Internet đang bùng nổ, sức mạnh và tầm quan trọng của nó ảnh hưởng tới mọi hoạt động
có thể ký giao dịch ở bất cứ nơi đâu, tạo nên sự tiện dụng cho khách hàng.
Như vậy, liên quan đến vấn đề này có 3 yếu tố: chữ ký số, chứng thư số và chứng
thực số.
-
Chữ ký số do người sử dụng tạo ra sau khi được nhà cung cấp dịch vụ cung cấp
chứng thư số.
-
Chứng thực số được sử dụng để các đối tác của người sử dụng biết và xác định
được chữ ký, chứng thư của mình là đúng
1.2 Nhu cầu phát triển
Tuy nhiên, cùng với sự phát triển nhanh chóng mặt, việc trao đổi thông tin qua mạng
Internet ngày càng xuất hiện nhiều lỗ hổng. Khi thực hiện các trao đổi thông tin qua
mạng với ai đó, chúng ta sẽ không thể chắc chắn người đó là người mình mong muốn, và
chúng ta cũng không chắc chắn rằng thông tin chúng ta gửi có bị thay đổi trước khi đến
đích. Khả năng bị kẻ xấu nghe trộm, giả mạo, lừa đảo qua mạng cũng ngày càng tăng.
Thật vậy, theo thống kê của thông tin công nghệ Việt Nam, chỉ trong 2012, tội phạm công
nghệ cao gây thiệt hại cho riêng nước Mỹ là 400 tỷ USD. Còn ở Việt Nam, theo thống kê
của Cục Công nghệ tin học nghiệp vụ (E15), Tổng cục kỹ thuật – Bộ Công an, năm 2012,
tội phạm công nghệ cao đã gay thiệt hại trên 2000 tỷ đồng, tấn công nhằm vào các lĩnh
vực tài chính, chứng khoán, ngân hàng, mua bán ngoại tệ qua Internet... Quả thật, những
tiềm ẩn rủi ro qua mạng đã trở thành vấn đề nhức nhối. Nguy hiểm hơn đối với tiến trình
thực hiện Chính phủ điện tử ở nước ta, nếu để kẻ xấu lợi dụng những điểm yếu trên, thì
thiệt hại không thể tính được bằng tiền. Ví dụ như một công văn, nghị quyết bị kẻ phá
hoại giả mạo một quan chức để chống phá chính quyền, làm mật lòng tin của nhân dân.
Vì những hiểm họa luôn song hành cùng sự trao đổi thông tin qua mạng, hai nhu cầu lớn
được nhắc đến. Thứ nhất, để tránh giả mạo, người dùng sẽ cần một phương thức để xác
thời nay, nhu cầu phát triển, những giải pháp được đưa ra và tình hình triển khai PKI trên
thực tế của thế giới nói chung và Việt Nam nói riêng.
Chương 2: Các khái niệm và thành phần trong PKI
Tìm hiểu về PKI gồm các mục như:
-
Khái niệm về PKI, ký số và các phương pháp mã hóa trong PKI
-
Các thành phần của PKI
-
Các mô hình tổ chức CA
- 10 -
-
Các chuẩn áp dụng cho PKI và các thiết bị lưu trữ hiện nay
Chương 3: Xây dựng giải pháp dịch vụ chữ ký số trên SIM
Xây dựng mô hình tổng quan về việc sử dụng dịch vụ chữ ký số trên SIM. Mô
hình hướng đến tác nhân là người dùng sử dụng dịch vụ và thực hiện những giao dịch
như: chuyển tiền trực tuyến, thanh toán tiền trực tuyến, ký văn bản mềm, nộp những tờ
khai thuế trực tuyến, …Với mỗi giao dịch trước khi gửi đi, người dùng phải thực hiện ký
số trên những giao dịch đó. Và để xác thực chữ ký đó có hợp lệ hay không, hệ thống cung
cấp dịch vụ sẽ phải xác thực chứ ký đó.
Chương 4: Kết luận và hướng phát triển
Cả hai bên tham gia vào quá trình truyền thông tin đều có thể tin tưởng là văn bản
không bị sửa đổi trong khi truyền. Vì nếu văn bản bị thay đổi thì hàm băm cũng sẽ thay
đổi và lập tức phát hiện. Quy trình mã hóa sẽ ẩn nội dung đối với bên thứ ba.
2.1.2.3 Tính không thể phủ nhận
Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó do mình gửi. Để
ngăn ngừa khả năng này, bên nhận có thể yêu cầu bên gửi phải kèm chữ ký số với văn
bản. Khi có tranh chấp, bên nhận sẽ dùng chữ ký này như một chứng cứ để bên thứ ba
giải quyết.
- 12 -
Ngoài ra còn có một số lợi ích của chữ ký số trong trong doanh nghiệp:
-
Việc ứng dụng chữ ký số giúp doanh nghiệp tiết kiệm thời gian, chi phí hành
chính. Hoạt động giao dịch điện tử cũng được nâng tầm đẩy mạnh. Không mất
thời gian đi lại, chờ đợi.
-
Không phải in ấn các hồ sơ
-
Việc ký kết các văn bản ký điện tử có thể diễn ra ở bất kỳ đâu, bất kỳ thời gian
nào.
-
Việc chuyển tài liệu, hồ sơ đã ký cho đối tác, khách hàng, cơ quan quản lý …
điệp một lần duy nhất, trong khi mật mã khối tách thông điệp ra thành các khối, mỗi khối
có một số lượng bit cố định nào đó và mã hóa chúng thành từng đơn vị riêng rẽ. Đối với
từng chuẩn mật mã khối, số byte này có thể là khác nhau. Ví dụ, nó là 64 bit với Data
Encryption Standard (DES) và TripleDES, là 128 bit (theo mặc định, 192 bit hoặc 256 bit
theo Advanced Encryption Standard). Những dữ liệu mà nhiều hơn số bit n cho một khối
phải được mã hóa theo từng khối n bit một. Những dữ liệu mà nhở hơn n bit phải được
mở rộng thành n bit để mã hóa.
Một cách để xâm hại các thuật toán mã hóa đối xứng có sử dụng vector khởi tạo là
dò tất cả các khóa có thể. Tùy thuộc vào kích cỡ của khóa mà được dùng để mã hóa, công
việc tìm kiếm này sẽ có thể là rất tốn thời gian, ngay cả khi dùng những hệ thống máy
tính nhanh nhất, và do đó là trở nên không thực tế. Kích cỡ key càng lớn thì việc bẻ khóa
sẽ càng khó. Mặc dù việc mã hóa không làm cho việc bẻ khóa trở thành không thể, nó
làm cho chi phí cần có để bẻ khóa tăng lên rất nhiều; đủ nhiều để khiến việc bẻ khóa trở
- 14 -
nên không thực tế. Ví dụ như nếu ta phải mất ba tháng để giải mã và lấy được một thông
tin chỉ đáng giá ba ngày thì ta sẽ đương nhiên không dùng biện pháp giải mã đó.
Sự bất lợi của thuật toán mã hóa đối xứng là nó phải coi như là các bên tham gia
đã đồng thuận về một khóa, vector khởi tạo và trao đổi các giá trị này cho nhau. Vector
khởi tạo không được coi là bí mật và có thể được truyền đi dưới dạng plaintext trong một
thông điệp. Tuy nhiên, khó thì phải là bí mật (đối với các đối tượng không xác thực). Do
vậy, mã hóa đối xứng thường được sử dụng kết hợp với mã hóa phi đối xứng để thực hiện
việc trao đổi các giá trị này giữa các đối tượng liên quan. Việc tại sao lại phải kết hợp mà
không dùng luôn thuật toán mã hóa phi đối xứng là do thuật toán mã hóa phi đối xứng
cũng có những bất lợi riêng của nó [2].
2.3.2 Phương pháp mã hóa phi đối xứng
Mã hóa phi đối xứng (hay còn gọi là mã hóa công khai) sử dụng một cặp khóa để
mã hóa. Chúng gồm một khóa bí mật mà phải luôn luôn được giữ bí mật và một khóa
công khai mà có thể được công khai cho bất kỳ ai. Khóa công khai và bí mật có quan hệ
Dễ bị tấn công hơn
-
Dễ phân phối hơn do khóa công khai
không cần được an ninh
-
Khó phân phối hơn
- 15 -
-
Tốc độ mã hóa rất chậm nếu so sánh
với mã hóa đối xứng. Được thiết kế để
mã hóa các dữ liệu nhỏ
-
-
Vòng đời của khóa dài hơn
Tốc độ nhanh hơn. Có thể mã hóa
những dữ liệu lớn.
-
KTPM – K19 - CNTT
MD5
e981ff79f1e769451b1c94cbc8e227c5
Bảng 2.3.3 - Minh họa quá trình băm
Hàm băm phải được đảm bảo là các hàm một chiều mà không thể suy ngược được
từ kết quả băm để ra được văn bản gốc, hoặc để suy ra thì chi phí là quá lớn. Một số giải
thuật băm nổi tiếng như MD5, SHA-1, SHA-2 … Gần đây giải thuật MD5, SHA-1 đã bị
xếp là giải thuật yếu, không được khuyên sử dụng. Giải thuật SHA-2 hiện đạng được tin
dùng.
2.3.4 Quá trình mã hóa
Ta mã hóa thông điệp gửi đi khi ta muốn chỉ có người mà ta gửi thông điệp đó cho
có thể hiểu được thông điệp. Nhu cầu này xuất hiện khá thường xuyên trong thực tế, ví
dụ như trong quân sự, gián điệp, thông tin nội bộ của tổ chức nào đó. Nói chung là khi
- 16 -
mà thông điệp gửi đi là cần hạn chế số người có thể hiểu nó. Để đảm bảo an toàn, không
bị lộ thông tin thì cần có một phương pháp mã hóa thông tin trước khi gửi đi, ở phía nhận
sẽ thực hiện giải mã thông tin để có thể đọc được [2] [6].
Hình 2.3.4 - Mô phỏng quá trình mã hóa
Hình trên mô phỏng quá trình Alice (A) mã hóa một thông điệp rồi gửi tới cho
Bob (B). Diễn biến như sau:
- Msg là thông điệp mà A muốn gửi cho B
- Sau khi thông điệp được mã hóa bằng hàm Encrypt với đầu vào là Msg và
khóa công khai U_B và B, A thu kết quả C_tx.
đổi khóa đối xứng giữa các bên là an toàn. Do vậy, khắc phục nhược điểm của mã
hóa đối xứng.
Quá trình mã hóa và giải mã trên coi như là người gửi (người mã hóa dữ liệu) đã
có đúng khóa công khai của người nhận. Việc trao đổi khóa phải được thực hiện một cách
an toàn để người nhận xác nhận được đúng khóa công khai nhận được được sở hữu bởi
người gửi. Việc trao đổi an toàn khóa công khai này được đảm nhiệm bởi các hệ thống
PKI [1].
2.3.5 Quá trình ký
Trong thực tế, ta cần dùng chữ ký lên một văn bản khi ta muốn người đọc văn bản
sau đó biết rằng văn bản đó đã được thông qua hay là do ta ban hành. Nhu cầu này cũng
tồn tại trong giao dịch điện tử và chữ ký điện tử được sinh ra để thỏa mã nó. Trong một
số mặt, chữ ký điện tử còn làm tốt hơn rất nhiều so với chữ kỹ thật. Chữ ký điện tử là khó
giả mạo hơn và nó còn làm được một điều rất quan trọng là cho phép người đọc văn bản
có thể chắc rằng, kể từ khi được ký lên, văn bản vẫn chưa bị thay đổi.
Hinh dưới đây mô tả quá trình ký một văn bản được ký điện tử lên và quá trình
người nhận được văn bản xác minh chữ ký đó. Ký và xác minh chữ ký là hai quá trình
quan trọng liên quan tới chữ ký điện tử. Sau đây ta sẽ làm rõ cả hai quá trình này thông
qua hình minh họa.
Giả sử, Alice có một văn bản muốn công bố và cô muốn rằng bất kỳ ai tiếp xúc
với văn bản cũng có thể xác minh rằng văn bản này là do cô ban hành ra, đồng thời nó
chưa bị thay đổi kể từ khi cô ban hành. Alice lúc này sẽ ký điện tử lên văn bản. Các bước
tuần tự như sau:
-
Văn bản được đi qua một hàm băm H để thu được kết quả băm, ví dụ là
“1AFFF12CF” như trong hình.
- 18 -
-
-
Bob nhận được văn bản kèm chữ ký điện tử của Alice lên văn bản và tách riêng
chúng ra.
-
Bob cho văn bản này qua cùng hàm băm mà Alice sử dụng và thu được kết quả
“XXXXXXXXX”.
-
Bob lấy khóa công khai của Alice để giải mã kết quả băm được mã hóa trong
chữ ký và thu được “1AFFF12CF”.
- 19 -
-
Bob so sánh “1AFFF12CF” với “XXXXXXXXX” thu được ở trên, nếu bằng
nhau Bob có thể khẳng định được hai điều. Do hai kết quả băm là bằng nhau,
Bob có thể khẳng định văn bản đi kèm chữ ký đúng là văn bản chữ ký điện tử
ký lên và nó chưa bị thay đổi kể từ khi được ký lên. Do khóa công khai của
Alice giải mã được kết quả băm bị mã hóa để thu được kết quả băm đúng, Bob
có thể khẳng định rằng chính Alice là người ký điện tử lên văn bản.
Hình 2.3.5-2. Mô hình xác minh chữ ký
2.4 Tổng quan về PKI
2.4.1 Khái niệm về PKI
được với server của nhà cung cấp …
2.4.2 Các thành phần của PKI
Như đã được giới thiệu ở trên, PKI chính là hệ thống đề cấp cho mỗi người một
(hay một vài) khóa công khai và trả lời ba câu hỏi về khóa công khai: Khóa của ai? Để
làm gì? Còn hạn sử dụng không? Đó chỉ là một cách nói đơn giản hóa đi khái niệm của
về PKI. Cũng như giới thiệu ở trên, khóa công khai của mỗi người sẽ được gắn vào trong
một chứng thư số của người đó và được tạo ra, phân phối và quản lý bởi hệ thống PKI.
Để hệ thống PKI hoạt động trơn chu thì nó cần nhiều hơn các thành phần hỗ trợ khác bên
cạnh nhà phát hành chứng thư CA (Certificate Authority) và người sở hữu chứng thư.
Phần này sẽ gồm bảy phần con, mỗi phần sẽ nói về một thành phần quan trọng của
PKI, bao gồm:
- 21 -
-
Người sử dụng
-
Xác minh
-
Nhà cung cấp chứng thư số (CA)
-
Nhà cung cấp dịch vụ đăng ký chứng thư số (RA).
-
Quản lý các yêu cầu và dịch vụ liên quan đến chứng thư như đăng ký mơi, thay
đổi khóa, thu hồi chứng thư, …
-
Cung cấp chứng thư số và danh sách chứng thư đã bị thu hồi cho người sử
dụng khi họ yêu cầu sử dụng chứng thư hoặc danh sách thu hồi này.
-
Quản lý lưu trữ cơ sở dữ liệu về chứng thư số, cung cấp các dịch vụ backup,
restore và các dịch vụ khác đi kèm.
- 22 -
Phân loại CA
-
Root CA: là CA được tin tưởng trực tiếp bởi tất cả các thực thể. RootCA tự ký
và cấp chứng thư cho chính mình. RootCA là CA ở mức tin tưởng cao nhất
trong mô hình PKI. Sự tin tưởng đối với RootCA có được qua các con đường
phi điện tử như đăng ký cung cấp dịch vụ với các cơ quan chức năng hoặc
chính phủ…
-
Subordinate CA (subCA): là các CA ở cấp dưới, các CA này được CA ở cấp
trên cấp chứng thư. Sự tin tưởng đối với Subordinate CA có được qua việc CA
- 23 -
-
Kiểm tra xem chủ thể có thực sự sở hữu khóa riêng đang được đăng ký hay
không. Điều này thường được đề cập đến như sự chứng minh sở hữu (proof of
possession – POP).
-
Phân phối thông tin bí mật được chia sẻ đến thực thể cuối.
-
Thay mặt chủ thể của thực thể cuối khởi tạo quá trình đăng ký với CA.
2.4.2.3 Subcriber
Subcriber – Người đăng ký sử dụng. Subcriber là người (hoặc tổ chức) được CA
(hoặc RA) cấp chứng thư số, là chủ thể của chứng thư số đó. Người (hoặc tổ chức) đăng
ký sử dụng chứng thư số và sở hữu các cặp khóa chính là chủ thể của các đối tượng mà
gắn với các chứng thư số sẽ đăng ký và sử dụng, như email, server, phần mềm, …
Các Subcriber nhận các chứng thư số từ một CA bao gồm các nhân viên của một
tổ chức trong chính CA, trong ngân hàng, tổ chức thương mại, hay bất kỳ một cá nhân
mong muốn sử dụng các dịch vụ của hệ thống PKI…
Mỗi Subcriber muốn sở hữu chứng thư số cần phải đăng ký với CA, văn bản thể
hiện cho hoạt động này được gọi là Subcriber Agreement. Đó là một hợp đồng giữa CA
và người đăng ký để thiết lập quyền lợi và nghĩa vụ của các bên, với mục đích cung cấp
và quản lý các chứng thư số về sau.
qua việc dùng khóa công khai cho một mục đích cụ thể nào đó hay không.
Phân loại
Thông thường CP được xếp vào hai loại. Loại đầu là những CP mà xác định phạm
vi ứng dụng của một chứng thư đối với một cộng đồng cụ thể nào đó. Những CP dạng
này xác định những yêu cầu về việc sử dụng chứng thư và những yêu cầu về các thành
viên của cộng đồng. Ví dụ là khi ta tổ chức một CA ban hành chứng thư cho toàn thành
viên của một diễn đàn, CP mà áp dụng lên cho CA đó sẽ quy định rõ chứng thư cho thành
viên diễn đàn này được dùng vào việc gì (VD là để mã hóa khi gửi mail cho nhau) và quy
định các thành viên sẽ phải làm gì đối với các trường hợp cụ thể phát sinh trong quá trìn
sử dụng chứng thư của họ.
Dạng thứ 2 là những CP mà xác định phạm vi ứng dụng của chứng thư cho một
lớp ứng dụng với những yêu cầu thông thường về an ninh. Nững CP này xác định ra một
tập các ứng dụng hay việc sử dụng chứng thư mà nói rằng những ứng dụng hay việc sử
dụng này yêu cầu một mức độ an ninh nào đó. Sau đó những CP này sẽ đề ra các yêu cầu
mà là phù hợp với những ứng dụng hay việc sử dụng này. Một CP thuộc dạng này thường
tạo ra một tập các yêu cầu phù hợp với một mức đảm bảo nào đó được nói rõ, ứng với
chứng thư mà sẽ được ban hành tuân theo CP này. Những mức bảo đảm này có thể ứng
với các “class” hay “type” của chứng thư. Ví dụ là khi ta tổ chức một CA mà chỉ ban
hành chứng thư cho các nhân viên của Bộ Quốc Phòng. Do tính chất của Bộ là nắm giữ
nhiều bí mật liên quan tới an ninh quốc gia, nhiều biện pháp an ninh sẽ được áp dụng chặt
chẽ hơn. Do vậy, CP của CA này chắc chắn sẽ đưa ra nhiều tiêu chuẩn về an ninh chặt
- 25 -