Mô hình trực tuyến

Một phần của tài liệu Xây dựng giải pháp PKI trên SIM luận văn ths công nghệ thông tin (Trang 39)

Mô hình tổng quan của hệ thống được xây dựng như hình vẽ dưới:

Hình 3.2 - Mô hình online tổng quan dịch vụ chữ ký số trên SIM 3.2.1 Mô tả các thành phần

- Người dùng – Ứng dụng: Người dùng sử dụng các ứng dụng (Trên nền Mobile, Web, PC hay thiết bị cá nhận khác) để thực hiện một giao dịch với nhà cung cấp dịch vụ. Sau khi hoàn tất giao dịch, người sử dụng sẽ nhận được yêu cầu ký trên điện thoại của người sử dụng.

- Nhà cung cấp dịch vụ (AP): Đây là máy chủ của nhà cung cấp dịch vụ cho người dùng. Nhà cung cấp dịch vụ dưới các yêu cầu của người dùng sẽ phải liên kết đến các thành phần khác của hệ thống để thực hiện nhiệm vụ (yêu cầu chuyển khoản, yêu cầu tra cứu thông tin,…). Sau khi hoàn tất giao dịch, máy chủ cung cấp dịch vụ căn cứ vào thông tin sẵn có để biết người sử dụng đăng ký dịch vụ chữ ký số trên di động, từ đó máy chủ AP sẽ gửi yêu cầu ký thông qua máy chủ cung cấp dịch vụ chữ ký số tới người sử dụng. Cuối cùng, máy chủ AP sẽ nhận được lại chữ ký của người sử dụng. MSSP Nhà cung cấp dịch vụ (Application Provider) Ứng dụng: - Internet Banking - Thanh toán web

Yêu cầu ký SMS Gateway Có 1 giao dịch cần ký Pass: **** CA-SIM Đã ký SMS SMS Điện thoại người dùng Registration/ CA Server MSSP Server MSSP

- 40 -

- Registration/ CA: Đây là một hệ thống máy chủ của nhà quản lý chứng thư số nhằm để lưu trữ chứng thư số, cung cấp thông tin xác thực các chữ ký, cung cấp các chức năng đăng ký chữ ký số, … để người sử dụng có thể sử dụng dịch vụ chữ ký số trên di động một cách dễ dàng và thuận tiện.

- Thành phần MSSP (Mobile Signature Service Provider): Đây là thành phần trung gian trong giải pháp và hệ thống nhằm kết nối các thành phần khác cung cấp các chức năng giao tiếp, làm việc giữa AP, Registration/CA server với CA-SIM. Để MSSP làm việc được với các AP, Registration/CA khác nhau, các thành phần này phải có những quy định chung về giao thức giao tiếp cũng như tiêu chuẩn dữ liệu trao đổi.

- Thành phần thẻ SIM: Là SIM viễn thông có chứa ứng dụng chữ ký số (Ứng dụng SIM Toolkit) cung cấp cho người sử dụng giao diện thao tác các chức năng quản lý CA, thực hiện đăng ký chữ ký số hay ký một giao dịch nào đó khi được yêu cầu. Trên SIM sẽ lưu trữ khóa cá nhân của nhà cung cấp dịch vụ cấp.

Các thành phần trên gồm AP, Registration/CA, MSSP và SIM đều có thể là thành phần do các nhà cung cấp độc lập khác nhau mang lại.

3.2.2 Tương tác giữa các thành phần

Với 5 thành phần trên sẽ gồm 2 nhóm tương tác: Nhóm tương tác server – server, nhóm tương tác MSSP – SIM.

Nhóm tương tác server – server

Đây là nhóm mà trong đó các thành phần hoạt động với nhau thông qua kết nối mạng internet để trao đổi dữ liệu. Các tương tác trong nhóm này gồm:

Ứng dụng – Nhà cung cấp dịch vụ

Nhà cung cấp dịch vụ – Nhà cung cấp chữ ký số di động Nhà cung cấp chứng thư số – Nhà cung cấp chữ ký số di động

Do việc trao đổi dữ liệu qua mạng phải đảm bảo về an toàn và bảo mật nên phương thức được dùng phải là HTTPS. Thông qua HTTPS, Webservice các thành phần này sẽ trao đổi dữ liệu với quy định định dạng chung. Làm việc giữa các server MSSP – AP hay MSSP – CA server sẽ theo chế độ bất đồng bộ server – server.

- 41 -

Đây là nhóm mà trong đó các thành phần hoạt động trao đổi dữ liệu với nhau thông qua mạng GSM, mà cụ thể là kênh SMS giữa SIM và MSSP. Dữ liệu có thể trao đổi thông qua một hay một vài SMS ghép nối với nhau theo tiêu chuẩn về SMS trên mạng GSM.

