1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT

98 1,1K 7

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 98
Dung lượng 1,71 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Trên chữ ký của tài liệu có thông tin người ký xác nhận, và đối tượng đó đãđược xác nhận bởi một tổ chức uy tín, được thế giới công nhận... Các tính năng chủ yếucủa giải pháp:  Quản l

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

KHÓA LUẬN TỐT NGHIỆP

TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG

QUẢN LÝ TÀI LIỆU UIT

Giảng viên hướng dẫn : TH.S NGUYỄN TRÁC THỨC

06520467 - NGUYỄN HÒA THUẬN

Lớp : CNPM01

Khoá :1

TP Hồ Chí Minh, tháng 3 năm 2011

Trang 2

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

TpHCM, ngày ……, tháng ……, năm 2011

Giảng viên hướng dẫn

Trang 3

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

……… Khóa luận đáp ứng yêu cầu của Khóa luận kỹ sư CNTT

TpHCM, ngày ……, tháng ……, năm 2011

Giảng viên phản biện

Trang 4

Chúng em xin gửi lời cám ơn Khoa Công Nghệ Phần Mềm, trường Đại HọcCông Nghệ Thông Tin, ĐH Quốc gia Tp HCM đã tạo mọi điều kiện để chúng em

có thể thực hiện đề tài tốt nghiệp

Chúng em xin chân thành cảm ơn thầy Nguyễn Trác Thức, giảng viên hướngdẫn chúng em thực hiện đề tài này Thầy đã luôn hướng dẫn và chỉ bảo tận tìnhchúng em trong suốt thời gian thực hiện khóa luận

Chúng em cũng xin gửi lời cảm ơn tới tất cả thầy cô trong Khoa Công NghệPhần Mềm đã tận tình giảng dạy, truyền đạt những kiến thức cũng như kinhnghiệm cho chúng em trong suốt thời gian học tập tại trường

Chúng em xin gửi lòng biết ơn sâu sắc đến ba mẹ, các anh chị và bạn bè đãluôn ủng hộ, động viên và giúp đỡ chúng em trong những lúc khó khăn và trongsuốt quá trình học tập và nghiên cứu

Tuy đã cố gắng và nỗ lực hoàn thành luận văn với thời gian và khả năng chophép, nhưng chắc chắn chúng em không tránh khỏi những sai sót và hạn chế, kínhmong sự cảm thông và chỉ bảo tận tình của quý Thầy Cô và các bạn

Nhóm thực hiệnĐoàn Quang Minh - Nguyễn Hòa Thuận

Tp HCM, tháng 03/2011

GVHD: ThS Nguyễn Trác Thức SVTH: Nguyễn Hòa Thuận – Đoàn Quang Minh

Trang 5

Tên Đề Tài: TÌM HIỂU CMIS VÀ PKI TRÊN ALFRESCO, XÂY DỰNG

HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT

Giáo viên hướng dẫn: ThS Nguyễn Trác Thức

Thời gian thực hiên: Từ ngày 1/09/2010 đến ngày 31/03/2011

Sinh viên thực hiện:

Đoàn Quang Minh – 06520285

Nguyễn Hòa Thuận – 06520467

Loại đề tài: Tìm hiểu công nghệ - Nghiên cứu lý thuyết và xây dựng ứng dụngminh họa

Nội Dung Đề Tài:

Tìm hiểu Alfresco: sử dụng, phát triển

Tìm hiểu và triển khai PKI, ứng dụng triển khai chữ ký số

Xây dựng thư viện php CMIS

GVHD: ThS Nguyễn Trác Thức SVTH: Nguyễn Hòa Thuận – Đoàn Quang Minh

Trang 6

Dựng site Joomla ( module, theme cho joomla) tích hợp CMIS, kết nối vớiAlfresco.

02/02/2011 – 15/02/2011:

Viết báo cáo sơ bộ

Tiếp tục xây dựng ứng dụng minh họa

Hoàn thành module chữ ký số cho Alfresco

16/02/2011 – 31/03/2010:

Kết hợp Joomla, Alresco thông qua CMIS để ra sản phẩm ban đầu

Cải thiện giao diện, cải tiến hiệu năng, đánh giá kết quả

01/03/2010 – 15/03/2011:

Triển khai CAS, LDAP cho Alfresco và Joomla

Hoàn thiện báo cáo

Trang 7

1.2 Qui trình hiện tại 1

1.3 Giải pháp 2

Chương 2: CƠ SỞ LÝ THUYẾT (30 trang) 5

2.1 Tổng quan về ECM 5

2.1.1 Khải niệm ECM 5

2.1.2 Những điều cần biết về ECM 5

2.2 Tổng quan Alfresco 6

2.2.1 Tính năng 7

2.2.2 Kiến trúc Alfresco 8

2.2.3 Kiến trúc bậc cao 9

2.2.4 Các Add-On 10

2.2.5 Các Component nguồn mở 10

2.2.6 Các chuẩn và giao thức chính được hỗ trợ 11

2.3 Tổng quan CMIS 13

2.3.1 Đặc tả kỹ thuật 14

2.3.2 Các dịch vụ (Services) 17

2.4 Tổng quan về chữ ký số 18

2.4.1 Khái niệm 18

2.4.2 Chữ ký tay truyền thống và chữ ký số 18

2.4.3 Tính năng 19

2.4.4 Kỹ thuật chữ ký số 20

2.5 Tổng quan mã hóa khóa công khai: 23

2.5.1 Khái niệm 23

2.5.2 Quan hệ khóa và chủ khóa 24

2.5.3 Các dạng chuẩn mã hóa khóa công khai 25

2.6 OTP Token – Yubikey 27

2.6.1 Giới thiệu 27

2.6.2 Thông tin kỹ thuật: 28

2.6.3 Ưu điểm 28

2.7 Giới thiệu iText 29

2.7.1 Giới thiệu 29

2.7.2 Dùng itext để ký file PDF 29

2.7.3 Lưu ý Signature trong iText 30

2.8 Tổng quan jBPM 32

GVHD: ThS Nguyễn Trác Thức SVTH: Nguyễn Hòa Thuận – Đoàn Quang Minh

Trang 8

2.9.2 Ưu điểm 36

2.9.3 Các ứng dụng thực hiện SSO 36

Chương 3: KỸ THUẬT VÀ SẢN PHẨM THỰC TẾ 38

3.1 Hệ thống thư mục và phân quyền 38

3.1.2 Phân quyền 38

3.1.3 Áp dụng vào hệ thống 38

3.2Mô hình Use Case hệ thống 40

3.2.1 Sơ đồ Use case 40

3.2.2 Mô tả Use case 41

3.3 Xây dựng thành phần hệ thống 45

3.3.1 Server Ldap 45

3.3.2 Cài đặt và cấu hình CAS trên tomcat 45

3.3.3 Cấu hình CAS Server xác thực thông qua LDAP 47

3.3.4 Alfresco – Cas – Ldap 48

3.3.5 Joomla – Cas – Ldap 51

3.4 Một số màn hình ứng dụng 54

Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 64

4.1 Kết luận 64

4.2 Nhược điểm giải pháp 66

4.3 Hướng phát triển 66

PHỤ LỤC 68

1.Cấu trúc đĩa ứng dụng 68

2.Qui trình cài đặt ứng dụng 68

3.Tính pháp lý của chữ ký điện tử 69

4 Pháp luật liên quan tới việc sử dụng chữ ký điện tử 71

5 JavaScript API 72

6 Alfresco 74

DANH MỤC TÀI LIỆU THAM KHẢO 81

GVHD: ThS Nguyễn Trác Thức SVTH: Nguyễn Hòa Thuận – Đoàn Quang Minh

Trang 9

Chương 1: Thực trạng và giải pháp Chương đầu tiên nhóm trình bày về hiện

trạng quản lý tài liệu, luận văn và qui trình xử lý thực tế của trường Đề ra giảipháp khắc phục các nhược điểm của cách làm hiện tại

Chương 2: Cơ sở lý thuyết Với giải pháp trên, chương 2 nhóm nói về các

công nghệ sẽ ứng dụng trong giải pháp ở các mặt như: khái niệm, tính năng, ưunhược điểm so với các kỹ thuật tương tự, các thành phần, cấu trúc, cơ chế hoạtđộng của các công nghệ được sử dụng trong đồ án

Chương 3: Kỹ thuật và sản phẩm thực tế Chương 3 nhóm sẽ nói chi tiết về

quá trình cài đặt, xây dựng, triển khai giải pháp

Chương 4: Kết luận và hướng phát triển Những điểm đã làm được và chưa

