TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Xây dựng Ứng dụng Triển khai Ký số Sim dùng trong Quản lý Văn bản Hành chính HOÀNG THANH TÙNG Ngành Công nghệ thông tin HÀ NỘI, 2022
CƠ SỞ LÝ THUYẾT
Quy trình quản lý văn bản đi tại Trung tâm CNTT VNPT-IT
2.1.1 Mô hình quản lý văn bản
Quy trình quản lý văn bản đi tại Trung tâm CNTT VNPT-IT đóng vai trò quan trọng trong hệ thống quản lý văn bản, đảm bảo giải quyết kịp thời, đầy đủ và chính xác mọi vấn đề, đồng thời bảo mật thông tin cần thiết Quá trình này bao gồm nhiều bước từ soạn thảo đến ban hành, với sự tham gia của các thành phần như văn thư, lãnh đạo phòng và lãnh đạo trung tâm Việc xử lý và chuyển tiếp văn bản được cụ thể hóa cho từng giai đoạn, gắn liền với nhiệm vụ của từng thực thể tham gia.
1 Nghiên cứu soạn thảo văn bản
Xác định mục đích soạn thảo, phạm vi điều chỉnh, đối tượng áp dụng và lựa chọn tên loại VB
Chuyển hồ sơ trình ký LĐP
Hoàn thiện hồ sơ trình ký gồm:
- Các VB giấy tờ có liên quan
Hoàn thiện bản thảo VB Lấy ý kiến của các đơn vị, cá nhân liên quan (nếu có)
Dự thảo VB Xây dựng đề cương; Thông qua đề cương (nếu có)
Người soạn thảo văn bản
- Nội dung bản thảo văn bản
- Thể thức, kỹ thuật trình bày bản thảo văn bản
- Ký nháy/ký tắt bản thảo văn bản
3 Kiểm tra và trình ký:
- Thể thức, kỹ thuật trình bày bản thảo văn bản
4 Xét duyệt, ký văn bản:
- Bản thảo văn bản đã được ký nháy/ký tắt
Nhân bản và đóng dấu Trung tâm cho văn bản giấy
- Bản lưu tại văn thư cơ quan
- Bản lưu và hồ sơ trình ký lưu tại đơn vị soạn thảo
Theo dõi việc chuyển phát
Phát hành và chuyển phát văn bản theo các hình thức (theo đối tượng nhận văn bản)
Văn thư chuyển văn bản
Văn thư chuyển văn bản
Văn thư chuyển văn bản
Văn thư chuyển văn bản
Hình 2.1: Quy trình xử lý văn bản đi
- Bước 1: Nghiên cứu, soạn thảo văn bản
Người được giao soạn thảo văn bản cần căn cứ vào tính chất và nội dung của văn bản để hoàn thành dự thảo và hồ sơ trình ký Họ cũng phải đề xuất số lượng bản gốc, bản lưu, mức độ khẩn, mật, và đóng dấu giáp lai nếu cần thiết Cuối cùng, văn bản giấy sẽ được in ra và trình lãnh đạo các cấp ký duyệt theo quy định.
Lãnh đạo đơn vị có trách nhiệm tiếp nhận, kiểm tra và duyệt văn bản trình ký, bao gồm việc xem xét nội dung dự thảo và các hồ sơ kèm theo Họ cần đảm bảo rằng văn bản đáp ứng yêu cầu về thể thức và kỹ thuật trình bày Người soạn thảo văn bản cũng phải chịu trách nhiệm về cả nội dung lẫn hình thức của tài liệu Nếu bản thảo đạt yêu cầu về nội dung, quá trình duyệt sẽ tiếp tục.
➢ LĐP ký tắt/ký nháy vào cuối dòng của dòng cuối cùng phần nội dung của mỗi trang văn bản
Đơn vị cần chuyển trả tài liệu cho người soạn thảo hoặc văn thư để gửi đến bộ phận văn thư Nếu có sai sót, lãnh đạo đơn vị sẽ sửa trực tiếp vào dự thảo văn bản trên giấy và chuyển lại cho người soạn thảo để kiểm tra và hoàn thiện theo yêu cầu.
Bước 3: Văn thư Trung tâm kiểm tra và trình ký sẽ tiếp nhận bản thảo văn bản cùng hồ sơ trình ký từ đơn vị soạn thảo dưới dạng bản giấy Đồng thời, cần kiểm tra thể thức và kỹ thuật trình bày của bản thảo văn bản được trình.
Bản thảo văn bản cần tuân thủ đúng thể thức và kỹ thuật trình bày theo quy định, trước khi trình lên lãnh đạo trực tiếp hoặc người có thẩm quyền ký duyệt.
Bản thảo văn bản có sai sót và không tuân thủ đúng thể thức, kỹ thuật trình bày theo quy định, dẫn đến việc bộ phận văn thư Trung tâm từ chối tiếp nhận và không trình Lãnh đạo Trung tâm hoặc người có thẩm quyền ký duyệt.
- Bước 4: Lãnh đạo Trung tâm/Người có thẩm quyền ký duyệt VB
Tiếp nhận và xem xét bản thảo văn bản cùng hồ sơ trình ký; ký duyệt ban hành nếu đạt yêu cầu Nếu bản thảo chưa đạt yêu cầu, cho ý kiến sửa chữa, bổ sung vào bản giấy và trả lại cho văn thư Trung tâm/đơn vị.
Bước 5 trong quy trình phát hành và lưu trữ văn bản (VB) được thực hiện bởi bộ phận Văn thư Trung tâm bao gồm các nhiệm vụ quan trọng như cấp số và thời gian ban hành VB, nhân bản và đóng dấu Trung tâm, quét VB thành file pdf, cũng như chuyển phát trực tiếp hoặc qua bưu điện, mạng, fax, và chuyển phát nhanh đến các đơn vị nhận.
Số lượng văn bản hàng tháng mà đơn vị xử lý là rất lớn, việc quản lý văn bản truyền thống như hiện tại có một số hạn chế:
Thời gian xử lý văn bản có thể kéo dài do nhiều yếu tố ngoại cảnh như địa lý, thời tiết, dịch bệnh và giao thông Ngoài ra, văn thư cũng cần phải trải qua nhiều bước lưu chuyển.
- Phát sinh chi phí khá nhiều cho việc in ấn, chuyển phát, lưu trữ các văn bản
- Khó khăn trong việc tìm kiếm, kiểm tra trạng thái xử lý văn bản
- Gặp rủi ro như bị ăn cắp thông tin, bị làm giả thông tin
- Bộ máy hành chính cồng kềnh do phát sinh các công việc thực hiện thủ công nhiều: in ấn, luân chuyển, lưu trữ, trình ký…
Trong bối cảnh công nghệ 4.0 đang bùng nổ, việc vận hành hành chính công vẫn còn thủ công và chưa được số hóa sẽ ảnh hưởng nghiêm trọng đến uy tín và hình ảnh của đơn vị.
Lý thuyết về mã hóa, ký số
Mã hóa thông tin là quá trình chuyển đổi dữ liệu thành một dạng khác, mang ý nghĩa khác biệt so với dữ liệu gốc Mục đích của việc này là chỉ cho phép một nhóm người nhất định có khả năng truy cập và đọc hiểu dữ liệu ban đầu.
8 qua việc giải mã dữ liệu sau khi biến đổi [7] Có thể mô tả quy trình thực hiện mã hóa dữ liệu và giải mã dữ liệu như sau [22]:
Hình 2.2: Quy trình mã hóa dữ liệu
Sau đây là một số khái niệm và kí hiệu liên quan về vấn đề mã hóa dữ liệu :
- E (Encryption - Mã hóa): Là quá trình chuyển đổi dữ liệu gốc thành dữ liệu được mã hóa sao người khác không thể đọc hiểu
- D (Decryption - Giải mã): Là quá trình ngược lại của mã hóa, biến đổi dữ liệu đã được mã hóa thành dạng gốc ban đầu
- M (Message - Thông điệp), bản gốc hay bản rõ (Plaintext): Là tệp dữ liệu chưa được mã hóa hoặc đã được giải mã
- C (Ciphertext - Bản mã): Tệp dữ liệu đã được mã hóa
- K (Key - Khóa): Là dãy các bít 0, 1 thường được đưa ra dạng xâu ký tự, số
- KE: Là khóa dùng để mã hóa
- KD: Là khóa dùng để giải mã
Theo quy ước, khi mã hóa thì C = E(M) và khi giải mã thì M = D(C) D(E(M))
Theo phương pháp truyền thống, mã hóa và giải mã sử dụng cùng một khóa, đòi hỏi khóa phải được giữ bí mật tuyệt đối, được gọi là hệ thống mã hóa cổ điển hay mã hóa đối xứng Ngược lại, phương pháp mã hóa bất đối xứng sử dụng khóa công khai, trong đó có hai khóa riêng biệt: một để mã hóa và một để giải mã.
Các khóa công khai là khác nhau và tạo thành một cặp chuyển đổi ngược nhau, không khóa nào có thể suy ra từ khóa kia Quy trình mã hóa khóa công khai bao gồm các bước cơ bản.
- Mỗi một hệ thống đầu cuối tạo một cặp khóa dùng cho quá trình mã hóa và giải mã mà hệ thống đó sẽ nhận
Mỗi hệ thống mã hóa đều có một khóa công khai để công bố, trong khi khóa bí mật (khóa riêng) cần được bảo mật an toàn.
- Nếu Bên gửi muốn gửi thông điệp cho Bên nhận, Bên gửi mã hóa thông điệp sử dụng khóa công khai của Bên nhận
- Khi Bên nhận nhận thông điệp, Bên nhận giải mã bằng khóa riêng của Bên nhận b Mã hóa đối xứng
Mã hóa đối xứng, hay còn gọi là mã hóa khóa bí mật, là phương pháp mà hai bên tham gia truyền thông sử dụng chung một khóa bí mật để mã hóa và giải mã thông điệp Tính chất đối xứng của phương pháp này xuất phát từ việc sử dụng cùng một khóa cho cả hai quá trình mã hóa và giải mã.
- Mô hình hệ mã hóa đối xứng [22]
Hình 2.3: Hệ mã hóa đối xứng
Mức độ bảo mật của phương pháp mã hóa đối xứng phụ thuộc vào sự an toàn của khóa bí mật K được trao đổi giữa các bên tham gia Để đảm bảo tính bảo mật, việc trao đổi khóa này cần phải hoàn toàn bí mật Trong hệ thống mã hóa đối xứng, các phương pháp tấn công phổ biến bao gồm phân tích mã hóa và tìm kiếm vét cạn.
Quá trình 10 hóa là nỗ lực nhằm phát hiện khóa hoặc khôi phục bản tin gốc Tìm kiếm vét cạn là phương pháp tấn công toàn bộ khóa dựa trên khả năng tính toán.
Ngày nay, với sự phát triển mạnh mẽ của tốc độ tính toán và xử lý, việc mã hóa bằng thuật toán mã hóa khóa công khai có thể trở nên không an toàn Mã hóa bất đối xứng đang trở thành một vấn đề cần được xem xét kỹ lưỡng.
Mã hóa bất đối xứng, hay còn gọi là mã hóa khóa công khai, được giới thiệu vào năm 1976 bởi Diffie và Hellman Sự ra đời của hệ mã hóa này đã mở ra nhiều thành tựu trong ứng dụng mã hóa, đánh dấu một bước tiến quan trọng trong lịch sử phát triển công nghệ bảo mật thông tin.
Thuật toán mã hóa khóa công khai sử dụng các hàm toán học thay vì các phép tính bit thông thường Hệ thống mã hóa này là bất đối xứng, nghĩa là nó sử dụng hai khóa: một khóa để mã hóa và một khóa để giải mã Điều này trái ngược với mã hóa đối xứng truyền thống, trong đó chỉ sử dụng một khóa duy nhất cho cả hai quá trình.
- Việc sử dụng hai khóa được ứng dụng nhiều trong các lĩnh vực như về độ tin cậy, phân phối khóa hay chứng thực
- Mô hình hệ mã hóa bất đối xứng [22]
Hình 2.4: Hệ mã bất đối xứng
Mã hóa khóa công khai được ứng dụng rộng rãi trong các lĩnh vực như đảm bảo độ tin cậy, phân phối khóa và chứng thực văn bản So với mã hóa đối xứng, mã hóa bất đối xứng mang lại mức độ an toàn cao hơn, khiến cho kẻ tấn công không thể sử dụng phân tích mã hóa hay tấn công vét cạn để xâm nhập vào hệ thống mã hóa công khai.
11 rất phức tạp về mặt tính toán khi biết khóa công khai và bản tin ciphertext để tìm được plaintext
Hệ mã hóa khóa công khai đặc trưng bởi việc sử dụng hai khóa: một khóa công khai để mã hóa và một khóa riêng tư để giải mã Bên gửi sử dụng khóa công khai của bên nhận để thực hiện mã hóa, cho phép bất kỳ ai cũng có thể mã hóa thông tin Tuy nhiên, chỉ có người nhận thực sự mới có khả năng giải mã thông điệp, vì họ là người duy nhất sở hữu khóa riêng tư Điều này ngăn chặn các bên thứ ba không có khóa riêng từ việc giả mạo tin nhắn.
- Các bước thực hiện mã hóa theo hệ mã hóa khóa công khai:
1) Mỗi người dùng sinh một cặp khóa sử dụng để mã hóa và giải mã bản tin
2) Người dùng đăng ký 1 trong 2 khóa là công khai hoặc chứa trong tệp để người khác có thể truy nhập được Đó là khóa công khai
3) Nếu người dùng A muốn gửi bản tin tới người dùng B, thì A mã hóa bản tin sử dụng khóa công khai của B
4) Khi B nhận được bản tin, B sẽ thực hiện giải mã nó sử dụng khóa riêng Không ai có thể giải mã được bản tin đó vì chỉ có B biết, đó là khóa riêng của B Với cách tiếp cận này, các bên tham gia truyền thông đều có thể truy nhập tới khóa công khai, còn khóa riêng được sinh cục bộ bởi mỗi bên và do đó không bao giờ bị phân tán để kẻ thứ ba có thể biết Miễn là người dùng bảo vệ tốt khóa riêng của mình thì bảo mật truyền thông được đảm bảo
Hệ mã hóa khóa công khai yêu cầu hai bên tham gia truyền thông, A và B, để A có thể gửi tin nhắn cho B một cách an toàn.
1) Dễ dàng về mặt tính toán để bên B có thể sinh ra cặp khóa public/private Khóa công khai là KPU và khóa riêng là KPR
2) Dễ dàng cho bên gửi A biết được khóa công khai và bản tin cần mã hóa
M để sinh ra ciphertext tương ứng
3) Dễ dàng cho bên nhận B thực hiện giải mã ciphertext sử dụng khóa riêng
KPR để phục hồi lại bản tin gốc
4) Việc tính toán của bên thứ 3, từ khóa công khai KPU để tìm được KPR là điều không thể
5) Việc tính toán của bên thứ 3, từ khóa công khai KPU và ciphertext C để tìm được bản tin gốc M là điều không thể
6) Một trong hai khóa được dùng để mã hóa thì khóa còn lại được dùng để giải mã
M = DKpr[EKpu(M)] = DKpu[EKpr(M)] d Thuật toán RSA (Rivest Shamir Aldeman)
Thuật toán RSA, được phát triển vào năm 1977 bởi Ron Rivest, Adi Shamir và Len Adleman, là một trong những thuật toán khóa công khai đầu tiên Nó cho phép mã hóa và giải mã dữ liệu với độ dài khóa linh hoạt, trong đó việc sử dụng khóa dài hơn sẽ tăng cường độ an toàn cho hệ thống, mặc dù điều này có thể làm tăng thời gian tính toán RSA hoạt động như một khối mã hóa, trong đó cả plaintext và ciphertext đều là các số nguyên trong khoảng từ 0 đến (n-1) với n được xác định.
Khối plaintext M và khối ciphertext C
MÔ HÌNH ĐỀ XUẤT KÝ SỐ SIM ỨNG DỤNG TRONG QUẢN LÝ VĂN BẢN
Mô hình đề xuất
Để đáp ứng nhu cầu quản lý văn bản hành chính và cải thiện tình hình chữ ký số tại Việt Nam, đặc biệt là tại Trung tâm CNTT VNPT-IT, cần thiết phải xây dựng một webportal quản lý văn bản đi tập trung, đồng thời tích hợp công nghệ chữ ký số vào quy trình ký các văn bản.
Webportal quản lý văn bản đi tập trung giúp quản lý văn bản hành chính hiệu quả, đồng thời tích hợp công nghệ chữ ký số, nâng cao tính bảo mật và tiện lợi trong quy trình xử lý văn bản.
- Quản lý, lưu trữ tập trung các văn bản hành chính
- Rút ngắn thời gian xử lý và phát hành văn bản để các chính sách được triển khai áp dụng phục vụ phát triển kinh doanh của đơn vị
- Tiết kiệm thời gian, công sức chi phí do việc in ấn, chuyển phát, lưu trữ
- Có thể thực hiện xử lý văn bản ở mọi nơi, thao tác đơn giản qua trình duyệt Web
- Thể hiện sự chuyên nghiệp, theo kịp xu hướng công nghệ của một công ty trong công cuộc số hóa
Để đảm bảo tính bảo mật cho hệ thống, cần xác định rõ các vùng ứng dụng công khai trên internet và các vùng ứng dụng nằm trong mạng nội bộ, được bảo vệ bởi các lớp tường lửa của Trung tâm CNTT VNPT-IT.
Để triển khai chương trình trên đa nền tảng như web app và mobile app, mô hình thiết kế cần được công khai trên internet để các ứng dụng di động có thể truy cập dữ liệu Để đảm bảo an toàn dữ liệu, hệ thống sẽ được phân tách thành hai vùng: một vùng kết nối internet và một vùng nội bộ không kết nối internet Mô hình đề xuất cho hệ thống được thể hiện trong hình 3.1.
Người dùng ký số qua app Mobile hoặc qua ứng dụng web
Hình 3.1: Mô hình đề xuất cho hệ thống
Mô hình chi tiết về SIM KPI
Chữ ký trên di động có thể áp dụng cho tất cả các ứng dụng, không chỉ giới hạn trên thiết bị di động Thiết bị di động hoạt động như một công cụ ký, tương tự như bút điện tử dùng để ký số Việc ký số qua ứng dụng trên mạng di động và các kênh điện tử cần có sự cho phép của người dùng.
Hình 3.2: Thiết bị di động trở thành công cụ ký số [9]
Trong triển khai dựa trên SIM PKI, việc tạo chữ ký đạt được bằng cách sử dụng bộ xử lý mã hóa trên thẻ SIM
Hình 3.3: Xử lý mã hóa ký số trên thẻ SIM [9]
Yêu cầu ký số được gửi đến thiết bị di động của người dùng, kích hoạt ứng dụng "ký" trên thẻ SIM Điều này cho phép hiển thị văn bản giao dịch trên màn hình và cung cấp tùy chọn cho người dùng nhập mã PIN ký tên Việc nhập mã PIN chính xác sẽ bắt đầu quá trình tạo chữ ký di động trong thẻ SIM và truyền chữ ký đến dịch vụ chữ ký di động Khi người dùng nhập mã PIN đúng, họ xác nhận ý định của mình để tiến hành các chi tiết giao dịch hiển thị trên thiết bị.
Nhà cung cấp dịch vụ
Bộ phận chứng thực Bộ phận xác nhận
Bước 1: Người dùng gửi MSSP yêu cầu ký số
Bước 2: Chuyển tiếp thông tin về CTS và tài liệu cần ký
Bước 3: Yêu cầu xác thực CTS
Bước 4: Gửi kết quả xác thực CTS
Bước 5: Gửi yêu cầu ký số đến SIM PKI
Bước 6: Gửi yêu cầu ký số đến SIM PKI
Bước 7: Gửi kết quả ký
Bước 9: Gửi kết quả ký Bước 10: Hiển thị bản thể hiện cho người dùng xem
Hình 3.4: Quá trình ký SIM PKI 3.2.2 Kiến trúc sim PKI
Thẻ SIM: Thiết bị tạo chữ ký di động (Mobile SCD):[9]
Hình 3.5 Kiến trúc tổng thể
PKI SIM sử dụng hệ điều hành với kiến trúc 3 lớp:
- Lớp điều hành: xây dựng theo Java Framework
Lớp phần cứng được phát triển độc lập, hỗ trợ các thuật toán mã hóa 3DES, AES và RSA cho kiến trúc thượng tầng, đồng thời tương thích với mọi loại chip trên toàn cầu, bao gồm cả Việt Nam trong tương lai.
- Lớp ứng dụng : phát triển mở sẵn sàng cho các loại ứng dụng thẻ thông minh trên lĩnh vực chữ ký số
SIM PKI được phát triển với thư viện RSA cứng hóa bên trong chip, đã được cấp chứng chỉ CC EAL5+ từ các nhà sản xuất như Infineon và SAM SUNG PKI SIM Applet sử dụng thuật toán mã hóa RSA với cặp khóa công khai và bí mật, cho phép thực hiện mã hóa, giải mã, ký điện tử và xác thực ngay trong chip Khóa bí mật được lưu trữ an toàn bên trong chip như một hộp đen tuyệt đối PKI SIM Applet kết hợp với thẻ SIM để sử dụng trên các thiết bị như Handset hoặc USB 3G/4G.
- Module sinh khóa: cặp khóa bí mật và khóa công khai được sinh ngay trong thẻ
- Module lưu khóa: lưu trữ khóa bí mật bên trong thẻ để giải mã hoặc ký điện tử
- Module mã hóa và giải mã: mã hóa bằng khóa công khai và giải mã bằng khóa bí mật
- Module ký điện tử: ký chuỗi dữ liệu thành một đoạn dữ liệu gửi kèm cùng với thông tin
- Module xác thực: xác thực chữ ký và dữ liệu được truyền vào
Nhà cung cấp ứng dụng (AP):
Nhà cung cấp ứng dụng có trách nhiệm đảm bảo rằng ứng dụng an toàn và tin cậy, nhằm khuyến khích việc sử dụng chữ ký điện tử AP cam kết rằng dữ liệu cần ký phải chính xác theo yêu cầu của người sử dụng, với các biện pháp bảo mật được thực hiện để bảo vệ thông tin.
Giao tiếp giữa MSSP và các AP của đối tác cũng như hệ thống nghiệp vụ của nhà cung cấp dịch vụ khác được bảo vệ an toàn thông qua giao thức HTTPS, sử dụng tính năng mã hóa SSL.
Mỗi AP được cấp một mã định danh và chứng thư số để mã hóa dữ liệu khi giao tiếp với MSSP Giao tiếp giữa AP và MSSP được xác thực mạnh mẽ thông qua chứng thư số Để sử dụng dịch vụ, AP cần ký số lên yêu cầu trước.
Khi nhận được yêu cầu từ AP, MSSP sẽ thực hiện xác thực chữ ký để xác định danh tính của AP Nếu chữ ký được xác nhận là hợp lệ, MSSP sẽ tiến hành xử lý yêu cầu và trả lại kết quả cho AP.
AP Ngược lại, MSSP sẽ bỏ qua yêu cầu của AP
Hệ thống cung cấp dịch vụ ký (MSSP)
MSSP: Máy chủ cung cấp các dịch vụ ký số và xác thực trên di động thực hiện các chức năng chính sau:
Quản lý và cấp phép truy cập cho các hệ thống nghiệp vụ của nhà cung cấp dịch vụ là rất quan trọng để đảm bảo việc thực hiện các yêu cầu nghiệp vụ một cách hiệu quả.
Trung tâm chung chuyển thực hiện việc cấp phát chứng thư số thông qua hệ thống RA, đồng thời xử lý yêu cầu ký điện tử giữa AP và hạ tầng mạng, kết nối với điện thoại người dùng Ngoài ra, trung tâm cũng đảm bảo việc chứng thực chữ ký số thông qua hệ thống CORE-CA của CA công cộng.
MSSP đảm bảo rằng "những gì người sử dụng nhìn thấy là những gì họ ký," đồng thời bảo vệ hệ thống cho khách hàng và đối tác Nó giúp ngăn chặn và phát hiện truy cập trái phép vào cơ sở dữ liệu, cũng như xử lý và theo dõi các điểm yếu dễ bị tấn công.
- Ghi lịch sử giao dịch, lưu và báo cáo các thông tin về truy nhập hệ thống để phục vụ kiểm tra, giám sát hệ thống
3.2.3 Quy trình ký sim PKI
Quy trình ký điện tử sử dụng chứng thư số trên SIM PKI bao gồm các bước thực hiện trên hệ thống Để thực hiện, người dùng cần có SIM PKI đã kết nối với chứng thư số đang hoạt động Người dùng cũng phải đăng ký dịch vụ chữ ký số di động với nhà cung cấp dịch vụ AP, trong khi các AP cần đăng ký kết nối với dịch vụ chữ ký số của CA.
Tham gia vào quy trình có các tác nhân: Người dùng
Người dùng Phần mềm ứng dụng Mobile Signature Service Provider(MSSP)
SIMPKI Gửi yêu cầu ký số
Gửi dữ liệu cần ký số theo định dạng của MSSP
Gửi dữ liệu cần ký số theo định dạng của SIM PKI
Nhập mã PIN trên điện thoại Chữ ký số
Gắn chữ ký số và thông điệp dữ liệu File thể hiện cho người dùng
Hình 3.5: Quy trình nghiệp vụ ký điện tử
- Bước 1: Người dùng gửi yêu cầu ký số thông qua giao diện ứng dụng như: website trực tuyến, ứng dụng mobi…
Đối với các giao dịch điện tử yêu cầu chữ ký trực tiếp, AP sẽ chuyển toàn bộ nội dung cho MSSP Nếu dữ liệu là văn bản dài hoặc cần ký trên file, AP cần chuyển đổi thành mã băm để giảm kích thước file và tăng cường an toàn bảo mật cho nội dung ký số.
- Bước 3: Máy chủ cung cấp dịch vụ - AP, chuẩn bị dữ liệu theo định dạng chuẩn để gửi dữ liệu yêu cầu ký tới MSSP
Dữ liệu cần ký sẽ được đóng gói và gửi đến điện thoại của người sử dụng, đảm bảo rằng đường truyền được bảo mật theo tiêu chuẩn viễn thông.
Bước 5: Thông tin cần ký hoặc dữ liệu mô tả sẽ được hiển thị trên SIM cho người dùng, đảm bảo nguyên tắc “Ký trên những gì bạn thấy” Tiếp theo, màn hình sẽ yêu cầu người dùng nhập mã PIN để xác nhận việc ký.
- Bước 6: Dữ liệu đã ký được đóng gói và gửi trở lại MSSP Dữ liệu được đảm bảo đường truyền được bảo mật theo chuẩn viễn thông
- Bước 7: MSSP gửi về ứng dụng dữ liệu đã ký
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Các tác nhân
Hệ thống gồm các tác nhân là nhân viên, lãnh đạo, văn thư và quản lý hệ thống
- Quản trị hệ thống: Quản trị các chức năng quản trị, phân quyền người dùng
- Lãnh đạo: Xử lý văn bản theo vai trò được phân công
- Nhân viên: Xử lý dữ liệu theo vai trò, nhiệm vụ được phân công
- Văn thư: Quản lý các văn bản đi của đơn vị.
Các chức năng chính của hệ thống
Hệ thống gồm các chức năng chính:
- Đăng nhập bảo mật 3 lớp: chức năng này nhằm mục đích xác thực người dùng truy cập sử dụng hệ thống
Quản lý luồng xử lý văn bản cho phép quản trị hệ thống thực hiện các công việc liên quan đến việc quản lý cây từ điển luồng xử lý Điều này bao gồm các chức năng như thêm, sửa, xóa và gán luồng cho các dịch vụ.
Quản lý văn bản giúp người dùng thực hiện toàn bộ quy trình từ việc soạn thảo đến ký kết văn bản Nếu văn bản chưa đạt yêu cầu, người dùng có thể từ chối để nhân viên chỉnh sửa lại.
Quản lý dịch vụ cho phép quản trị hệ thống thực hiện các công việc liên quan đến thông tin dịch vụ, bao gồm việc thêm, sửa, xóa dịch vụ và gán luồng xử lý văn bản cho các dịch vụ.
Quản lý người dùng là chức năng cho phép quản trị viên thực hiện các thao tác như thêm, sửa, xóa và khóa tài khoản người dùng, đồng thời phân quyền người dùng theo các chức năng được ủy quyền trong hệ thống.
Biểu đồ Usecase tổng quan
Quản lý luồng xử lý văn bản
Ký số văn bản với SIM KPI
Từ chối ký văn bản
Biểu đồ phân rã chức năng
Người dùng có quyền quản lý hệ thống để thực hiện các chức năng như thêm, sửa, xóa và khóa tài khoản người dùng, cũng như phân quyền người dùng theo các chức năng được ủy quyền trong hệ thống.
Sửa thông tin người dùng
Hình 4.2: Usecase quản lý người dùng 4.4.2 Quản lý luồng xử lý văn bản
Người dùng có quyền quản lý hệ thống để thực hiện các công việc liên quan đến quản lý cây từ điển luồng xử lý cho các dịch vụ, bao gồm các chức năng thêm, sửa, xóa và gán luồng cho các dịch vụ.
Gán luồng vào dịch vụ xử lý
Quản lý luồng xử lý văn bản
Hình 4.3: Usecase quản lý luồng xử lý văn bản 4.4.3 Quản lý văn bản
Người dùng có thể thực hiện các công việc từ việc soạn thảo đến ký kết văn bản Nếu văn bản chưa đạt yêu cầu để ký, người dùng có quyền từ chối để nhân viên chỉnh sửa lại.
Tải văn bản về máy cá nhân Nhân viên
Hình 4.4: Usecase quản lý văn bản
Người dùng có quyền quản lý hệ thống để thực hiện các tác vụ liên quan đến thông tin dịch vụ, bao gồm thêm, sửa và xóa dịch vụ, cũng như gán luồng xử lý văn bản cho các dịch vụ.
Map luồng xử lý văn bản
Hình 4.5: Usecase quản lý dịch vụ
Đặc tả Use-case
Tên Usecase: Đăng nhập Mức độ BMT: A
Tác nhân chính: Tất cả các tác nhân Tác nhân phụ: Hệ thống
Sử dụng SIM-KPI để đăng nhập vào hệ thống ký số nhằm tăng cường bảo mật cho chức năng đăng nhập, được thiết kế qua ba lớp bảo vệ.
- Lớp 1: Đăng nhập sử dụng tài khoản LDAP
- Lớp 2: Đăng nhập sử dụng mã PIN của SIM-KPI
Để bắt đầu sử dụng hệ thống, cán bộ cần đăng nhập bằng mã OTP Điều kiện tiên quyết là cán bộ phải được cấp tài khoản để truy cập Sau khi đăng nhập thành công, giao diện ký số sẽ được hiển thị cho người dùng.
Trình tự các sự kiện:
Bước 1: Người dùng nhập userName và password mà quản trị đã cấp khi đăng ký tài khoản trên hệ thống và nhấn “Đăng nhập” trên giao điện đăng nhập
Bước 2: Chương trình truy xuất vào DB và thực hiện kiểm tra thông tin người dùng:
• Nếu thông tin user có trong DB thì chương trình chuyển sang Bước 3
• Nếu thông tin user không có trong DB thì chương trình cảnh báo “Tài khoản không hợp lệ” cho người dùng
Bước 3: Hệ thống thực hiện kiểm tra tài khoản thông qua API gọi lên LDAP server
• Nếu server trả về tài khoản đúng thì hệ thống chuyển qua đăng nhập lớp 02 bằng SIM-KPI
• Nếu sai thông tin tài khoản thì hệ thống thông báo “Tài khoản sai” cho user Đăng nhập lớp 2 – Đăng nhập sử dụng mã pin của SIM-KPI:
Bước 1: Sau khi người dùng đăng nhập thành công qua lớp 1 Hệ thống tiếp tục thực hiện đăng nhập lớp 2 sử dụng SIM-KPI
Bước 2: Hệ thống đọc danh sách các CTS kết nối tới máy client và thực hiện hiển thị danh sách các CTS này cho người sử dụng
Bước 3: Người sử dụng chọn CTS của mình và kích vào “OK”
Bước 4: Hệ thống thực hiện lấy thông tin CTS và kiểm tra thông tin CTS đã được đăng ký cho user đăng nhập trên hệ thống CKS chưa
• Nếu đã được đăng ký thì chuyển sang Bước 5
• Nếu chưa được đăng ký thì thông báo cho người dùng “CTS chưa được đăng ký cho user trên hệ thống CKS”
Hệ thống sẽ gọi hàm login vào SIM-KPI và hiển thị hộp thoại yêu cầu người dùng nhập mật khẩu của SIM-KPI, chỉ những người sở hữu tài khoản mới có thể thực hiện bước này.
Bước 6: Người dùng nhập pass SIM-KPI
Bước 7: SIM-KPI thực hiện valid thông tin pass SIM-KPI mà người dùng nhập vào
• Nếu hợp lệ thì thực hiện gửi mã OTP cho người dùng
• Nếu sai pass thì thông báo cho người dùng và yêu cầu nhập lại Đăng nhập lớp 3 – Đăng nhập sử dụng mã OTP:
Hệ thống sẽ gửi mã OTP đến số điện thoại đã đăng ký, mã này có hiệu lực trong 60 giây và yêu cầu người dùng nhập 6 số OTP vào Form.
Bước 2: Người dùng nhập 6 số OTP và kích vào “Xác thực”, hệ thống kiểm tra:
• Nếu OTP sai, hệ thống báo lỗi và yêu cầu người dùng nhập lại
Nếu người dùng không nhập mã OTP trong vòng 60 giây hoặc nhập sai, hệ thống sẽ thông báo và đóng Form OTP, yêu cầu người dùng đăng nhập lại từ đầu.
• Nếu OTP đúng, hệ thống hiển thị giao diện báo cáo
Hệ thống đọc hiển thị chứng thư số trong SIM-KPI kết nối với PC cá nhân
Người dùng chọn CTS và bấm “OK”
Hệ thống kiểm tra CTS có gắn với người dùng không
Hệ thống thực hiện login vào SIM-
SIM-KPI hiển thị dialog nhập pass và người dùng thực hiện nhập pass
SIM-KPI kiểm tra pass
Hệ thống gửi mã OTP cho người dùng
Hệ thống hiển thị form nhập mã OTP và người dùng thực hiện nhập mã
Hệ thống kiểm tra OTP người dùng nhập
Cảnh báo sai thông tin tài khoản cho người dùng
Hiển thị giao diện người dùng
Tên Usecase: Ký số văn bản Mức độ BMT: B
Tác nhân chính: Chuyên viên, lãnh đạo, đối tác, văn thư
Tác nhân phụ: Hệ thống
Usecase này cho phép người dùng ký số văn bản bằng SIM-KPI, chỉ được kích hoạt cho những người có quyền ký số Để bắt đầu, người dùng cần đăng nhập và có văn bản chờ ký Khi ký số thành công, hệ thống sẽ hiển thị popup thông báo cho người dùng.
Trình tự các sự kiện:
• Sau khi nhận được thông báo: Có văn bản đang chờ ký, người dùng đăng nhập hệ thống để thực hiện ký văn bản
Hệ thống sử dụng thông tin tài khoản đăng nhập để tìm kiếm và hiển thị các văn bản chờ ký liên quan đến tài khoản đó.
• Dựa vào tài khoản đăng nhập, hệ thống xác định được danh sách các dịch vụ mà người dùng đang quản lý
Hệ thống sẽ tìm kiếm và hiển thị danh sách các văn bản chờ ký cho từng dịch vụ đã được người dùng quản lý trên menu “Văn bản chờ ký”.
• Trên giao diện menu “Văn bản chờ ký”, người dùng thực hiện chọn văn bản cần ký và kích vào “Ký văn bản”
• Hệ thống thực hiện ký duyệt văn bản, văn bản sau khi được ký duyệt xong sẽ vào giao diện “Văn bản đã ký”
• Hệ thống cảnh báo sms, email đến các user liên quan đến văn bản
Người dùng chọn văn bản cần ký trong danh sách biên bản chờ ký
Nguời dùng bấm vào nút “ký văn bản”
Hệ thống thực hiện cập nhật lại trạng thái văn bản trên DB và tên file trên
Hệ thống kiểm tra thông tin văn bản có đúng định dạng A4
Gửi cảnh báo cho những user đã tác động lên văn bản
Cảnh báo cho người dùng lỗi
Hiện thị dialog chọn ký
4.5.3 Từ chối ký văn bản
Tên Usecase: Từ chối ký văn bản Mức độ BMT: B
Tác nhân chính: Chuyên viên, lãnh đạo, đối tác, văn thư
Tác nhân phụ: Hệ thống
Trong quá trình ký số, các văn bản có thể gặp lỗi liên quan đến font chữ hoặc ngày tháng mà không được phát hiện kịp thời, dẫn đến việc văn bản đã được dự thảo và xử lý trên hệ thống Khi người ký nhận ra lỗi, họ cần từ chối văn bản để thực hiện chỉnh sửa Điều kiện bắt đầu use-case là người dùng đã đăng nhập và có văn bản đang chờ ký Sau khi từ chối thành công, hệ thống sẽ hiển thị popup thông báo cho người dùng.
Trình tự các sự kiện:
Bước 1: Người dùng chọn văn bản cần từ chối ký trên giao diện “Văn bản chờ ký” và kích vào “Từ chối”
Bước 2: Hệ thống hiển thị dialog yêu cầu người dùng nhập thông tin từ chối ký văn bản
Bước 3: Người dùng nhập thông tin từ chối ký và kích vào “OK”
Bước 4: Hệ thống kiểm tra thông tin người dùng nhập
➢ Nếu chưa nhập thông tin từ chối, hệ thống báo lỗi cho người dùng
➢ Nếu nhập đủ thông tin, chương trình chuyển sang bước 5
➢ Hệ thống cập nhật lại tên văn bản
➢ Hệ thống cập nhật trạng thái văn bản trong DB về trạng thái “Từ chối”, tên và đường dẫn văn bản từ chối
➢ Văn bản sau khi bị từ chối sẽ nằm trong giao diện “Văn bản”
• Bước 6: Chương trình thực hiện cảnh báo sms/email cho người dùng đã từng tác động lên văn bản
Người dùng chọn văn bản cần từ chối trong danh sách biên bản chờ ký
Nguời dùng nhập thông tin về nguyên nhân từ chối văn bản
Hệ thống thực hiện cập nhật lại trạng thái văn bản trên DB và tên file trên
Hệ thống kiểm tra thông về việc từ chối văn bản
Gửi cảnh báo cho những user đã tác động lên văn bản
Cảnh báo cho người dùng vì chưa nhập nguyên nhân từ chối
4.5.4 Báo cáo quản lý văn bản chờ xử lý
Tên Usecase: Quản lý các văn bản chờ ký Mức độ BMT: B
Tác nhân chính: Tất cả các tác nhân Tác nhân phụ: Hệ thống
Quản lý văn bản chờ ký của người dùng bắt đầu khi người dùng đã đăng nhập và có văn bản chờ ký được dự thảo trên hệ thống Sau khi thực hiện, giao diện sẽ hiển thị danh sách các văn bản đang chờ ký cho người dùng.
Trình tự các sự kiện:
Bước 1: Người dùng chọn menu “Văn bản” trên giao diện chương trình
Bước 2: Hệ thống kiểm tra thông tin tài khoản của người dùng, từ đó sẽ lấy danh sách các văn bản theo user này
Bước 3: Hiển thị danh sách các văn bản cho người dùng
4.5.5 Báo cáo quản lý văn bản đã xử lý
Tên Usecase: Quản lý các văn bản đã ký Mức độ BMT: B
Tác nhân chính: Tất cả các tác nhân Tác nhân phụ: Hệ thống
Quản lý văn bản đã ký cho phép người dùng xem danh sách các văn bản liên quan Chỉ những người dùng có quyền cao nhất mới có khả năng hủy ký văn bản Để bắt đầu sử dụng tính năng này, người dùng cần đăng nhập và có văn bản đã ký trên hệ thống Sau khi thực hiện, giao diện sẽ hiển thị danh sách các văn bản đã ký cho người dùng.
Trình tự các sự kiện:
Bước 1: Người dùng chọn menu “Văn bản đã ký” trên giao diện chương trình
Bước 2: Hệ thống kiểm tra thông tin tài khoản của người dùng, từ đó sẽ lấy danh sách các văn bản theo user này
Bước 3: Hiển thị danh sách các văn bản
Người dùng chọn văn bản đã xử lý trong menu “văn bản”
Thông báo lỗi cho quản trị viên
Hiển thị dữ liệu cho người dùng
Hệ thống load cở sở dữ liệu trong DB
Tên Usecase: Quản lý các user trên hệ thống Mức độ BMT: B
Tác nhân chính: quản trị viên Tác nhân phụ: Hệ thống
Quản lý thông tin người dùng trên hệ thống yêu cầu người dùng đã đăng nhập Sau khi hoàn tất, hệ thống sẽ hiển thị giao diện danh sách các người dùng hiện có.
Trình tự các sự kiện:
Bước 1: Người dùng thực hiện vào menu “Quản lý User”
Bước 2: Hệ thống thực hiện tìm kiếm và hiển thị danh sách các user được quản lý bởi User đăng nhập
Bước 3: Hệ thống hiển thị danh sách người dùng
Người dùng chọn quản lý user trong menu “hệ thống”
Thông báo lỗi cho quản trị viên
Hiển thị dữ liệu cho người dùng
Hệ thống load cở sở dữ liệu trong DB
Tên Usecase: Quản lý các dịch vụ trên hệ thống Mức độ BMT: B
Tác nhân chính: quản trị viên, chuyên viên, lãnh đạo
Tác nhân phụ: Hệ thống
Quản lý thông tin dịch vụ trên hệ thống yêu cầu mã dịch vụ duy nhất Người dùng cần đăng nhập vào hệ thống để bắt đầu quá trình này Sau khi hoàn tất, giao diện sẽ hiển thị danh sách các dịch vụ mà người dùng quản lý.
Trình tự các sự kiện:
Bước 1: Người dùng thực hiện vào menu “Quản lý dịch vụ”
Bước 2: Hệ thống thực hiện tìm kiếm và hiển thị danh sách các dịch vụ được quản lý bởi User
Bước 3: Hệ thống hiển thị danh sách dịch vụ cho User
Người dùng chọn quản lý dịch vụ trong menu “văn bản”
Thông báo lỗi cho quản trị viên
Hiển thị dữ liệu cho người dùng
Hệ thống load cở sở dữ liệu trong DB
4.5.8 Từ điển luồng ký văn bản
Tên Usecase: Quản lý các từ điển luồng Mức độ BMT: B
Tác nhân chính: quản trị viên, chuyên viên Tác nhân phụ: Hệ thống
Quản lý thông tin luồng xử lý văn bản được định nghĩa bởi người dùng là một use-case quan trọng Để bắt đầu, người dùng cần đăng nhập vào hệ thống Sau khi hoàn tất, hệ thống sẽ hiển thị các luồng quản lý theo nhóm người dùng.
Trình tự các sự kiện:
Bước 1: Người dùng thực hiện vào menu “Từ điển luồng”
Bước 2: Hệ thống thực hiện tìm kiếm và hiển thị danh sách các luồng xử lý được quản lý bởi User
Bước 3: Hệ thống hiển thị danh sách luồng cho User
Người dùng chọn luồng xử lý trong menu “văn bản”
Thông báo lỗi cho quản trị viên
Hiển thị dữ liệu cho người dùng
Hệ thống load cở sở dữ liệu trong DB
Tên Usecase: Dự thảo văn bản ký số Mức độ BMT: B
Tác nhân chính: chuyên viên Tác nhân phụ: Hệ thống
Người dùng có thể thực hiện dự thảo các file văn bản để ký số trên hệ thống Để bắt đầu, người dùng cần đăng nhập vào hệ thống Sau khi hoàn tất, văn bản ký số sẽ được dự thảo thành công trên hệ thống.
Trình tự các sự kiện:
Bước 1: Người dùng thực hiện lựa chọn các tham số trong giao diện “Dự thảo văn bản” để thực hiện upload:
Bước 2: Người dùng thực hiện kích vào “Dự thảo văn bản”
Cơ sở dữ liệu
4.6.1 Biểu đồ lớp tổng quát
Sau khi nghiên cứu và phân tích tổng quan về Usecase, cùng với định hướng phát triển ứng dụng theo mô hình MVC, chúng tôi sẽ thiết kế các đối tượng Model để đơn giản hóa việc quản lý các đối tác trên hệ thống, nhằm lưu trữ thông tin về các đối tượng trong ứng dụng.
- Đối tượng Vanban: chứa các thông tin của 1 văn bản: ID, file_name, file_owner, note, file_path…
- Đối tượng dichvu: chứa các thông tin của 1 dịch vụ được quản lý trên hệ thống: ID, id_flow, id_user, start_date…
- Đối tượng Nguoidung: thực hiên lưu trữ và quản lý các thông tin của 1 người dùng: ID, user, pass, email, số điện thoại, chứng thư số…
Đối tượng luongky là một mô tả thông tin về cây từ điển, phục vụ cho việc ký một văn bản trong một dịch vụ Các thông tin quan trọng bao gồm: ID, step, id_user, và import_date.
Logkyso là một hệ thống lưu trữ thông tin liên quan đến việc xử lý biên bản, nhằm quản lý lịch sử tác động lên các biên bản này Các thông tin quan trọng của đối tượng bao gồm: ID, id_user, id_vanban và import_date.
DatabaseControl là lớp điều khiển trong mô hình MVC, chịu trách nhiệm quản lý tất cả các yêu cầu tương tác với cơ sở dữ liệu từ các lớp điều khiển khác Lớp này thực hiện các chức năng như cập nhật thông tin văn bản, lấy danh sách văn bản, danh sách luồng, thông tin dịch vụ và thông tin người dùng Các phương thức chính trong lớp bao gồm: update_van_ban, update_user, update_dich_vu, update_luong_ky, getUser , editUser , edit_dich_vu, và edit_luong.
Chúng ta sẽ thiết kế một lớp điều khiển tương ứng cho từng chức năng nhóm như đăng nhập, quản lý văn bản, quản lý luồng và quản lý dịch vụ, nhằm xử lý các yêu cầu của các nhóm chức năng này.
LoginControl là một lớp điều khiển trong mô hình MVC, có vai trò quan trọng trong việc quản lý truy cập ứng dụng và phiên làm việc của người dùng Lớp này thực hiện các yêu cầu kiểm tra thông tin tài khoản và xác minh tính hợp lệ của mã OTP.
LuongControl là lớp điều khiển trong mô hình MVC, có nhiệm vụ quản lý luồng xử lý văn bản trên hệ thống Lớp này cho phép thực hiện các chức năng thêm, sửa và xóa luồng một cách hiệu quả.
- VanbanControl: class control trong mô hình MVC, thực hiện quản lý các văn bản Thực hiện các chức năng tương tác với văn bản:
Khi có yêu cầu từ các view, mỗi view sẽ tương ứng với một control riêng, nhưng tất cả đều sử dụng chung class DatabaseControl để tương tác với cơ sở dữ liệu Để đảm bảo an toàn lưu trữ cho các văn bản, thông tin đi kèm như mã người dùng và mã văn bản cần được lưu trữ khi log văn bản đã hình thành, từ đó hình thành quan hệ Generalization giữa class người dùng và log ký số, văn bản và log ký số.
Từ những phân tích trên, đã đưa đến việc xây dựng và hoàn thành biểu đồ lớp tổng quát như sau:
Hình 4.6: Biểu đồ lớp tổng quát 4.6.2 Bảng LOGKYSO a Thông tin trường
Bảng 4.1: Bảng log ký văn bản
STT Tên trường Kiểu dữ liệu index Bắt buộc có dữ liệu
2 ID_USER number x x Id của user, khóa chính trong bảng user
3 ID_REPORT number x x Id của văn bản, khóa chính trong bảng văn bản
4 TYPE number x x Loại xử lý:
0: dự thảo văn bản 1: Ký số sử dụng usbtokend
Bảng 4.2: Index của bảng log ký văn bản
STT Tên index Kiểu index Tên trường
1 IDX1_ Log_ky_so NORMAL ID_USER
2 IDX2_ Log_ky_so NORMAL ID_REPORT c Contraint
Bảng 4.3: Contraint của bảng log ký văn bản
STT Tên constraint Kiểu constraint
Tên trường Tên bảng quan hệ
1 Log_ky_so_PK foreign key ID_REPORT VANBAN id
3 Log_ky_so _FK_1 foreign key ID_USER NGUOIDUNG id
4.6.3 Bảng LUONGKY a Thông tin trường
Bảng 4.4: Bảng luồng ký văn bản
STT Tên trường Kiểu dữ liệu index Bắt buộc có dữ liệu
2 STEP varchar2(4000) x Luồng xử lý văn bản
4 Id_user number x Id của user định nghĩa luồng
5 Import_date Date Thời gian cập nhật gần nhất của luồng b Contraint
Bảng 4.5: Contraint bảng luồng ký văn bản
STT Tên constraint Kiểu constraint
Tên trường Tên bảng quan hệ
1 luongky_FK_1 foreign key ID_USER Nguoidung ID
4.6.4 Bảng NGUOIDUNG a Thông tin trường
Bảng 4.6: Bảng tài khoản người dùng
STT Tên trường Kiểu dữ liệu index Partition Bắt buộc có dữ liệu
2 GROUPUSER varchar2(10) Nhóm người dùng
3 USERNAME varchar2(4000) X User người sử dụng
5 CERNUMBER varchar2(4000) X Serial chứng thư số
6 EMAIL varchar2(4000) X Email người dùng
7 MOBIFONENUMBER varchar2(4000) X SĐT người dùng
8 PAGE varchar2(4000) X Các trang được phân quyền truy cập
4.6.5 Bảng DICHVU a Thông tin trường
Bảng 4.7: Bảng dịch vụ
STT Tên trường Kiểu dữ liệu index Bắt buộc có dữ liệu
2 Id_follow number x Mã luồng ký
3 Id_user number x Mã user
4 Start_date date x Thời gian bắt đầu dịch vụ
5 End_date date x Thời gian kết thúc dịch vụ
7 Group_content varchar2(4000) Nhóm nội dung dịch vụ
Bảng 4.8: Contraint bảng dịch vụ
STT Tên constraint Kiểu constraint
Tên trường Tên bảng quan hệ
1 DICHVUFK_1 foreign key ID_FLOW LUONGKY ID
2 DICHVUFK_2 foreign key ID_USER NGUOIDUNG ID
4.6.6 Bảng VANBAN a Thông tin trường
Bảng 4.9: Bảng quản lý văn bản
STT Tên trường Kiểu dữ liệu index Bắt buộc có dữ liệu
1 ID number x Mã văn bản
2 OWNER varchar2(4000) Người dự thảo văn bản
3 FILE_NAME varchar2(4000) x x Tên file văn bản
4 HISTORY varchar2(4000) x Lịch sử tác động văn bản
8 TYPE varchar2(4000) Loại hình văn bản:
10 PROCESS varchar2(4000) x Trạng thái xử lý văn bản
11 FILE_PATH varchar2(4000) x Đường dẫn file văn bản
12 FILE_PATH_ATT varchar2(4000) Đường dẫn file attach
13 FILE_NAME_ATT varchar2(4000) Tên file attach
14 NEXT_PERSON varchar2(400) Người xử lý tiếp theo
15 ID_FLOW number x ID luồng xử lý văn bản b Contraint
Bảng 4.10: Contraint bảng quản lý văn bản
STT Tên constraint Kiểu constraint
Tên trường Tên bảng quan hệ
1 VANBANFK foreign key ID_FLOW LUONGKY ID
4.6.7 Mô hình thực thể liên kết
Hình 4.7: Sơ đồ cơ sở dữ liệu