Hoạt động giữa MSSP – AP theo chế độ đồng bộ, yêu cầu và hồi đáp. Một thành phần gửi yêu cầu lên thành phần kia thì sẽ chờ để nhận hồi đáp về.

3.2.3 Các chuẩn chung để giao tiếp giữa các thành phần

Các thành phần hoạt động thuân theo các chuẩn chung như sau:

- HTTPS cho các module, giao tiếp website (XHTML).

- Webservice (XML) cho các nghiệp vụ quản lý chứng thư giao tiếp Registration/CA với MSSP và giao tiếp AP với MSSP.

- Chuẩn X.509 v3 cho chứng thư số.

- Chuẩn PKCS#10, PKCS#11 và PKCS#7 cho chữ ký số.

- ETSI_TR-102.203: Tiêu chuẩn cho chức năng và thương mại chữ ký số trên thiết bị di động.

- ETSI_TR-102.204: Tiêu chuẩn cho dịch vụ chữ ký di động: Giao diện dịch vụ nền Web.

- ETSI_TR-102.206: Tiêu chuẩn cho dịch vụ chữ ký di động: Môi trường bảo mật.

- ETSI_TS-102.207: Tiêu chuẩn cho dịch vụ chữ ký di động: Đặc tả cho vấn đề Roaming

- Lightweight Directory Access Protocol (LDAP) v3 (adsbygoogle = window.adsbygoogle || []).push({});

- Chuẩn CRLs OCSP

- GSM 03.040 và GSM 03.048: Tiêu chuẩn cho tin nhắn và tin nhắn bảo mật hoạt động trên mạng GSM.

- 42 -

Hình 3.3 – Mô hình ca sử dụng 3.3.1 Đăng ký

3.3.1.1 Mô tả tóm tắt

- 43 -

3.3.1.2 Luồng cơ bản

- Bước 1: Người dùng ra các đại lý đăng ký chứng thư số điền đầy đủ các thông tin cá nhân vào phiếu đăng ký như họ tên, ngày sinh, số chứng minh nhân dân,…

- Bước 2: Nhân viên của đại lý chứng thư số xác minh sự chính xác của các thông tin trong phiếu đăng ký, sau đó nhập vào hệ thống và thực hiện đăng ký.

- Bước 3: Máy chủ RA gửi một yêu cầu đăng ký sử dụng dịch vụ (trong đó có thông tin về người sử dụng như số điện thoại) tới máy chủ MSSP

- Bước 4: MSSP phản hồi về cho RA xác nhận đã nhận được thông tin với nội dung cần thời gian xử lý.

- Bước 5: MSSP căn cứ vào yêu cầu sinh mã kích hoạt, đóng gói tin nhắn chứa mã kích hoạt và tiến hành gửi vào hộp tin nhắn Inbox trên máy điện thoại của người đăng ký dịch vụ.

3.3.2 Kích hoạt dịch vụ

3.3.2.1 Mô tả tóm tắt

- 44 -

3.3.2.2 Luồng cơ bản

- Bước 1: Người dùng truy cập vào menu kích hoạt trên SIM, nhập mã kích hoạt đã được gửi về hộp thư đến.

- Bước 2: SIM sau khi nhận được mã kích hoạt sẽ sinh cặp khóa theo thuật toán mã hóa RSA – có chiều dài 1024 bit, và tạo file yêu cầu chứng thư số CSR để gửi lên RA. Để đảm bảo có thể kiểm tra quyền sở hữu trong file yêu cầu chứng thư số lưu những thông tin: số hiệu của thẻ SIM –ICCID, khóa công khai được sử dụng cho chữ ký số, và chữ ký của khóa bí mật đang dùng để đăng kí chứng thư số. Số hiệu thẻ SIM được biểu diễn dưới dạng kí tự nhìn thấy 19 kí tự (ví dụ:

“8984048501197238494”) lưu trong trường Common Name của đối tượng Subject

bên trong file CSR... Để bảo đảm an toàn tuyệt đối trong quá trình đăng kí chứng thư số thì file CSR được mã hóa DES với khóa là số POP được lưu trữ dưới SIM

- 45 -

khi cá thể hóa. Sau đó SIM tạo bản tin chứa file CSR đã được mã hóa, mã kích hoạt gửi lên MSSP. Bản tin kích hoạt sẽ được đóng gói theo dưới dạng SMS bảo mật theo chuẩn GSM 03.48

- Bước 3: MSSP sau khi nhận được tin nhắn chứa mã kích hoạt, file yêu cầu chứng thư số CSR được mã hóa, sẽ xác thực tính hợp lệ của yêu cầu bằng việc kiểm tra tính hợp lệ của mã kích hoạt so với mã kích hoạt đã gửi xuống SIM trước đó ở luồng kích. Nếu các thông tin chính xác, MSPP lưu lại file CSR đã mã khóa vào cơ sở dữ liệu. Nếu mã kích hoạt sai (quá 3 lần) thì MSSP Server gửi tin nhắn thông báo về cho SIM, người dùng phải gọi điện đến điểm đăng kí dịch vụ để nhận mã kích hoạt mới.