làm tốt của nhóm cùng định hướng phát triển ứng dụng trong tương lai

GVHD: ThS Nguyễn Trác Thức SVTH: Nguyễn Hòa Thuận – Đoàn Quang Minh

Trang 10

Bảng 2.1: Các component nguồn mở được sử dụng để xây dựng Alfresco

Bảng 2.2: Các chuẩn vào giao thức chính được Alfresco hỗ trợ

Bảng 2.3: Các loại chữ ký của iText

Bảng 2.4: Các thuộc tính chữ ký của iText

Bảng 3.1: Phân quyền áp dụng trên Joomla

Bảng 3.2: Phân quyền trên thư mục của Alfresco

Bảng 3.3: Phân quyền áp dụng trên Alfresco

Bảng 3.4: Bảng mô tả màn hình sau khi đăng nhập cho quyền sinh viên

Bảng 3.5: Bảng mô tả màn hình sau đăng nhập cho quyền phòng ban

Bảng 3.6: Bảng mô tả màn hình xem trước tài liệu

Bảng 3.7: Bảng mô tả màn hình thông tin tài liệu cho quyền sinh viên

Bảng 3.8: Bảng mô tả màn hình bình luận tài liệu

Bảng 3.9: Bảng mô tả màn hình minh họa sign tài liệu

Bảng 3.10: Bảng mô tả màn hình tác vụ khi xem trước của quyền phòng ban Bảng 3.11: Bảng mô tả màn hình assign workflow

GVHD: ThS Nguyễn Trác Thức SVTH: Nguyễn Hòa Thuận – Đoàn Quang Minh

Trang 11

Hình 2.1: Mô hình tổng quan ECM

Hình 2.2: Sơ đồ tính năng Alfresco

Hình 2.3: Sơ đồ kiến trúc bậc cao của Alfresco

Hình 2.4: Mô hình dữ liệu của CMIS

Hình 2.5: Mô hình cơ chế hoạt động bậc cao của CMIS trên Alfresco

Hình 2.6: Mô hình tổng quan giao thức kết nối của CMIS

Hình 2.7: Quá trình tạo chữ ký số

Hình 1.8: Quá trình kiểm tra và xác nhận chữ ký

Hình 2.9: Thiết bị Yubikey

Hình 2.10: Ví dụ minh họa qui trình jBPM

Hình 2.11: Sơ đồ các giai đoạn của BPM

Hình 2.12: Sơ đồ tổng quan hoạt động của jBPM

Hình 3.1: Sơ đồ hệ thống thư mục Alfresco

Hình 3.2: Màn hình sau khi đăng nhập cho quyền sinh viên

Hình 3.3: Màn hình sau khi đăng nhập cho quyền phòng ban

Hình 3.4: Màn hình xem trước tài liệu

Hình 3.5: Màn hình thông tin tài liệu cho quyền sinh viên

Hình 3.6: Màn hình bình luận, đánh giá tài liệu

Hình 3.7: Màn hình minh họa sign tài liệu

Hình 3.8: Màn hình tác vụ khi xem trước của quyền phòng ban

Hình 3.9: Màn hình assign workflow

Hình 3.10: Màn hình Upload tài liệu

GVHD: ThS Nguyễn Trác Thức SVTH: Nguyễn Hòa Thuận – Đoàn Quang Minh

Trang 12

Hình 3.12: Sơ đồ Use Case

GVHD: ThS Nguyễn Trác Thức SVTH: Nguyễn Hòa Thuận – Đoàn Quang Minh

Trang 13

ECM : Enterprise Content Management

CMS : Content Management System

CMIS : Content Management Interoperability Services

PKI : Public Key Infrastructure

CRUD : create, read, update, delete

UIT DM : UIT Document Management

OTP : One Time Password

GVHD: ThS Nguyễn Trác Thức SVTH: Nguyễn Hòa Thuận – Đoàn Quang Minh

Trang 14

Repository : Kho chứa tài liệu

Single Sign On : Cơ chế đăng nhập một lần trên hệ thống tích hợp

Advanced workflow : Luồng công việc phức tạp

OTP Token : Thiết bị OTP

Public/Private key : Cặp khóa công khai, khóa bí mật – một thành tố quan trọngcủa cơ sở hạ tầng khóa công khai

GVHD: ThS Nguyễn Trác Thức SVTH: Nguyễn Hòa Thuận – Đoàn Quang Minh

Trang 15

Chương 1: THỰC TRẠNG VÀ GIẢI PHÁP

1.1 Nhu cầu thực tế

Trường Đại học Công Nghệ Thông Tin – ĐHQG HCM đã trải qua 4 năm hìnhthành và phát triển Năm 2011, nhà trường tổ chức bảo vệ luận văn tốt nghiệp chosinh viên khóa I (2006 - 2011) Số lượng nhóm sinh viên được bảo vệ lên đến gần

200 với số luận văn tương đương Chưa kể đến 7 khóa trước đây được đào tạo từ

xa, khó có thể ước lượng đầy đủ Đây là kho tài liệu và kiến thức giá trị cần đượclưu trữ tốt, dành tra cứu về sau

Ngoài luận văn, phần lớn giấy tờ, công văn của các phòng ban vẫn được lưu trữdạng vật lý (dạng truyền thống – giấy tờ) Điều này dẫn đến việc nhận và xử lý cácyêu cầu về giấy tờ của sinh viên tốn nhiều thời gian và công sức

1.2 Qui trình hiện tại

Hiện tại, luận văn của sinh viên tại trường đang được lưu trữ dạng quyển ở khochứa kèm CD, DVD ứng dụng Cách lưu trữ cổ điển này có nhiều nhược điểm:

Diện tích và không gian lưu trữ lớn : Với số lượng luận văn lớn và ngày càng

gia tăng theo thời gian, nhà trường cần phòng chứa với diện tích lớn cùng hệ thốngđiện, điều hòa không khí giúp bảo quản tài liệu ở điều kiện tốt nhất

Nhân lực khá lớn: Cần ít nhất là 2 nhân lực làm việc toàn thời gian, kiên nhẫn

và làm việc có trách nhiệm cho việc sắp xếp và kiểm tra cũng như theo dõi tìnhtrạng tài liệu Nhu cầu nhân lực sẽ gia tăng theo thời gian

Tìm kiếm rất khó khăn Để có thể tra cứu 1 tài liệu trong kho, người có nhu

cầu cần qua một qui trình rườm rà, phức tạp và mất thời gian mới có thể tìm thấytài liệu cần thiết

Tài liệu dễ hư hỏng Tuy được bảo quản với điều kiện tốt nhưng các quyển

luận văn khó tồn tại lâu dài Các đĩa CD, DVD ứng dụng sẽ hỏng sau 2 năm dosinh viên thường dùng đĩa chất lượng kém Ngoài ra, quá trình truy cứu, mượn trả

dễ dàng gây hư hỏng tài liệu

Di chuyển tài liệu khó khăn: Khi cần di chuyển kho chứa tài liệu qua địa điểm

khác, chi phí nhân vật lực rất tốn kém, dễ gây hư hỏng tài liệu

Trang 16

Qui trình xử lý giấy tờ và công văn hiện tại khá rườm rà, thủ công Các quitrình như xử lý xét học bổng cho sinh viên, duyệt bảng điểm phải qua nhiều bước

và thời gian chờ xử lý cho từng bước là khá dài, hiệu quả chưa cao

Tốn ít nhân lực và không gian Thay vì cần một kho chứa lớn cho việc lưu trữ

tài liệu dạng vật lý (luận văn, đĩa phần mềm, giấy tờ, công văn), ECM chỉ cần mộtkhu vực nhỏ cho Server và một admin để quản lý Công việc quản lý khá nhẹnhàng nên có thể do admin chung của nhà trường thực hiện Tài liệu được số hóa

và upload lên server theo cấu trúc qui định

Tìm kiếm dễ dàng, nhanh chóng Với tất cả tài liệu được số hóa và lưu trữ

trên hệ thống server Chỉ với thao tác đơn giản từ website, người dùng có thể tìmthấy tài liệu họ cần

Tính năng phiên bản hóa tài liệu Tài liệu mỗi lần được sửa đổi sẽ được lưu

lại thành một phiên bản Cho phép trở lại phiên bản cũ và quản lý những ngườidùng đã tác động vào tài liệu

Hệ thống phân quyền mạnh mẽ ECM cung cấp phân quyền động trên từng

folder hay từng file, cho phép người quản trị kiểm soát tốt người dùng trên hệthống

Tính bảo mật cao Được cung cấp sức mạnh bởi các framework mạnh mẽ về

