3.2.1. Chữ ký số
Chữ ký số khóa công khai (hay hạ tầng khóa công khai) là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi người sử dụng một cặp khóa công khai - bí mật và qua đó có thể ký các văn bản điện tử cũng như trao đổi các thông tin mật. Khóa công khai thường được phân phối thông qua chứng thực khóa công khai. Quá trình sử dụng chữ ký số bao gồm 2 quá trình: tạo chữ ký và kiểm tra chữ ký.
Khái niệm chữ ký điện tử - mặc dù thường được sử dụng cùng nghĩa với chữ ký số nhưng thực sự có nghĩa rộng hơn. Chữ ký điện tử chỉ đến bất kỳ phương pháp nào (không nhất thiết là mật mã) để xác định người chủ của văn bản điện tử. Chữ ký điện tử bao gồm cả địa chỉ telex và chữ ký trên giấy được truyền bằng fax.
3.2.2. Các ưu điểm chữ ký số
Khả năng xác định nguồn gốc
Các hệ thống mật mã hóa khóa công khai cho phép mật mã hóa văn bản với khóa bí mật mà chỉ có người chủ của khóa biết. Để sử dụng chữ ký số thì văn bản cần phải được mã hóa bằng hàm băm (văn bản được "băm" ra thành chuỗi, thường có độ dài cố định và ngắn hơn văn bản) sau đó dùng khóa bí mật của người chủ khóa để mã hóa, khi đó ta được chữ ký số. Khi cần kiểm tra, bên nhận giải mã (với khóa công khai) để lấy lại chuỗi gốc (được sinh ra qua hàm băm ban đầu) và kiểm tra với hàm băm của văn bản nhận được. Nếu 2 giá trị (chuỗi) này khớp nhau thì bên nhận có thể tin tưởng rằng văn bản xuất phát từ người sở hữu khóa bí mật. Tất nhiên là chúng ta không thể đảm bảo 100% là văn bản không bị giả mạo vì hệ thống vẫn có thể bị phá vỡ.
Vấn đề nhận thực đặc biệt quan trọng đối với các giao dịch tài chính. Chẳng hạn một chi nhánh ngân hàng gửi một gói tin về trung tâm dưới dạng (a,b), trong đó a là số tài khoản và b là số tiền chuyển vào tài khoản đó. Một kẻ lừa đảo có thể gửi một số tiền nào đó để lấy nội dung gói tin và truyền lại gói tin thu được nhiều lần để thu lợi (tấn công truyền lại gói tin).
Tính toàn vẹn
Cả hai bên tham gia vào quá trình thông tin đều có thể tin tưởng là văn bản không bị sửa đổi trong khi truyền vì nếu văn bản bị thay đổi thì hàm băm cũng sẽ thay đổi và lập tức bị phát hiện. Quá trình mã hóa sẽ ẩn nội dung của gói tin đối với bên thứ 3 nhưng không ngăn cản được việc thay đổi nội dung của nó. Một ví dụ cho trường hợp này là tấn công đồng hình (homomorphism attack): tiếp tục ví dụ như ở trên, một kẻ lừa đảo gửi 1.000.000 đồng vào tài khoản của a, chặn gói tin (a,b) mà chi nhánh gửi về trung tâm rồi gửi gói tin (a,b3) thay thế để lập tức trở thành triệu phú!Nhưng đó là vấn đề bảo mật của chi nhánh đối với trung tâm ngân hàng không hẳn liên quan đến tính toàn vẹn của thông tin gửi từ người gửi tới chi nhánh, bởi thông tin đã được băm và mã hóa để gửi đến đúng đích của nó tức chi nhánh, vấn đề còn lại vấn đề bảo mật của chi nhánh tới trung tâm của nó
Tính không thể phủ nhận
Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó là do mình gửi. Để ngăn ngừa khả năng này, bên nhận có thể yêu cầu bên gửi phải gửi kèm chữ ký số với văn bản. Khi có tranh chấp, bên nhận sẽ dùng chữ ký này như một chứng cứ để bên thứ ba giải quyết. Tuy nhiên, khóa bí mật vẫn có thể bị lộ và tính không thể phủ nhận cũng không thể đạt được hoàn toàn.
3.2.3. Chữ ký số khóa công khai
Chữ ký số khóa công khai dựa trên nền tảng mật mã hóa khóa công khai. Để có thể trao đổi thông tin trong môi trường này, mỗi người sử dụng có một cặp khóa: một công khai và một bí mật. Khóa công khai được công bố rộng rãi còn khóa bí mật phải được giữ kín và không thể tìm được khóa bí mật nếu chỉ biết khóa công khai.
Sơ đồ tạo và kiểm tra chữ ký số Toàn bộ quá trình gồm 3 thuật toán: Thuật toán tạo khóa
Thuật toán tạo chữ ký số Thuật toán kiểm tra chữ ký số
Ví dụ: Bob muốn gửi thông tin cho Alice và muốn Alice biết thông tin đó thực sự do chính Bob gửi. Bob gửi cho Alice bản tin kèm với chữ ký số. Chữ ký này được tạo ra với khóa bí mật của Bob. Khi nhận được bản tin, Alice kiểm tra sự thống nhất giữa bản tin và chữ ký bằng thuật toán kiểm tra sử dụng khóa công cộng của Bob. Bản chất của thuật toán tạo chữ ký đảm bảo nếu chỉ cho trước bản tin, rất khó (gần như không thể) tạo ra được chữ ký của Bob nếu không biết khóa bí mật của Bob. Nếu phép thử cho kết quả đúng thì Alice có thể tin tưởng rằng bản tin thực sự do Bob gửi.
Thông thường, Bob không mật mã hóa toàn bộ bản tin với khóa bí mật mà chỉ thực hiện với giá trị băm của bản tin đó. Điều này khiến việc ký trở nên đơn giản hơn và chữ ký ngắn hơn. Tuy nhiên nó cũng làm nảy sinh vấn đề khi 2 bản tin khác nhau lại cho ra cùng một giá trị băm. Đây là điều có thể xảy ra mặc dù xác suất rất thấp.
Các sơ đồ ký số thường chỉ được sử dụng để ký các bức thông điệp (thông tin) có kích thước nhỏ và sau khi ký, bản ký số có kích thước gấp đôi bản thông điệp gốc – ví dụ với sơ đồ chữ ký chuẩn DSS ký trên các bức thông điệp có kích thước 160 bit, bản ký số sẽ có kích thước 320 bit. Trong khi đó trên thực tế, ta cần phải ký các thông điệp có kích thước lớn hơn nhiều, chẳng hạn vài chục MegaByte. Hơn nữa, để đáp ứng yêu cầu xác thực sau khi thông tin đến người nhận, dữ liệu truyền qua mạng không chỉ là bản thông điệp gốc, mà còn bao gồm cả bản ký số (có dung lượng gấp đôi dung lượng bản thông điệp gốc). Một cách đơn giản để giải quyết vấn đề trên (với thông điệp có kích thước lớn) này là chặt thông điệp thành nhiều đoạn 160 bit, sau đó ký lên các đoạn đó độc lập nhau. Nhưng, sử dụng biện pháp này sẽ có một số vấn đề gặp phải trong việc tạo ra các chữ ký số:
- Thứ nhất: với một thông điệp có kích thước a, thì sau khi ký kích thước của chữ ký sẽ là 2a (trong trường hợp sử dụng DSS).
- Thứ hai: với các chữ ký “an toàn” thì tốc độ chậm vì chúng dùng nhiều phép tính số học phức tạp như số mũ modulo.
- Thứ ba: vấn đề nghiêm trọng hơn đó là kết quả sau khi ký, nội dung của thông điệp có thể bị xáo trộn các đoạn với nhau, hoặc một số đoạn trong chúng có thể bị mất mát, trong khi người nhận cần phải xác minh lại thông điệp. Do đó, ta cần phải bảo đảm tính toàn vẹn của thông điệp.
Giải pháp cho các vấn đề vướng mắc đến chữ ký số là dùng hàm băm để trợ giúp cho việc ký số.
Hàm băm - hiểu theo một nghĩa đơn giản là hàm cho tương ứng một mảng dữ liệu lớn với một mảng dữ liệu nhỏ hơn - được sử dụng rộng rãi trong nhiều ứng dụng khác nhau của tin học, không chỉ thuộc phạm vi mật mã học
Hàm băm được đề cập đến trong phạm vi luận văn là hàm băm một chiều, có tác dụng trợ giúp cho các sơ đồ ký số nhằm làm giảm dung lượng của dữ liệu cần thiết để truyền qua mạng. Hàm băm ở đây được hiểu là các thuật toán không sử dụng khoá để mã hóa (ở đây ta dùng thuật ngữ “băm” thay cho “mã hoá”), nó có nhiệm vụ băm thông điệp được đưa vào theo một thuật toán h một chiều nào đó, rồi
đưa ra một bản băm – văn bản đại diện – có kích thước cố định. Giá trị của hàm băm là duy nhất và không thể suy ngược lại được nội dung thông điệp từ giá trị băm này. Hàm băm một chiều h có một số đặc tính quan trọng sau:
- Với thông điệp đầu vào x thu được bản băm z = h(x) là duy nhất.
- Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thông điệp x’ thì h(x’) ≠ h(x). Cho dù chỉ là một sự thay đổi nhỏ hay chỉ là xóa đi 1 bit dữ liệu của thông điệp thì giá trị băm cũng vẫn thay đổi. Điều này có nghĩa là: hai thông điệp hoàn toàn khác nhau thì giá trị hàm băm cũng khác nhau.
- Nội dung của thông điệp gốc không thể bị suy ra từ giá trị hàm băm.ghĩa là với thông điệp x thì dễ dàng tính được z = h(x), nhưng lại không thể (thực chất là khó) suy ngược lại được x nếu chỉ biết giá trị hàm băm h(x).
Một số thuật toán băm được biết đến nhiều là hàm băm dòng và hàm băm chuẩn như: MD2, [MD4, MD5, SHA-1…
3.2.4. Hàm băm và ứng dụng chữ ký điện tử
Một hàm băm H sẽ lấy ở đầu vào một thông tin X có kích thước bất kỳ và sinh kết quả ra là một chuỗi hX=h(X) có độ dài cố định, thường là nhỏ hơn nhiều so với kích thước của X. Chuỗi này thường được gọi là cốt yếu, hay cốt (digest) của thông tin X. Ví dụ: Thông tin X có thể là một tệp độ dài hàng trăm Kb trong khi cốt của nó chỉ là một khối có độ dài 128bit. Tất nhiên, điều đó dẫn đến khả năng có thể có 2 thông tin X≠X‟ mà cho cùng một cốt giống nhau với một hàm băm, tức là H(X)=h(X‟). Trường hợp này gọi là đụng độ (collision). Ví du: Hàm H(X) được lấy là hàm lấy số dược phép chia cho 10, rõ ràng ta có: H(56)= H(156) = H(96) ... Tuy nhiên với hàm băm thiết kế tốt, đụng độ là gần như không thể xảy ra được trên thực tế. Nói cách khác nếu cố đi tìm, khối lượng tính toán phải thực hiện là rất lớn, không khả thi với công cụ tính toán hiện thời. Hàm băm có ứng dụng chủ chốt trong các hệ chữ ký điện tử được sử dụng hiên nay. Thay vì ký (tức là thực hiện thuật toán DzA ) lên văn bản X, Alice cần thực hiện việc ký lên hX; như vậy văn bản đã ký sẽ có dạng X|| DzA (H(X)). Để đảm bảm an toàn cao, chống được tấn công giả mạo chữ ký, chúng ta cần sử dụng các hàm băm mật mã (cryptographic hash function)
với các thuộc tính như sau: 1. Lấy đầu vào là một xâu với độ dài bất kỳ và sinh ra một xâu với độ dài cố định. 2. Có tính một chiều (one - way): biết X, có thể dễ dàng tính được giá trị băm hX, nhưng không thể tính ngược được X khi chỉ biết hX, với công cụ tính toán hiện nay (bất khả thi về tính toán) 53. Có tính phi đụng độ cao (collision free), tức là thực tế không thể tim được hai X‟ sao chothông tin X) H(XH(X) . Tất nhiên, đây là bất khả thi về mặt tính toán .
3.3. Phân tích, đánh giá hoạt động thường xuyên trên sàn giao dịch Thương mại điện tử tỉnh Thái Nguyên mại điện tử tỉnh Thái Nguyên
Đẩy mạnh ứng dụng thương mại điện tử (TMĐT), hỗ trợ mở rộng thị trường tiêu thụ cho các sản phẩm chủ lực; sản phẩm, hàng hóa của làng nghề truyền thống, đẩy mạnh xuất khẩu hàng hóa... là những giải pháp nhằm hiện đại hóa ngành thương mại tỉnh Thái Nguyên, góp phần phát triển kinh tế - xã hội và hội nhập quốc tế.
Công nghệ thông tin ngày càng phát triển và đa dạng, kéo theo đó là sự ra đời của nhiều loại hình kinh doanh thông qua Internet, mà TMĐT mang lại tiện ích cho các doanh nghiệp. Trong xu thế đó, các tổ chức, doanh nghiệp Thái Nguyên cũng đang dần hội nhập, tiếp cận với hình thức kinh doanh mới này. Cụ thể, từ năm 2011, thông qua việc triển khai Kế hoạch tổng thể phát triển TMĐT tỉnh Thái Nguyên, đến nay, đã có 100% các đơn vị, cơ quan Nhà nước cấp tỉnh, cấp huyện trên địa bàn tỉnh có mạng LAN, kết nối mạng Internet và mạng truyền số liệu (TSL) nội tỉnh. Hoạt động cung cấp trực tuyến các dịch vụ công liên quan đến hoạt động sản xuất - kinh doanh cũng được tăng cường với hơn 1.360 trang thông tin điện tử (TTĐT) hoạt động, góp phần cung cấp dịch vụ trực tuyến, tạo thuận lợi cho người dân và doanh nghiệp. Hiện nay, Thái Nguyên đã đứng ở vị trí thứ 9 trong 63 tỉnh, thành của cả nước về xếp hạng sẵn sàng ứng dụng công nghệ thông tin. Đặc biệt, để bắt kịp xu thế phát triển nhanh chóng của TMĐT, các doanh nghiệp, nhất là doanh nghiệp nhỏ và vừa, các hợp tác xã, làng nghề trong tỉnh cũng đã chủ động, tích cực đầu tư, ứng dụng và bắt đầu khai thác những lợi ích của TMĐT không chỉ trong công tác quản lý, điều hành mà đã bước đầu sử dụng TMĐT như một công cụ hữu
hiệu trong xây dựng thương hiệu, quảng bá và bán sản phẩm, dịch vụ của mình thông qua công cụ Internet.
Đến nay, đã có khoảng 1/3 trong tổng số hơn 4.000 doanh nghiệp trên địa bàn tỉnh có website hoạt động thường xuyên; 95% các doanh nghiệp có mạng LAN và kết nối Internet. Để kịp thời hỗ trợ cộng đồng doanh nghiệp, các hợp tác xã, làng nghề ứng dụng và khai thác lợi thế từ TMĐT, Trung tâm XTTM Thái Nguyên đã xây dựng, vận hành và liên tục nâng cấp trang website Công Thương Thái Nguyên tại địa chỉ: congthuongthainguyen.gov.vn. Đây là website chính đăng tải, cung cấp các nội dung liên quan đến các văn bản chỉ đạo, điều hành, hoạt động của ngành Công Thương và các thông tin của doanh nghiệp trên địa bàn tỉnh. Trang web này hiện có hơn 6 triệu lượt truy cập, góp phần tiết kiệm chi phí cho doanh nghiệp. Tháng 10/2012, trung tâm XTTM cũng đã xây dựng và đưa vào vận hành Sàn giao dịch TMĐT tỉnh Thái Nguyên tại địa chỉ: thainguyentrade.gov.vn với trên 600 đơn vị tham gia, 1.443.717 lượt người truy cập tính đến thời điểm hiện nay.
Đặc biệt, với mục tiêu hỗ trợ doanh nghiệp ứng dụng TMĐT, từ năm 2011 đến nay, trung tâm XTTM đã trợ giúp gần 70 đơn vị xây dựng website riêng, trong đó chủ yếu là các doanh nghiệp nhỏ và vừa, các hợp tác xã, làng nghề truyền thống. Với 196 làng nghề, thu hút trên 14 nghìn hộ, trên 26,7 nghìn lao động, trong đó có 174 làng nghề chè, 10 làng nghề chế biến nông, lâm sản, thực phẩm, 5 làng nghề gỗ mỹ nghệ, mộc dân dụng, 4 làng nghề mây tre đan, 1 làng nghề trồng dâu nuôi tằm, 2 làng nghề trồng đào, sinh vật cảnh.... Đây sẽ là những đối tượng trọng tâm trong hỗ trợ ứng dụng TMĐT của tỉnh Thái Nguyên trong thời gian tới.
3.4. Hệ mã khóa RSA cho an toàn thông tin sàn giao dịch Thương mại điện tử tỉnh Thái Nguyên tỉnh Thái Nguyên
Đăng ký thành viên:
- Mỗi người truy cập vào hệ thống, muốn thực hiện việc mua hàng, đăng ký mua hàng đều phải đăng ký trở thành thành viên của website. Quá trình này chính là
việc cấp cho khách hàng một “tên đăng nhập”, “mật khẩu đăng nhập” và “cặp khóa công khai - khóa bí mật theo thuật toán RSA”. Với đầy đủ các thông tin này, khách hàng có thể thực hiện được giao dịch mua hàng trên website
- Chi tiết các bước đăng ký thành viên gồm các bước như sau:
+ Đăng ký thành viên: cung cấp các thông tin như: tên đăng nhập, địa chỉ hòm thư, mật khẩu…
+ Hệ thống kiểm tra tính duy nhất của Tên đăng nhập & địa chỉ thư. Nếu đã được sử dụng trong hệ thống, khách hàng phải lựa chọn một tên khác
+ Nếu quá trình cung cấp thông tin hoàn tất và không gặp lỗi nào, hệ thống thực hiện “tạo” cặp khóa bí mật – công khai theo thuật toán RSA, sau đó gửi khóa bí mật dưới dạng file đính kèm về địa chỉ thư mà khách hàng đã cung cấp. Khóa công khai được lưu trữ trong CSDL o Cặp khóa bí mật – công khai này bảo đảm tính duy nhất, không trùng lặp giữa tất cả các thành viên của hệ thống o Khách hàng sau khi kiểm tra địa chỉ thư, nhận được đầy đủ các thông tin cần phải thực hiện thao tác “xác nhận” trước khi thực hiện được bất kỳ giao dịch nào. Thao tác này là cần