- Bước 4: RA gửi kiểm tra việc kích hoạt của SIM tới MSSP bằng việc gửi một yêu cầu webservice MSS Registation Request tới MSSP một cách định kỳ.

- Bước 5: MSSP kiểm tra nếu SIM đã gửi yêu cầu đăng kí, thì phản hồi lại RA file yêu cầu đăng kí CSR đã được mã khóa tới RA băng webservice MSS Registation Response.

- Bước 6: RA sau khi nhận được file yêu cầu chứng thư số CSR đã được mã hóa, sẽ kiểm tra quyền sở hữu của SIM bằng việc giải mã với khóa là số POP đã lưu trong cơ sở dữ liệu, tiếp theo nó kiểm tra số hiệu thẻ SIM – ICCID có khớp với thông tin đăng kí của người sử dụng ở nghiệp vụ đăng kí dịch vụ. Nếu đúng, RA dựa trên thông tin bên trong file CSR như khóa công khai - public key,.. tạo ra chứng thư số theo chuẩn X-509.

- Bước 7: RA gửi chứng thư số về máy chủ MSSP bằng webservice. MSS Registation Request.

- Bước 8: MSSP lưu lại chứng thư số vào cơ sở dữ liệu làm dữ liệu tham chiếu tạm (lưu ý chứng thư số lưu trên RA mới là bản chính thức, trong trường hợp quan trọng như kiểm tra tính hợp lệ của chứng thư thì phải tham chiếu chứng thư số trên RA).

- Bước 9: MSSP tạo tin nhắn chứa các thông tin chứng thư số rút ngọn bao gồm số hiệu của chứng thư, tên người sở hữu chữ ký, tên nhà cung cấp dịch vụ, ngày cấp chứng thư, hạn sử dụng và địa chỉ web trực tuyến để xem chi tiết thông tin gửi xuống SIM của người dùng. Việc tạo chứng thư rút ngọn để đảm bảo rằng trên mọi điện thoại người sử dụng đều có thể xem được thông tin của chứng thư số.

- 46 - (adsbygoogle = window.adsbygoogle || []).push({});

- Bước 10: SIM sau khi nhận được chứng thư số rút ngọn, SIM tiến hành lưu lại các thông tin của chứng thư số. Từ thời điểm này người sử dụng có thể xem thông tin chưng thư số bằng cách vào menu trên ứng dụng chứng thư số.

- Bước 11: SIM gửi lại kết quả của việc lưu thông tin chứng thư số (thành công hoặc thất bại) lên SIM cho MSSP.

- Bước 12: MSSP căn cứ vào kết quả nhận được từ SIM, tạo phản hồi thông báo gửi tới RA xác nhận việc lưu chứng thư số hoàn tất thông qua webservice MSS Registation Response. Sau đó MSSP gửi một tin nhắn vào hộp tin nhắn trên điện thoại của người sử dụng thông báo việc đăng kí thành công hay thất bại.

3.3.3 Ký điện tử

3.3.3.1 Mô tả tóm tắt

UC mô tả người sử dụng dùng dịch vụ của nhà cung cấp thông qua giao diện người sử dụng của nhà cung cấp như website trực tuyến, ví dụ giao dịch chuyển khoản bằng internet banking, hoặc mua hàng qua mạng,…sau khi hoàn tất giao dịch nhà cung cấp yêu cầu người sử dụng ký giao dịch điện tử trên SIM

- 47 -

3.3.3.2 Luồng cơ bản

- Bước 1: NSD thực hiện giao dịch thông qua giao diện của nhà cung cấp dịch vụ. - Bước 2: AP kiểm tra việc sử dụng chữ ký số của NSD. AP kiểm tra việc sử dụng

chữ ký số trên di động của người sử dụng thông qua việc đăng kí của người sử dụng với MSSP. Việc đăng kí của người sử dụng bao gồm địa chỉ cung cấp dịch vụ của MSSP và số điện thoại của người sử dụng. Việc kiểm tra một người sử dụng có sử dụng chữ ký số thật sự hay không được thực hiện thông qua việc gửi yêu cầu lấy thông tin chữ ký số của người sử dụng tới MSSP. Trong trường hợp kiểm tra người sử dụng chưa có chữ ký AP nên hiển thị thông báo lỗi cho NSD trên giao diện màn hình thực hiện giao dịch.

- 48 -

+ Định dạng bản tin yêu cầu lấy thông tin chữ ký số: bao gồm thông tin NSD – số điện thoại.