bảo mật, hệ thống ECM an toàn trước phần lớn các tấn công ác ý

Giải pháp backup tiện lợi Tài liệu lưu trữ có thể được backup định kỳ hàng

tuần hoặc tháng và phục hồi dễ dàng nhờ công cụ được hỗ trợ từ ECM Tránh tìnhtrạng tài liệu bị mất do hư hỏng hoặc lỗi hệ thống

Tài liệu có thể xem như không thể hư hỏng Tình huống có khả năng gây hư

hỏng tài liệu là lỗi phần cứng hoặc lỗi trong quá trình xử lý tài liệu Nếu thực hiệnnghiêm túc quá trình backup hệ thống kèm theo cấu hình clustering cho server, khảnăng gây lỗi là rất nhỏ

Trang 17

Dung lượng lưu trữ chỉ bị giới hạn bởi kinh phí Thật vậy, theo thời gian hệ

thống có thể sẽ bị quá tải nhưng việc nâng cấp khá đơn giản với chi phí thấp hơnnhiều so với giải pháp truyền thống

Dù có nhiều ưu điểm, hệ thống ECM cũng không tránh khỏi nhược điểm.Trong số đó, điểm yếu lớn nhất của ECM là giao diện quản lý phức tạp và khó sửdụng Giải pháp tích hợp ECM vào CMS sẽ giúp giải quyết vấn đề này Việc tíchhợp sẽ cho ra đời một sản phẩm thừa hưởng nguồn sức mạnh của kho chứa ECM

và giao diện thân thiện người dùng từ CMS

Người dùng sẽ không cần quan tâm đến kho chứa (ECM - repository) bên dưới

mà chỉ cần tương tác với hệ thống CMS (website của nhà trường)

Khi hệ thống quản lý tài liệu truyền thống đã được thay thế bởi ECM, một nhucầu khác xuất hiện Lúc này, qui trình nộp đơn – ký duyệt không còn phù hợp vìtoàn bộ tài liệu, hồ sơ đã được số hóa Chữ ký số sẽ giải quyết vấn đề trên vớinhiều ưu điểm

Nếu như với cách lưu trữ truyền thống, các văn bản chỉ thực sự được xem là cógiá trị, thể hiện sự công nhận đối với văn bản thông qua chữ ký của một cá nhân,con dấu của một tổ chức Thì khi chuyển sang lưu trữ tài liệu dạng số, vấn đề kýxác nhận các văn bản điện tử đó là vấn đề quan trọng hàng đầu đề đảm bảo cácđiều kiện văn bản số được thừa nhận

 Làm sao biết được tài liệu đó có bị ai chỉnh sửa cho đến khi người nhận cóđược tài liệu có được nó ?

 Làm sao biết được ai sẽ đứng ra chịu trách nhiệm về nội dung ghi trong tàiliệu đó ?

 Tài liệu đó chắc chắn được gửi từ ai, tài liệu này có đáng tin hay khôngcóphải một tài liệu giả mạo hay không ?

Với một tài liệu dạng số, việc chỉnh sửa, hay giả mạo là hoàn toàn dễ dàng Do

đó yêu cầu với tài liệu dạng số về độ tin cậy rất cao Chữ ký số được ra đời để giảiquyết vấn đề cốt lỗi đó Với một tài liệu số có chữ ký hợp lệ, cho ta biết các thôngtin về tài liệu :

 Tài liệu đó có nguyên bản so với văn bản gốc: tức không hề bị chỉnh sửabởi một người nào khác hay bị hư hỏng trong quá trình lưu trữ hay không

 Trên chữ ký của tài liệu có thông tin người ký xác nhận, và đối tượng đó đãđược xác nhận bởi một tổ chức uy tín, được thế giới công nhận

Trang 18

 Việc 1 chữ ký xuất hiện trong tài liệu, khiến người ký sau này không thếnào khước từ tài liệu đó Hay nói cách khác, chữ ký số có tính chất chốngchối bỏ về sau.

Với tình hình thực tế, ý nghĩa thiết thực của đề tài, cũng như sự đam mê vềcông nghệ chữ ký số, nhóm đã quyết định tìm hiểu và đưa chữ ký số kết hợp với

hệ thống quản lý tài liệu vào luận văn tốt nghiệp Tạo thành một hệ thống quản lýtài liệu đầy tiện lợi, linh hoạt, mạnh mẽ và chuyên nghiệp Các tính năng chủ yếucủa giải pháp:

 Quản lý tài liệu chuyên nghiệp với nền tảng là ECM Alfresco với các tínhnăng cao cấp: fulltext search, workflow, quản lý phiên bản, bảo mật nộidung…

 Tích hợp với trung tâm chứng thực “đăng nhập 1 một cửa” - Single Sign Ongiúp dễ dàng tích hợp và đồng bộ hóa cơ sở dữ liệu tài khoản người dùngvới các hệ thống khác về sau cũng như hệ thống sẵn có

 Triển khai CMIS để quản lý tập trung nội dung từ các CMS, ECM khác Dễdàng tích hợp với các hệ thống quản lý nội dung khác có sẵn hay cả các hệthống về sau này

 Tính năng enterprise, dùng chứng thư số để triển khai chữ ký số, tạo tínhpháp lý, tăng cường độ tin cậy cho tài liệu được kí

Bên cạnh hệ thống chứng thực SSO, UIT DM còn dùng thiết bị One TimePassword (OTP Token) để tăng cường tính bảo mật đăng nhập cho hệ thống

Trang 19

Chương 2: CƠ SỞ LÝ THUYẾT

2.1 Tổng quan về ECM

2.1.1 Khải niệm ECM

Enterprise Content Management (ECM) là những chiến lược, phương thức vàcông cụ được sử dụng để thu thập, quản lý, lưu trữ, bảo toàn và phân phối các nộidung và tài liệu liên quan đến các qui trình của tổ chức ECM bao trùm việc quản

lý thông tin trên toàn bộ phạm vi một doanh nghiệp dù những thông tin đó có ởdạng tài liệu giấy, file dữ liệu, cơ sở dữ liệu hay thậm chí là email

2.1.2 Những điều cần biết về ECM

ECM là một thuật ngữ bao gồm quản lý tài liệu, quản lý nội dung web, tìmkiếm, cộng tác, quản lý hồ sơ, quản lý tài sản số (Digital Asset Management -DAM), quản lý qui trình, thu thập và quét (scanning) tài liệu ECM chủ yếu nhắmđến việc quản lý vòng đời của thông tin từ xuất bản ban đầu hay khởi tạo cho đếnlưu trữ và cuối cùng là tiêu hủy Các ứng dụng ECM được phân phối theo phươngthức: On-Premise Software (phần mềm được cài đặt trên mạng riêng của tổ chức),Software as a Service (SaaS) - truy cập thông tin lưu trữ trên hệ thống của nhà sảnxuất phần mềm qua giao thức web, hoặc một giải pháp lai giữa hai loại vừa nêu

Hình 2.1: Mô hình tổng quan ECM

Trang 20

ECM nhắm đến mục tiêu làm việc quản lý thông tin trong doanh nghiệp trở nên

dễ dàng hơn thông qua việc đơn giản hóa lưu trữ, bảo mật, kiểm soát phiên bản,định tuyến qui trình và sử dụng Nhờ đó, một tổ chức sẽ được nhiều lợi ích như:hiệu suất gia tăng, khả năng kiểm soát tốt hơn và giảm thiểu chi phí Ví dụ nhiềungân hàng đã chuyển sang dùng các hệ thống ECM để lưu trữ bản sao của các hồ

sơ, giấy tờ thay vì cách làm cũ, giữ lại các bản gốc trong những kho tài liệu khổng

lồ Với hệ thống cũ, một khách hàng gọi điện yêu cầu bản sao của một tấm séc cóthể mất nhiều tuần Với ECM, các nhân viên ngân hàng chỉ cần tìm kiếm theo sốtài khoản của khách hàng và số của tấm séc Khi tìm thấy, họ có thể email ngaycho khách hàng - lúc đó khách hàng thường vẫn còn đang nghe máy

Một số hệ thống ECM hiện tại: Documentum, Alfresco, Laserfiche, FileNet,OpenText, SharePoint

Hầu hết các ECM trên đều là giải pháp có phí do các hãng lớn cung cấp như:FileNet từ IBM, SharePoint của Microsoft, Documentum của EMC Corporation.Các giải pháp phần mềm này được bán theo gói bao gồm cả hệ thống phần cứngvới chi phí đắt đỏ Nhóm quyết định chọn Alfresco cho giải pháp Quản lý tài liệu ởnhà trường do các ưu điểm nổi bật: mã nguồn mở và miễn phí, cộng đồng pháttriển to lớn, khả năng mở rộng chức năng cao, tích hợp workflow engine jBPM, hỗtrợ CMIS

2.2 Tổng quan Alfresco

Alfresco là một hệ thống ECM mã nguồn mở dùng cho Microsoft Windows vàcác hệ điều hành tương tự Unix khác Alfresco có hai phiên bản: AlfrescoCommunity Edition là phần mềm miễn phí dựa trên các chuẩn mở và giấy phép mãnguồn mở LGPL Alfresco Enterprise Edition là phiên bản thương mại cho đốitượng doanh nghiệp Alfresco bao gồm một kho quản trị nội dung (contentrepository), đi cùng một web portal framework dùng cho việc quản lý và sử dụngnội dung được lưu trữ, một giao thức CIFS hỗ trợ tương thích với hệ thống file trênMicrosoft Windows và các hệ điều hành tương tự Unix khác, một hệ thống quản lýnội dung web có khả năng xây dựng các ứng dụng web và website tĩnh quaApache Tomcat, engine tìm kiếm Lucene, engine qui trình jBPM Hệ thốngAlfresco được phát triển trên công nghệ Java

John Newton (đồng sáng lập Documentum) và John Powell (cựu COO củaBusiness Objects) đã sáng lập Alfresco Software, Inc vào năm 2005 Các nhà đầu

tư bao gồm bộ phân đầu tư của SAP Ventures, Accel Partners và Mayfield Fund.Đội ngũ kỹ thuật ban đầu gồm các kỹ sư từ Documentum và Oracle

Trang 21

Vào tháng 10 năm 2009, báo cáo Open Source CMS Market Share 2009 đã tônvinh Alfresco là hệ thống quản trị nội dung web nền Java hàng đầu.

Phiên bản Alfresco hiện tại là 3.4d ra mắt ngày 15 – 03 – 2011 Nhóm hiệndùng phiên bản 3.3

Records Management (quản lý hồ sơ theo chứng chỉ 5015.2)

Truy cập kho dữ liệu (Repository) qua CIFS/SMB, FTP, WebDAV, NFS vàCMIS

Trang 22

jBPM workflow (engine qui trình jBPM) Lucene search (engine tìm kiếmLucene )

Hỗ trợ đa nền tảng (chính thức hỗ trợ Windows, Linux và Solaris)

Giao diện người dùng nền trình duyệt (hỗ trợ chính thức cho Internet Explorer

và Firefox)

Tích hợp với ứng dụng desktop như Microsoft Office và OpenOffice.org

Hỗ trợ Clustering

Hỗ trợ nhiều hình thức chứng thực: NTLM, LDAP, Kerberos, CAS

Hỗ trợ nhiều hệ quản lý cơ sở dữ liệu mạnh mẽ: mysql, postgresql, oracle

2.2.2 Kiến trúc Alfresco

Nhiều đối thủ cạnh tranh của Alfresco(phần lớn là closed-source) có thiết kếphức tạp bao gồm nhiều công nghệ đôi khi đối lập nhau Theo thời gian, kiến trúccủa các ECM này ngày càng cồng kềnh làm giảm hiệu năng và tính ổn định hệthống Alfresco không đi theo con đường đó Alfresco bảo đảm các điều kiện sau:Tương đối đơn giản và minh bạch trong kiến trúc

Xây dựng từ các framework và các component nguồn mở mạnh mẽ và uy tínnhất

Hỗ trợ nhiều phương thức tương tác với dữ liệu và các chuẩn liên quan

Dưới đây là sơ đồ kiến trúc bậc cao của Alfresco

Trang 23

Hình 2.3: Sơ đồ kiến trúc bậc cao của Alfresco

2.2.3 Kiến trúc bậc cao

Một số điểm quan trọng ở kiến trúc Alfresco từ sơ đồ trên:

Có nhiều cách để truy cập nội dung bên trong Repository Ta có thể dùng cácgiao thức (CIFS, WebDAV, FTP, SMTP) hoặc các bộ thư viện được cung cấp sẵn

ở bên phải sơ đồ (JavaScript API, Web Services, JCR, )

Alfresco hoạt động dưới dạng một ứng dụng web bên trong một ServletContainer Trong đó, web client (Alfresco Explorer) chạy cùng một tiến trình vớiRepository

Các thành phần mở rộng(extension) và các tùy chỉnh(customization) hoạt độngnhư một bộ phận của ứng dụng web Alfresco Alfresco định ra một cơ chế để táchrời các phần này khỏi nhân sản phẩm giúp dễ dàng nâng cấp về sau

Metadata được lưu trữ trong một cơ sở dữ liệu quan hệ(Relation DB) trong khicác file tài liệu và các chỉ mục (index) của Lucene lưu trên hệ thống file của máychủ

WCM Virtualization Server là một bộ Webserver Tomcat với các cài đặt củaAlfresco cùng các bộ thư viện dạng file JAR được Alfresco sử dụng

Trang 24

2.2.4 Các Add-On

Alfresco cho phép cài đặt thêm các phần tính năng chưa được nhân sản phẩm

hỗ trợ gọi là Add-On Ta có thể download về nhiều gói Add-On do Alfresco cộngđồng phát triển, hoặc bên thứ ba cung cấp Một số Add-On quan trọng là RecordsManagement và bộ tích hợp Facebook (Alfresco cung cấp), bộ tích hợp giải phápOCR Kofax do Kofax cung cấp và các gói ngôn ngữ dùng cho việc bản địa hóa(localize) webclient của Alfresco

2.2.5 Các Component nguồn mở

Alfresco được xây dựng trên nhiều component nguồn mở chất lượng cao Nhờ đóviệc phát triển mất ít thời gian hơn và kết quả thu được là một sản phẩm mạnh mẽ,

hỗ trợ nhiều chuẩn thông dụng Lợi ích thứ hai dành cho các nhà phát triển Họ sẽ

dễ dàng chuyển đổi từ nền tảng đang làm việc sang Alfresco Ví dụ nếu lập trìnhviên đã có kiến thức về JSF(JavaServer Faces) hoặc Spring thì khi làm việc vớiAlfresco, họ sẽ phát hiện nhiều cách làm tương tự

Bảng dưới đây liệt kê danh sách một số component nguồn mở chính được sử dụng

Component JSF dùng cho web client