+ Định dạng bản tin trả về: bao gồm trạng thái mô tả kết quả của giao dịch yêu cầu lấy thông tin.

- Bước 3: AP chuẩn bị dữ liệu cần ký ở 2 dạng văn bản hoặc dữ liệu nhị phân – không thể hiển thị được trên SIM (các file dữ liệu (*.doc, *.pdf, ..). Đối với dạng dữ liệu nhị phân thì AP phải chuyển thành mã băm bằng thuật toán đã lấy được từ

thông tin người sử dụng ở bước 2 và gắn với mã băm là thông tin văn bản cần ký.

Trong trường hợp dữ liệu ký ở dạng văn bản thì chuyển toàn bộ nội dung sang MSSP. Việc chuẩn bị dữ liệu của AP như sau:

+ Dữ liệu ký là nhị phân:

 Mã băm: mã băm bằng SHA1 hoặc MD5,..

 Mô tả thông tin dữ liệu cần ký: ví dụ <tên file> + “;” + <mã tài liệu> “;” + <ngày ký>.

+ Dữ liệu ký là văn bản: nội dung văn bản ở dạng mã ASCII hoặc UCS2.

- Bước 4: AP gửi yêu cầu ký tới MSSP. Thông tin dữ liệu chuẩn bị kí ở bước trên được đóng gói theo định dạng bản tin webservice và gửi tới MSSP. Trong trường hợp định dạng dữ liệu ký không được chỉ định, dữ liệu ký sẽ được ký trực tiếp mà không được định dạng theo chuẩn nào. Trong trường hợp dữ liệu ký chỉ định định dạng (XML signature, PKCS#7, PKCS#10, CMS), dữ liệu ký sẽ được đóng gói tuân theo các chuẩn này. Hiện tại hệ thống chỉ hỗ trợ chuẩn đóng gói XML signature.

signer.SigTextFormat = PdfSignerAsynchronous.FORMAT_TEXT_4;

signer.SigContact = UtilSigner.GetCNFromDN(chain[0].SubjectDN.ToString()); signer.SigLocation = "Hanoi"; signer.SigReason = "Reason"; signer.SigPage = 1; signer.IsMultiSignatures = true; signer.Visible = true; signer.OriginX = 10; signer.OriginY = 10; signer.CoordinateX = 300; signer.CoordinateY = 50; signer.TsaClient = null; signer.UseTSA = false;

DateTime signDate = DateTime.Now;

string tempFile = UtilSigner.GenerateTempFile();

string signName = UtilSigner.getSignName();

// Create hash file

List<byte[]> lstHash = signer.CreateHash(textBoxFileSource.Text, tempFile, chain, signName, signDate);

- 49 -

- Bước 5: MSSP gửi dữ liệu cần ký xuống SIM. Dữ liệu gửi xuống SIM được đóng gói theo chuẩn GSM 03.48. (adsbygoogle = window.adsbygoogle || []).push({});

- Bước 6: Hiển thị thông tin giao dịch tới người sử dụng. Ở đây chúng ta chia làm 2 loại dữ liệu. Dữ liệu giao dịch là các đoạn văn bản ngắn, được hiển thị trực tiếp trên màn hình điện thoại và được ký trực tiếp trên SIM. Dữ liệu nhị phân không thể hiển thị được dưới SIM vì vậy được hiển thị thông tin chung mô tả giao dịch và yêu cầu người sử dụng xác nhận việc ký vào giao dịch này.

- Bước 7: SIM gửi dữ liệu đã ký tới MSSP. Sau khi người sử dụng đã xác nhận việc ký, nếu dữ liệu cần ký là văn bản thì SIM tiến hành băm văn bản bằng thuật toán theo như mô tả của chứng thư số, và tiến hành ký trên mã băm này. Trong trường hợp dữ liệu gửi xuống SIM là mã băm – đối với dữ liệu ký là nhị phân, thì SIM tiến hành kí trực tiếp lên mã băm này. Sau khi tiến hành ký, dữ liệu được gói trong một SMS và gửi trả lại MSSP.

- Bước 8: MSSP gửi yêu cầu lấy thông tin để kiểm chứng tính hợp lệ của chữ ký số tới RA/CA thông qua giao thức OCSP.

- Bước 9: RA/CA tìm kiếm chứng thư số. Tại bước này RA/CA tìm kiếm chứng thư số người sử dụng bằng thuật toán bên trong hệ thống. Đóng gói thông tin về tính hợp lệ của chữ ký số theo định dạng của giao thức OCSP.

- Bước 10: RA/CA phản hồi về thông tin chứng thư số về MSSP. MSSP có thể lấy được thông tin về chứng thư số của người sử dụng trong lệnh phản hồi lại từ

Một phần của tài liệu Xây dựng giải pháp PKI trên SIM luận văn ths công nghệ thông tin (Trang 39)