FreeMarker (http://freemarker.org/) Framework tạo giao diện Web script

Mozilla Rhino JavaScript Engine

Trang 25

Chuyển đổi XSL:FO thành PDF

Apache POI (http://poi.apache.org/) Rút trích metadata từ file MS Office

Chiba (http://chiba.sourceforge.net/) Tạo các Web Form dựa trên XForms

Bảng 2.1: Các component nguồn mở được sử dụng để xây dựng Alfresco

2.2.6 Các chuẩn và giao thức chính được hỗ trợ

Alfresco là phần mềm nguồn mở Vì thế việc hỗ trợ các chuẩn và giao thức là rấtquan trọng, giúp Alfresco có khả năng phối hợp tốt hơn với các dự án nguồn mởkhác Dưới đây là một số chuẩn và giao thức chính được hỗ trợ

Chuẩn/Giao thức Ghi chú

Alfresco chưa hỗ trợ Secure FTP

WebDAV WebDAV là giao thức trên nền HTTP thường được hỗ trợ

bởi các nhà cung cấp ECM WebDAV cho phép WindowExplorer truy cập Repository như trên file hệ thống

cho nhiều máy trong một hệ thống Khác với WebDAV,người dùng không thể thấy được sự khác biệt giữ fileserver truyền thống và Alfresco Repository được dùng nhưđĩa cứng mạng qua CIFS

JCR API

(JSR-170)

JCR là một bộ API Java cho phép làm việc với các kho nộidung như Alfresco Có 2 cấp độ tương thích với JCR,

Trang 26

Alfresco gần đạt độ tương thích cấp 2 với chuẩn JCR.

XForms, XML

Schema

Các Web form được định nghĩa bằng XML Schema Chưa

hỗ trợ hết các XForm

XSLT, XSL:FO Dữ liệu từ Web form sẽ được chuyển đổi bằng XSL 1.0

server Microsoft Active Directory

Bảng 2.2: Các chuẩn vào giao thức chính được Alfresco hỗ trợ

Để tích hợp Alfresco với CMS ta có 2 giải pháp: sử dụng WebService APIđược Alfresco cung cấp hoặc CMIS So với Alfresco WebService API, CMIS cócác ưu điểm sau:

Chỉ cần viết một lần, chạy với tất cả các Repository CMIS là chuẩn đặc tả

chung do các nhà phát triển ECM lớn nhất lập ra Ngày càng nhiều ứng dụng ECMtham gia hỗ trợ Do đó, việc tích hợp chỉ cần làm một lần Nếu cần kết nối thêmmột Repository của ECM khác, nhà phát triển chỉ cần thiết lập các thông số màthôi

Tích hợp đa Repository CMIS cho phép làm việc cùng lúc với một hoặc

nhiều ECM Ưu điểm này có được do phần lớn các nhà phát triển ECM đồng thuận

hỗ trợ CMIS

Hỗ trợ Quản lý qui trình nghiệp vụ xuyên suốt các Repository Hiện nay

phiên bản 0.9 của đặc tả CMIS chưa hỗ trợ Tuy nhiên tính năng này được các nhàphát triển hứa hẹn sẽ ra mắt trong phiên bản tiếp theo

Người dùng chỉ cần học cách dùng một giao diện cho tất cả Repository.

Điều này có được do khả năng tích hợp đa Repository Việc này rất tiện lợi cho

Trang 27

người dùng vì một lần tiếp xúc với giao diện mới họ sẽ gặp nhiều khó khăn gầnnhư học lại từ đầu.

Việc sử dụng CMIS tạo cho giải pháp tích hợp khả năng mở rộng cao trongtương lai, khi cần tích hợp thêm một hoặc nhiều Repository của nhà cung cấpkhác

2.3 Tổng quan CMIS

Mục tiêu của Content Management Interoperability Services (CMIS) là cungcấp một tập các dịch vụ(services) tương tác với các hệ quản trị nội dung Chuẩnnày được sáng lập bởi IBM, Microsoft

và EMC và mở rộng ra năm 2007 với

Alfresco, Open Text, SAP, và Oracle

Hiện tại CMIS sở hữu bởi Hội đồng

kỹ thuật(Technical Committee)

OASIS

CMIS không phải là một đặc tả ngôn ngữ, nó không diễn giải cách mà một hệquản trị nội dung làm việc và không phải là các dịch vụ giúp mở rộng tính năngcho các hệ quản trị nội dung Mục tiêu của CMIS là định nghĩa tập các hàm thôngdụng khi làm việc với các hệ quản trị nội dung và các dịch vụ Cả REST và SOAPđều được hỗ trợ bởi CMIS Những người quan tâm đến CMIS thường nói rằngchuẩn này có tầm quan trọng với các hệ quản trị nội dung ngang với tầm quantrọng của SQL với các ứng dụng database cuối những năm 80 đầu những năm 90.Ngay lúc này đây, cộng đồng phát triển đang rất quan tâm đến CMIS, các công cụclient và tích hợp dựa trên CMIS đang dần lộ diện CMIS ngày càng có được hỗtrợ nhiều từ các nhà cung cấp ECM lớn trên toàn thế giới

Xuất phát từ vấn đề hầu hết các doanh nghiệp lớn đều sử dụng nhiều côngnghệ trong việc trình bày nội dung và nhiều hệ quản trị nội dung khác nhau Nếumuốn tập hợp nội dung và trình bày dưới một giao diện đồ họa chung, các doanhnghiệp, tổ chức phải tốn nhiều thời gian và tiền bạc để viết riêng cho mình nhữngservice riêng giúp tích hợp chúng lại với nhau Vấn đề ở chỗ các hệ quản trị nộidung có giao diện đặc trưng của riêng mình Lúc này, CMIS sẽ giải quyết vấn đềbằng cách cung cấp một tập những dịch vụ nằm phía trên các hệ quản trị nội dung.Chỉ cần tầng trình bày của bạn(website, portal) hỗ trợ REST hay SOAP, nó có thểlàm việc với bất kỳ hệ quản trị nội dung(ECM) nào tương thích với CMIS, bấtchấp cài đặt bên dưới Front-end không còn phụ thuộc vào back-end Bất kỳ ứngdụng front-end nào cũng có thể giao tiếp với hệ quản trị nội dung bất kỳ Một nhàphát triển Drupal có thể dùng module Drupal CMIS để giao tiếp với Alfresco và

Trang 28

không cần phải làm gì thêm khi chuyển từ Alfresco sang dùng Open Text haySharepoint Và những ai đã từng tham gia tìm hiểu CMIS module của Drupal sẽ cóthể chuyển qua phát triển các module tương tự cho các ứng dụng khác mà khôngcảm thấy khó khăn vì kết quả trả về của Alfresco hoàn toàn tương tự

2.3.1 Đặc tả kỹ thuật

Đặc tả của CMIS gồm 226 trang nhưng hầu hết là tài liệu cơ bản về API, ta cóthể bỏ qua đến khi nào cần có thể tra lại Tài liệu đặc tả là thứ nhất thiết phải cókhi làm việc với CMIS

Trong tài liệu đặc tả, CMIS định nghĩa: một Domain Model, một ngôn ngữ truyvấn, các giao thức kết nối, một tập các dịch vụ chuẩn

Dưới đây là những vấn đề chính trong đặc tả kỷ thuật của CMIS:

Domain Model:

Domain Model định nghĩa các khái niệm và quan hệ giữa các hệ quản trị nộidung giúp tìm được tiếng nói chung, thứ ngôn ngữ chung cho tất cả Ví dụ, mộtRepository là một kho chứa các đối tượng Kho chứa có một tập các khảnăng”capabilities” có thể khác biệt tùy thuộc vào kiến trúc của từng repository.Một Repository có thể có các khả năng tùy biến khác nhau nhưng vẫn tương thíchvới CMIS

Đối tượng(Objects) là các phần tử mà Repository quản lý Tất cả Object đều cómột Object Type Một Object Type là một lớp các đối tượng sẽ có chung tính chất

và các thuộc tính Cấu trúc của lớp đối tượng mang tính thừa kế nên các lớp con sẽthừa kế các thuộc tính của cha chúng

Chỉ có 4 dạng đối tượng chính: Document, Folder, Relationship, và Policy.Trong đó Policy là chính sách phần quyền cho đối tượng

Dưới đây là hình ảnh của mô hình CMIS Domain Model:

Trang 29

Hình 2.4: Mô hình dữ liệu của CMISNhư trong ảnh trên , cả 4 lớp đối tượng đều chia sẽ một tập các thuộc tính nhưtype ID, tên hiển thị, đối tượng có thể truy vấn được không, đối tượng có thể đượcquản lý bởi policy không…

Một đối tượng có nhiều thuộc tính, mỗi thuộc tính có một tập các tính chất nhưproperty ID, tên hiển thị, tên truy vấn… CMIS cho phép mở rộng các lớp mặcđịnh của mình tạo nên những lớp đối tượng đặc biệt Việc làm thế nào những lớpđối tượng đặc biệt được định nghĩa phụ thuộc vào cấu trúc bên dưới củaRepository

Đối tượng Document là đối tượng duy nhất có thể thực hiện phiên bản hóa.Mỗi phiên bản của một Document là một bản sao của nó và có một ID của riêngmình Nhiều phiên bản của môt đối tượng sẽ chia sẻ một series ID

Một Content Stream là một dòng byte dữ liệu, ta có thể hình dung như một file.Một đối tượng Document không nhất thiết phải có một content stream Folderkhông có content stream Repository có thể có những qui trình khác nhau cho việccập nhật content stream Đó là phần việc của hệ quản trị nội dung Nhiệm vụ củaCMIS là cung cấp thông tin và thông báo cho các ECM biết chúng cần làm gì

Trang 30

Ngôn ngữ truy vấn (Query Language )

CMIS đặc tả một ngôn ngữ truy vấn dựa trên SQL – 92 Ngôn ngữ này hỗ trợjoin khá giới hạn Tùy vào Repository, nó có thể thực hiện cả truy vấn toàn vănbản (full text) hoặc chỉ metadata

Các giao thức kết nối.(Protocol Bindings)

Để tương thích hoàn toàn với CMIS, một repository cần cung cấp 2 dạng kếtnối yêu cầu bởi đặc tả: RESTful AtomPub và Web Services (SOAP) Khi đó, cách

mà các repository sẽ tiến hành cài đặt kết nối tùy thuộc vào từng repository

Hình dưới đây cho thấy cách Alfresco cài đặt CMIS ở cấp cao:

Hình 2.5: Mô hình cơ chế hoạt động bậc cao của CMIS trên Alfresco

Sử dụng dạng kết nối RESTful AtomPub, một client sẽ bắt đầu với URL củatrang thông tin từ Repository (dịch vụ getRepositoryInfo) Máy khách có thể dựavào những liên kết trên được Repository cung cấp để tạo những request GET,POST, PUT, DELETE với Repository

Response từ request tạo qua kết nối AtomPub hầu hết đều ở dạng một feedAtom XML hay một entry Atom XML Thông thường response được mở rộng đểkèm theo các tag đặc biệt của CMIS Ta có thể dùng thư viện đặc tả Atom nhưApache Abdera để rút trích kết quả

Trang 31

Hình 2.6: Mô hình tổng quan giao thức kết nối của CMISWebservice kết nối dùng SOAP Có 2 tài liệu XSD tạo nên WSDL cho service:một định nghĩa data model, cái còn lại định nghĩa format của message Những dịch

vụ được Webservice hỗ trợ hoàn toàn giống với danh sách các dịch vụ được liệt kêdưới đây

2.3.2 Các dịch vụ (Services)

Không phụ thuộc vào dạng kết nối, CMIS cung cấp một tập các service baogồm:

Repository Services: dùng tìm hiểu thông tin và năng lực của repository

Navigation Services: dùng để di chuyển trên hệ thống cây thư mục của

repository

Object Services: dùng thực hiện các hàm CRUD trên các đối tượng

Multi-filing Services: nếu repository hỗ trợ việc đặt một file vào nhiều folder,

dịch vụ này sẽ thực hiện

Discovery Services: dùng để truy vấn tài liệu lưu trữ

Versioning Services: dùng để check out và làm việc về phiên bản với các đối

Trang 32

ACL Services: có thể không được hỗ trợ bởi một số repository, dịch vụ này

dùng để lấy thông tin và quản lý ACL của một đối tượng

Các dịch vụ trên chia sẻ một vài đặc tính chung Ví dụ:

 Hầu hết các dịch vụ trả về một danh sách có thể được chuyển thành một tậpkết quả có thể phân trang

 Dịch vụ trả về đối tượng có thể thường trả về thông tin kèm theo về nhữngđối tượng đó nếu bạn yêu cầu ví dụ relationships, ACL, rendition và nhữnghành vi hợp lệ

 Mọi service đều có thể trả về các ngoại lệ (exception)

Chữ ký số và khóa công khai có mối quan hệ mật thiết với nhau Vì như đã nóichữ ký số được triển khai trên nền khóa công khai và chỉ có khóa công khai mới có

đủ điều kiện triển khai chữ ký số

2.4.2 Chữ ký tay truyền thống và chữ ký số

Đối với các tài liệu, văn bản được lưu trữ bằng giấy, để có thể được công nhận

là có giá trị thì cần có chữ ký tay, con dấu, mộc đỏ…gọi chung là chữ ký truyềnthống Nhưng ngày nay khi mà nhu lưu trữ tài liệu dạng số ngày càng cao, các vănbản được số hóa : scan thành file ảnh,hay văn bản dạng plain text thì việc giả mạochữ ký trở nên dễ dàng hay nói cách khác chữ ký truyền thống đã mất đi ý nghĩatrong phương diện lưu trữ số

Trang 33

Để giải quyết vấn đề này, các tổ chức bảo mật thế giới cho ra đời khái niệmchữ ký số, nhằm thay thế chữ ký truyền thống trên phương diện số.

So với việc dùng tài liệu giấy với loại chữ ký tay truyền thống hay các condấu, mộc đỏ, thì chữ ký số trên tài liệu điện tử còn cung cấp thêm khả năng đảmbảo về nguồn gốc của tài liệu, định danh và trạng thái của tài liệu điện tử cũng nhưviệc ký xác nhận , phê chuẩn vào các ký ước Bên cạnh đó, chữ ký số ra đời còntăng cường tinh an toàn, độ tin cậy trong các hoạt động: giao dịch kinh doanh, lưuchuyển công văn trong các tổ chức, các giao dịch tài chính, giao dịch thương mạiđiện tử quốc tế, điện tín, email…

2.4.3 Tính năng

Chữ ký số trên một tài liệu điện tử cho cung cấp tính năng

Chứng thực: Mặc dù các thông điệp thường đính kèm thông tin về người gửi

thông điệp, nhưng chúng có thể bị thay đổi dễ dàng dẫn đến không còn đúng đắn.Chữ ký số có thể dùng để xác minh nguồn gốc của thông điệp Ứng với mỗi khóa

bí mật của chữ ký số là 1 cá nhân xác định về thông tin, nguồn gốc , một chữ kýhợp lệ cho ta biết cá nhân nào đã ký thông tin đó Đó là vấn đề quan trọng đối vớicác tài liệu tối mật, chẳng hạn một chi nhánh của ngân hàng yêu cầu trung tâmthay đổi số cho một tài tài khoản Nếu trung tâm không kiểm tra nguồn gửi cóđược xác thực hay chưa, mà hành động theo mail thì hậu quả thật nguy hiểm.Việc xác định danh tính người ký thông qua chữ ký hợp lệ hoàn toàn có thể tintưởng được, vì người đó đã được xác minh bởi một bên thứ ba – tổ chức cấp chứngchỉ điện tử

Tính toàn vẹn dữ liệu:Trong nhiều tình huống, người gửi và người nhận cần

đảm bảo các dữ liệu quan trọng phải không bị chỉnh sửa trong quá trình lưuchuyển Mặc dù mã hóa có thể ẩn đi nội dung của thông điệp, song nó hoàn toàn

có thể bị thay đổi bằng thông điệp bị mã hóa khác mà không cần hiểu nội dungthông điệp Tuy nhiên nếu thông điệp đó đã được ký bằng chữ ký số, bất kỳ thayđổi nào trên thông điệp đề khiến cho chữ ký không còn hợp lệ Do đó, không cócách nào để chỉnh sửa thông điệp và tạo ra chữ ký hợp lệ nếu không có khóa bímật

Tính chống chối bỏ:Chống chối bỏ hay cụ thể hơn là chống chối bỏ nguồn

gốc, đây là 1 khía cạnh cực kỳ quan trọng của chữ ký số Với chữ ký số thì vấn đềnày được giải quyết triệt để, nhờ tính chất này, một cá nhân khi đã ký vào tài liệuhay dữ liệu thì sau đó không thể tuyên bố chưa ký được Tính năng này có được do

Trang 34

chữ ký số triển khai sử dụng cơ sở hạ tầng khóa công khai sẽ được đề cập ở phầnsau.

Tính pháp lý của chữ ký số:Ở các nước Mỹ, Ấn Độ, và châu Âu, chữ ký số

được pháp luật thừa nhận và có giá trị như ký viết tay bình thường, tức là với dữliệu có chữ ký số hợp lệ sẽ được pháp luật bảo hộ Ở Việt Nam, trước đây côngnghệ chữ ký số chưa được phổ biến, song trong 1 vài năm gần đây, khi mà lĩnhvực công nghệ thông tin phát triển, nhu cầu hoạt động giao dịch kinh doanh điện

tử, đặc biệt là kinh doanh liên quốc gia ngày càng cao, thì công nghệ chữ ký số,chứng thực số dần được manh nha phát triển Năm 2006 luật pháp Việt Nam đãban hành các văn bản quy định về giao dịch điện tử ( xem phụ lục),vào 2008, bộCNTT đã ra văn bản công bố các loại tài liệu cần dùng chữ ký số Trong nhữngnăm 2010,2011 gần đây các tổ chức cấp chứng thư số ( BKAV, FPT, Viettel ) đãbắt đầu công bố dịch vụ cấp chứng chỉ số cho cá nhân và tổ chức

2.4.4 Kỹ thuật chữ ký số

Để dễ hiểu về chữ ký số cũng như có cái nhìn tổng quan về vai trò của chữ ký

số trong giao dịch điện tử, có thể hình dung như thế này:

A và C trao đổi thông điệp với nhau, nhưng nếu trong quá trình thông điệp từ Agửi đến C, dữ liệu có bị chỉnh sửa hay bị hư hỏng thì C cũng không biết được

Do đó A sẽ gửi cho C ngoài thông điệp còn có bản tóm tắt thông điệp hay còngọi là MD (Message Digest), ứng với bất kì thông điệp hay dữ liệu nào thì bản tómtắt là di nhất, và khi thông điệp đó bị thay đổi dù chỉ 1 bit thì bản MD đó sẽ kháchoàn toàn C có thể dựa vào MD đó so sánh với MD tự tạo từ thông điệp nhận

được để so sánh và xác định xem thông điệp nhận được có bị thay đổi hay không.

Nhưng vấn đề là nếu có 1 nhân vật nữa tên C “ở giữa” A và B, dùng phươngthức middle attack, bắt và thay đổi hoàn toàn gói tin cũng như bản tóm tắt thôngđiệp thì sao ? Vấn đề đó được giải quyết bằng cách dùng MAC ( MessageAuthentication Code ),

MAC cũng giống như MD nhưng, khác là nó dùng 1 khóa bí mật để tạo bảntóm tắt của dữ liệu, tức MD của dữ liệu được mã hóa, và chỉ A và C biết cho dù B

có thay đổi thông điệp, nhưng không biết khóa để tạo MAC Do đó thông điệpđược truyền đi an toàn

Nhưng nếu A hay C muốn gửi và nhận thông điệp với nhau thì phải cho nhaubiết khóa bí mật đó, việc đó thật bất tiện khi phải trao đổi với người thứ 3 haynhiều người khác, và trong số những người đó, có thể là người muốn mạo danhthông điệp để gửi cho người khác

Trang 35

Cuối cùng thì chữ ký số được ra đời,trước mắt chữ ký đảm bảo được hai nhiệm

vụ là xác thực và tính nguyên vẹn của dữ liệu Có thể hiểu chữ ký số cũng giốngnhư MAC nhưng thay vì dùng khóa chia sẽ thì chữ ký số dùng mã hóa khóa côngkhai, bao gồm 1 cặp khóa :khóa bí mật dùng để tạo chữ ký, khóa công khai dùng

để xác nhận chữ ký

Người gửi sẽ dùng khóa bí mật của mình mã hóa MD của thông điệp tạo thànhchữ ký số và gửi nó cho B ( gửi thông điệp có kèm theo chữ ký) B nhận đượcthông điệp dùng khóa công khai của người gửi để kiểm tra tính hợp lệ của chữ ký.Nếu chữ ký hợp lệ thì tính toàn vẹn dữ liệu của thông điệp được đảm bảo, đồngthời định danh được người gửi là ai

Như vậy, về nguyên tắc không ai ngoài chủ nhân của khóa bí mật có thể sở hữukhóa bí mật đó ( hiển nhiên chủ nhân của khóa bí mật phải có trách nhiệm giữkhóa) Việc dùng khóa bí mật chỉ do chủ nhân của nó dùng mà thôi

Vậy chữ ký số ra đời giải quyết được 3 vấn đề : đảm bảo tính toàn vẹn dữ liệu,xác thực người dùng ( hay nguồn gốc của dữ liệu), và tính chống chối bỏ Tức làkhi dữ liệu đã được ký bởi một người nào đó thì sau này anh ta không thể phủnhận được

Cụ thể quá trình ký và xác nhận chữ ký có thể diễn giải như sau:

Hình 2.7: Quá trình tạo chữ ký số

Trang 36

Quá trình ký trên 1 dữ liệu : Với bất kỳ dữ liệu nào có ta đều có thể có đượcbản tóm tắt của nó – gọi là hash, và bản tóm tắt dữ liệu này là duy nhất cho 1 mẫu

dữ liệu,dữ liệu ban đầu dù có thay đổi dù 1 bit thì bản tóm tắt dữ liệu cũng sẽ thayđổi hoàn toàn, tuy nhiên từ bản tóm tắt của dữ liệu việc tìm lại dữ liệu dạng gốctheo lý thuyết là không được và thực tế là rất rất khó để tìm ra Tiếp theo bản tómtắt dữ liệu sẽ được mã hóa bằng khóa bí mật của người ký, để tạo thành chữ ký.Chữ ký này sẽ được đính kèm vào dữ liệu ban đầu Sau bước này ta sẽ có được dữliệu đã được ký Dữ liệu mới này dùng để gửi cho người nhận hay dùng vào mụcđích cụ thể nào đó

Vậy việc ký 1 dữ liệu nào đó chỉ đơn giản là lấy hash của dữ liệu đó, mã hóavới khóa bí mật của người ký và đính kèm trở lại vào dữ liệu cần ký

Hình 2.8: Quá trình kiểm tra và xác nhận chữ ký

Kế tiếp là quá trình xác thực chữ ký: Người nhận, sau khi nhận được dữ liệu đãđược ký sẽ tiến hành xác thực chữ ký Việc xác thực chữ ký gồm 3 quá trình con:

Bước 1: Lấy hash của dữ liệu nhận được ( không bao gồm phần chữ kýđược attach vào)

Bước 2: Giải mã chữ ký bằng khóa công khai của người gửi ( xem phầnkhóa công khai ), để được mã hash gốc của dữ liệu

Trang 37

Bước 3: So sánh 2 hash ( hash tự tạo từ data và hash giải mã từ chữ ký của

dữ liệu nhận được), nếu 2 hash này giống nhau thì chữ ký được xác nhận hợplệ

Tóm lại, quy trình cho chữ ký số yêu cầu 3 loại thuật toán :

Thuật toán tạo khóa

Thuật toán ký dữ liệu, thuật toán này nhận đầu vào là dữ liệu và khóa bí mật,

và đầu ra là chữ ký

Thuật toán xác thực chữ ký, thuật toán này nhận đầu vào là 1 thông điệp, khóacông khai và chữ ký ( thường thì được đính kèm vào data), kết quả cho biết chữ kýhợp lệ hay không

Lưu ý: nếu lập trình bằng java, ta không cần phải lo thuật toán này, java hỗ trợkhá nhiều thuật toán, nhiệm vụ của ta là chọ provider này phù hợp với công việccủa mình

Chữ ký được tạo từ một dữ liệu và một khóa bí mật, chỉ có thể được xác thựchợp lệ bằng chính khóa công khai của khóa bí mật đó Không thể tính toán để tạođược chữ ký hợp lệ nếu không có khóa bí mật

2.5 Tổng quan mã hóa khóa công khai:

Trong hầu hết lịch sử mật mã học, khóa dùng trong các quá trình mã hóa và giải

mã phải được giữ bí mật và cần được trao đổi bằng một phương pháp an toàn khác(không dùng mật mã) như gặp nhau trực tiếp hay thông qua một người đưa thư tin

cậy Vì vậy quá trình phân phối khóa trong thực tế gặp rất nhiều khó khăn, đặc biệt là khi số lượng người sử dụng rất lớn Mật mã hóa khóa công khai đã

giải quyết được vấn đề này vì nó cho phép người dùng gửi thông tin mật trênđường truyền không an toàn mà không cần thỏa thuận khóa từ trước

Trang 38

Cơ chế mã hóa khóa công khai bao gồm 1cặp khóa: khóa bí mật và khóa côngkhai,2 khóa này có mối quan hệ toán học với nhau, với 1 khóa bí mật chỉ có dinhất 1 khóa công khai và ngược lại

Khóa bí mật thì chỉ di nhất chủ sở hữu của nó có Còn khóa công khai thì chia

sẽ tự do, mọi người có thể tìm thấy trong niên giám điện tử

Mã hóa khóa công khai ra đời giải quyết được nhiều vấn đề thuộc lĩnh vực bảomật Mã hóa khóa công khai được dùng trong :

- Mã hoá: giữ bí mật thông tin và chỉ có người có khoá bí mật mới giải mãđược

- Tạo chữ ký số : Dùng khóa bí mật của người ký để ký và dùng khóa côngkhai của người đó để xác nhận chữ ký

- Thoả thuận khoá: cho phép thiết lập khoá dùng để trao đổi thông tin bảo mậtgiữa 2 bên

Nguyên tắc của khóa công khai là mã hóa chéo, hay còn gọi là mã hóa bất đốixứng,chẳng hạn A gửi B 1 thông điệp cần được mã hóa, A sẽ dùng khóa bí mật củamình và khóa công khai của B để mã hóa thông điệp nhằm mục đích xác nhậnthông điệp được gửi bởi A và muốn chỉ B mới có thể đọc, B nhận được thông điệp

sẽ dùng khóa bi 1 mật của mình để giải mã thông điệp và khóa công khai của A đểxác định có chắc từ A gửi hay không Mô hình này thường dùng trong hệ thốngthư điện tử đòi hỏi tính năng bảo mật nhất định

2.5.2 Quan hệ khóa và chủ khóa

Tuy nhiên, làm sao A biết đâu là khóa công khai của B và ngược lại ? Để cóthể đạt được những ưu điểm của hệ thống thì mối quan hệ giữa khóa công khai vàthực thể sở hữu khóa phải được đảm bảo chính xác Vì thế các giao thức thiết lập

và kiểm tra mối quan hệ này là đặc biệt quan trọng Việc gắn một khóa công khaivới một định danh người sử dụng thường được thực hiện bởi các giao thức thựchiện hạ tầng khóa công khai (PKI) Các giao thức này cho phép kiểm tra mối quan

hệ giữa khóa và người được cho là sở hữu khóa thông qua một bên thứ ba được tintưởng gọi là CA ( Cerfiticate Authority ) Mô hình tổ chức của hệ thống kiểm tra

có thể theo phân lớp (các nhà cung cấp chứng thực số - X.509) hoặc theo thống kê(mạng lưới tín nhiệm - PGP, GPG) hoặc theo mô hình tín nhiệm nội bộ (SPKI).Không phụ thuộc vào bản chất của thuật toán hay giao thức, việc đánh giá mốiquan hệ giữa khóa và người sở hữu khóa vẫn phải dựa trên những đánh giá chủquan của bên thứ ba bởi vì khóa là một thực thể toán học còn người sở hữu và mốiquan hệ thì không

Trang 39

CA làm nhiệm vụ: nhận yêu cầu cấp chứng thư số, xác thực thông tin ngườiđăng ký và cấp chứng thư cũng như thu hồi chứng thư Hiện nay trên thế giới cócác CA : VerySign, Global Sign ( có đại lý tại Việt Nam)… ,tại Việt Nam thì cócác CA : FPT, BKAV, VNPT, Vietteltelcom…

2.5.3 Các dạng chuẩn mã hóa khóa công khai

PKI hay cơ sở hạ tầng khá công khai gồm 2 chuẩn, chuẩn mã hóa khóa côngkhai ( Public-Key Cryptography Standards )và mật khẩu một lần (One Time Password)

Sơ lược về PKCS

Public Key Cryptography Standard-PKCS là tập hợp các chuẩn về mật mã khóacông khai, được phát triển bởi tổ chức RSA cùng với sự hợp tác của nhiều tổ chức,bao gồm Apple, Microsoft, DEC, Lotus, Sun và MIT PKCS được thiết kế cho dữliệu dạng nhị phân và ASCII PKCS cũng tương thích với chuẩn X.509 Các chuẩnPKCS đã công bố PKCS #1, #3,#5 , #7, #8, #9, #10 , #11, #12, và #15 PKCS #13

và #14 hiện vẫn đang trong quá trình phát triển

PKCS #1: định nghĩa các cơ chế dành cho việc mã hóa và “ký” dữ liệu dùng hệthống khóa công khai RSA

PKCS #3: định nghĩa 1 giao thức thỏa thuận khóa Diffie-Hellman

PKCS #5: mô tả phương pháp mã hóa 1 chuỗi ký tự dùng khóa bí mật có mật khẩubảo vệ

PKCS#9: định nghĩa các loại thuộc tính đã chọn để dùng cho các chuẩn PKCSkhác

PKCS#10: mô tả dạng thức cho các yêu cầu cấp chứng thực

PKCS#11: định nghĩa kỹ thuật tạo interface lập trình độc lập, gọi là Cryptoki,dùng cho các thiết bị mật mã : thẻ thông minh, thẽ PCMCIA

Trang 40

PKCS #12: đưa ra 1 dạng thức lưu trữ và truyền tải các thông tin : khóa bí mậtngười dùng, chứng chỉ, và những thứ bí mật khác….

Các tài liệu về các chuẩn PKCS có thể tìm đọc ở địa chỉ sau:

http://www.rsasecurity.com/rsalabs/pkcs/

ftp://ftp.rsasecurity.com/pub/pkcs/doc/

Để tạo chữ ký số thường người ta thường dùng 2 kỹ thuật : dùng khóa mềm vàdùng khóa cứng hay còn gọi là thiết bị token

Khóa mềm dùng chuẩn PKCS#12 để triển khai, còn khóa cứng dùng PKCS#11

để triển khai Ở kỹ thuật dùng khóa cứng các khóa được lưu trữ bên trong 1 thiết bịgọi chung là token ( bao gồm 2 dạng : smart card và usb token)

Mỗi kĩ thuật có ưu và nhượt điểm khác nhau, tuy nhiên thông thường người tadùng PKCS#11 được nạp vào các token để triển khai nhằm tăng cường tính bảomật cho giải pháp Nhưng do hạn chế về điều kiện, nên chúng em chỉ có thể ápdụng kỹ thuật dùng khóa mềm vào đồ án tốt nghiệp

Trong cryptography, PKCS#12 là 1 dạng của chuẩn mã hóa có tên là Chuẩn

mã hóa khóa công khai ( Public Key Cryptography Standard), được sáng lập bởi tổchức RSA Nó định nghĩa 1 dạng fille dùng để chứa khóa bí mật X.509 cùng vớikhóa công khai, file này được bảo vệ bởi 1 password dựa trên khóa đối xứng.Cùng dạng với nó là PFX được phát triển bởi Microsoft

Để có chứng thư dạng PKCS#12 này, trên thực tế người ta có thể xin cấp từ các

tổ chức CA ( Cerfiticate Authority) với chi phí không nhỏ, hiện tại nhóm chúng

em dùng phần mềm EJBCA ( tham khảo phần phụ lục), đề dựng hệ thống CA dạngSelf-Cerfiticate, về mặt hình thức, tác dụng thì hoàn toàn giống với các chứng thưđược cấp bởi các tổ chức CA, chỉ khác là thuộc tính người cấp là chúng em, haynói cách khác các chứng thư này không được công nhận, mà chỉ dùng để nghiêncứu, thí nghiệm

One Time Password:

OTP – One Time Password là loại mật khẩu chỉ dùng một lần và chỉ có giá trịcho một phiên đăng nhập hoặc cho một giao dịch trong một khoảng thời gian nhấtđịnh OTP thường được tạo ra dựa trên các thông tin chia sẻ trước giữa hai bên xácthực, hoặc các sự kiện diễn ra đồng thời ở cả hai bên

Mục đích ra đời

Ngày đăng: 23/03/2016, 05:12

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Anatoly Fedosik, Koen Aers, Olga Chikvina, Svetlana Mukhina, Tom Baeyens - jBPM Tools Reference Guide (2008) Khác
[2] Jeff Potts - Alfresco Developer Guide(2008), PacktPub, Mumbai Khác
[3] Mauricio Salatino - jBPM Developer Guide(2009), PacktPub, Mumbai Khác
[4] Munwar Shariff, Vinita Choudhary, Amita Bhandari, Pallika Majmudar - Alfresco 3 Enterprise Content Management Implementation(2010), PacktPub, Mumbai Khác
[5] Jonathan B. Knudsen – Java Cryptography (1998), O’Reilly Khác
[6] Bruno Lowagie – Manning iText in Action 2 nd Edition (2010), Manning Khác
[7] David Hook - Beginning Cryptography With Java (2005), Wrox Press Khác
[8] David Bishop - Introduction To Cryptography With Java Applets (2003) Jones and Bartlett Publishers Canada Khác
[9] David Choy EMC(Head Editor) - Content Management Interoperability Services (CMIS) Version 1.0 (2010), OASIS Khác

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Mô hình tổng quan ECM - TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT
Hình 2.1 Mô hình tổng quan ECM (Trang 23)
Hình 2.2: Sơ đồ tính năng Alfresco Một số tính năng chính của Alfresco bao gồm: - TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT
Hình 2.2 Sơ đồ tính năng Alfresco Một số tính năng chính của Alfresco bao gồm: (Trang 25)
Bảng 2.1: Các component nguồn mở được sử dụng để xây dựng Alfresco - TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT
Bảng 2.1 Các component nguồn mở được sử dụng để xây dựng Alfresco (Trang 30)
Bảng 2.2: Các chuẩn vào giao thức chính được Alfresco hỗ trợ - TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT
Bảng 2.2 Các chuẩn vào giao thức chính được Alfresco hỗ trợ (Trang 31)
Hình dưới đây cho thấy cách Alfresco cài đặt CMIS ở cấp cao: - TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT
Hình d ưới đây cho thấy cách Alfresco cài đặt CMIS ở cấp cao: (Trang 35)
Hình 2.5: Mô hình cơ chế hoạt động bậc cao của CMIS trên Alfresco - TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT
Hình 2.5 Mô hình cơ chế hoạt động bậc cao của CMIS trên Alfresco (Trang 36)
Hình  2.7: Quá trình tạo chữ ký số - TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT
nh 2.7: Quá trình tạo chữ ký số (Trang 42)
Bảng 2.3: Các loại chữ ký của iText - TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT
Bảng 2.3 Các loại chữ ký của iText (Trang 54)
Bảng 2.4: Các thuộc tính chữ ký của iText - TÌM HIỂU CMIS ,PKI VÀ ALFRESO ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ TÀI LIỆU UIT
Bảng 2.4 Các thuộc tính chữ ký của iText (Trang 54)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w