Tải bản đầy đủ (.doc) (52 trang)

CHỮ KÍ ĐIỆN TỬ VÀ ỨNG DỤNG CỦA CHỮ KÍ ĐIỆN TỬ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.02 MB, 52 trang )

CHỮ KÍ ĐIỆN TỬ
ĐẠI HỌC KINH TẾ QUỐC DÂN
KHOA CÔNG NGHỆ THÔNG TIN
K46
CHỮ KÍ ĐIỆN TỬ VÀ ỨNG DỤNG CỦA CHỮ KÍ ĐIỆN TỬ
Sinh viên thực hiện : Phạm Thị Dung
Giáo viên hướng dẫn : Th.S Lưu Minh Tuấn
07/2007
1
CHỮ KÍ ĐIỆN TỬ
Mục lục :
I. Thương mại điện tử và chữ kí điện tử............................................................................4
1. Thương mại điện tử là gì ?.........................................................................................4
1. Thương mại điện tử là gì ?.........................................................................................4
1.1. Định nghĩa...........................................................................................................4
1.2. Lý thuyết trong kinh tế học.................................................................................6
1.3. Các loại thị trường điện tử..................................................................................7
1.4. Qui định pháp luật đối với thương mại điện tử..................................................8
2. Khái niệm về chữ kí điện tử và chữ kí số................................................................10
2. Khái niệm về chữ kí điện tử và chữ kí số................................................................10
2.1. Lịch sử ra đời của chữ kí điện tử :....................................................................10
2.2. Khái niệm và mô hình chung của chữ kí điện tử..............................................11
3. Tính chất của chữ kí số :..........................................................................................15
3. Tính chất của chữ kí số :..........................................................................................15
3.1. Khả năng nhận thực..........................................................................................15
3.2. Tính toàn vẹn.....................................................................................................15
3.3. Tính không thể phủ nhận..................................................................................15
II. Các phương pháp mã hóa sử dụng trong chữ kí điện tử............................................16
1. Mã hóa là gì?............................................................................................................16
1. Mã hóa là gì?............................................................................................................16
1.1. Giới thiệu về mã hóa.........................................................................................16


1.2. Nói thêm về thuật toán mã hóa khóa public.....................................................19
2. Mã hóa sử dụng RSA...............................................................................................19
2. Mã hóa sử dụng RSA...............................................................................................19
2.1. Lịch sử ra đời....................................................................................................20
2.2. Cách thức hoạt động của RSA .........................................................................20
3. Mã hóa sử dụng SHA...............................................................................................27
3. Mã hóa sử dụng SHA...............................................................................................27
4. Mã hóa sử dụng DSA...............................................................................................34
4. Mã hóa sử dụng DSA...............................................................................................34
III. Một số vấn đề khác trong thương mại điện tử và chữ kí điện tử.............................37
1. Chức thực hóa công khai..........................................................................................37
1. Chức thực hóa công khai..........................................................................................37
2. Giao thức SSL..........................................................................................................38
2. Giao thức SSL..........................................................................................................38
2.1 Giới thiệu về SSL...............................................................................................38
2.2 Cơ chế làm việc của SSL...................................................................................39
3. Ví dụ về sử dụng chữ kí điện tử trong E-mail.........................................................44
3. Ví dụ về sử dụng chữ kí điện tử trong E-mail.........................................................44
IV. Kết luận :...................................................................................................................52
07/2007
2
CHỮ KÍ ĐIỆN TỬ
07/2007
3
CHỮ KÍ ĐIỆN TỬ
I. Thương mại điện tử và chữ kí điện tử
1. Thương mại điện tử là gì ?
Thương mại điện tử (còn gọi là thị trường điện tử, thị trường ảo, E-Commerce hay
E-Business) là quy trình mua bán ảo thông qua việc truyền dữ liệu giữa các máy tính
trong chính sách phân phối của tiếp thị. Tại đây một mối quan hệ thương mại hay dịch

vụ trực tiếp giữa người cung cấp và khách hàng được tiến hành thông qua Internet.
Hiểu theo nghĩa rộng, thương mại điện tử bao gồm tất cả các loại giao dịch thương mại
mà trong đó các đối tác giao dịch sử dụng các kỹ thuật thông tin trong khuôn khổ chào
mời, thảo thuận hay cung cấp dịch vụ. Thông qua một chiến dịch quảng cáo của IBM
trong thập niên 1990, khái niệm Electronic Business, thường được dùng trong các tài
liệu, bắt đầu thông dụng.
Thuật ngữ ICT (viết tắt của từ tiếng Anh information commercial
technology) cũng có nghĩa là thương mại điện tử, nhưng ICT được hiểu theo
khía cạnh công việc của các chuyên viên công nghệ.
1.1. Định nghĩa
Khó có thể tìm một định nghĩa có ranh giới rõ rệt cho khái niệm này. Khái niệm thị
trường điện tử được biết đến lần đầu tiên qua các công trình của Malone, Yates và
Benjamin nhưng lại không được định nghĩa cụ thể. Các công trình này nhắc đến sự tồn
tại của các thị trường điện tử và các hệ thống điện tử thông qua sử dụng công nghệ
thông tin và công nghệ truyền thông. Chiến dịch quảng cáo của IBM trong năm 1998
dựa trên khái niệm "E-Commerce" được sử dụng từ khoảng năm 1995, khái niệm mà
ngày nay được xem là một lãnh vực nằm trong kinh doanh điện tử (E-Business). Các
quy trình kinh doanh điện tử có thể được nhìn từ phương diện trong nội bộ của một
doanh nghiệp (quản lý dây chuyền cung ứng – Supply Chain Management, thu mua
điện tử- E-Procurement) hay từ phương diện ngoài doanh nghiệp (thị trường điện tử, E-
Commerce,...).
Khái niệm cửa hàng trực tuyến (Onlineshop) được dùng để diễn tả việc bán hàng thông
qua trang Web trong Internet của một thương nhân.
Hiện nay định nghĩa thương mại điện tử được rất nhiều tổ chức quốc tế đưa ra song
chưa có một định nghĩa thống nhất về thương mại điện tử. Nhìn một cách tổng quát,
các định nghĩa thương mại điện tử được chia thành hai nhóm tuỳ thuộc vào quan điểm:
Hiểu theo nghĩa hẹp :
Theo nghĩa hẹp, thương mại điện tử chỉ đơn thuần bó hẹp thương mại điện tử trong
việc mua bán hàng hóa và dịch vụ thông qua các phương tiện điện tử, nhất là qua
Internet và các mạng liên thông khác.

Theo Tổ chức Thương mại Thế giới (WTO), "Thương mại điện tử bao gồm việc sản
xuất, quảng cáo, bán hàng và phân phối sản phẩm được mua bán và thanh toán trên
mạng Internet, nhưng được giao nhận một cách hữu hình, cả các sản phẩm giao nhận
cũng như những thông tin số hoá thông qua mạng Internet".
07/2007
4
CHỮ KÍ ĐIỆN TỬ
Theo Uỷ ban Thương mại điện tử của Tổ chức hợp tác kinh tế châu Á-Thái Bình
Dương (APEC), "Thương mại điện tử là công việc kinh doanh được tiến hành thông
qua truyền thông số liệu và công nghệ tin học kỹ thuật số".
Hiểu theo nghĩa rộng:
Thương mại điện tử hiểu theo nghĩa rộng là các giao dịch tài chính và thương mại
bằng phương tiện điện tử như: trao đổi dữ liệu điện tử, chuyển tiền điện tử và các hoạt
động như gửi/rút tiền bằng thẻ tín dụng.
Theo quan điểm này, có hai định nghĩa khái quát được đầy đủ nhất phạm vi hoạt động
của Thương mại điện tử:
Luật mẫu về Thương mại điện tử của Uỷ ban Liên hợp quốc về Luật Thương mại quốc
tế (UNCITRAL) định nghĩa: "Thuật ngữ thương mại [commerce] cần được diễn giải
theo nghĩa rộng để bao quát các vấn đề phát sinh từ mọi quan hệ mang tính chất
thương mại dù có hay không có hợp đồng. Các quan hệ mang tính thương mại
[commercial] bao gồm, nhưng không chỉ bao gồm, các giao dịch sau đây: bất cứ giao
dịch nào về cung cấp hoặc trao đổi hàng hoá hoặc dịch vụ; thoả thuận phân phối; đại
diện hoặc đại lý thương mại, uỷ thác hoa hồng (factoring), cho thuê dài hạn (leasing);
xây dựng các công trình; tư vấn, kỹ thuật công trình (engineering); đầu tư; cấp vốn,
ngân hàng; bảo hiểm; thoả thuận khai thác hoặc tô nhượng, liên doanh và các hình
thức về hợp tác công nghiệp hoặc kinh doanh; chuyên chở hàng hoá hay hành khách
bằng đường biển, đường không, đường sắt hoặc đường bộ".
Theo định nghĩa này, có thể thấy phạm vi hoạt động của thương mại điện tử rất rộng,
bao quát hầu hết các lĩnh vực hoạt động kinh tế, trong đó hoạt động mua bán hàng hoá
và dịch vụ chỉ là một phạm vi rất nhỏ trong thương mại điện tử.

Theo Uỷ ban châu Âu: "Thương mại điện tử được hiểu là việc thực hiện hoạt động
kinh doanh qua các phương tiện điện tử. Nó dựa trên việc xử lý và truyền dữ liệu điện
tử dưới dạng text, âm thanh và hình ảnh".
Thương mại điện tử trong định nghĩa này gồm nhiều hành vi trong đó: hoạt động mua
bán hàng hoá; dịch vụ; giao nhận các nội dung kỹ thuật số trên mạng; chuyển tiền điện
tử; mua bán cổ phiếu điện tử, vận đơn điện tử; đấu giá thương mại; hợp tác thiết kế; tài
nguyên trên mạng; mua sắm công cộng; tiếp thị trực tiếp với người tiêu dùng và các
dịch vụ sau bán hàng; đối với thương mại hàng hoá (như hàng tiêu dùng, thiết bị y tế
chuyên dụng) và thương mại dịch vụ (như dịch vụ cung cấp thông tin, dịch vụ pháp lý,
tài chính); các hoạt động truyền thống (như chăm sóc sức khoẻ, giáo dục) và các hoạt
động mới (như siêu thị ảo)
Theo quan điểm thứ hai nêu trên, "thương mại" (commerce) trong "thương mại điện tử"
không chỉ là buôn bán hàng hoá và dịch vụ (trade) theo các hiểu thông thường, mà bao
quát một phạm vi rộng lớn hơn nhiều, do đó việc áp dụng thương mại điện tử sẽ làm
thay đổi hình thái hoạt động của hầu hết nền kinh tế. Theo ước tính đến nay, thương
mại điện tử có tới trên 1.300 lĩnh vực ứng dụng, trong đó, buôn bán hàng hoá và dịch
vụ chỉ là một lĩnh vực ứng dụng.
07/2007
5
CHỮ KÍ ĐIỆN TỬ
Các điểm đặc biệt của thương mại điện tử so với các kênh phân phối truyền thống là
tính linh hoạt cao độ về mặt cung ứng và giảm thiểu lớn phí tổn vận tải với các đối tác
kinh doanh. Các phí tổn khác thí dụ như phí tổn điện thoại và đi lại để thu nhập khác
hàng hay phí tổn trình bày giới thiệu cũng được giảm xuống. Mặc dầu vậy, tại các dịch
vụ vật chất cụ thể, khoảng cách không gian vẫn còn phải được khắc phục và vì thế đòi
hỏi một khả năng tiếp vận phù hợp nhất định.
Ngày nay người ta hiểu khái niệm thương mại điện tử thông thường là tất cả các
phương pháp tiến hành kinh doanh và các quy trình quản trị thông qua các kênh điện tử
mà trong đó Internet hay ít nhất là các kỹ thuật và giao thức được sử dụng trong
Internet đóng một vai trò cơ bản và công nghệ thông tin được coi là điều kiện tiên

quyết. Một khía cạnh quan trọng khác là không còn phải thay đổi phương tiện truyền
thông, một đặc trưng cho việc tiến hành kinh doanh truyền thống. Thêm vào đó là tác
động của con người vào quy trình kinh doanh được giảm xuống đến mức tối thiểu.
Trong trường hợp này người ta gọi đó là Thẳng đến gia công (Straight Through
Processing). Để làm được điều này đòi hỏi phải tích hợp rộng lớn các các tính năng
kinh doanh.
Nếu liên kết các hệ thống ứng dụng từ các lãnh vực có tính năng khác nhau hay liên kết
vượt qua ranh giới của doanh nghiệp cho mục đích này thì đây là một lãnh vực ứng
dụng truyền thống của tích hợp ứng dụng doanh nghiệp.Quản lý nội dung doanh nghiệp
(Enterprise Content Management – ECM) được xem như là một trong những công
nghệ cơ bản cho kinh doanh điện tử.
1.2. Lý thuyết trong kinh tế học
Kinh tế quốc dân
Các hiểu biết về những tính chất đặc biệt của kinh doanh điện tử phát sinh từ khi lý
thuyết Kinh tế học tân cổ điển (Neoclassical economics) bị từ bỏ. Lý thuyết này đặt
tiên đề, ngoài những việc khác, là hàng hóa đồng nhất, một thị trường minh bạch hoàn
toàn và không có sự ưu đãi, và vì thế là ở một mức trừu tượng hóa cao độ nhưng xa rời
thực tế. Lý thuyết Kinh tế học thể chế Mới tạo ra khả năng miêu tả cuộc sống kinh tế
một cách gần thực tế hơn.
Trong khuôn khổ của lý thuyết Kinh tế học thể chế mới, các phí tổn giao dịch đóng
một vai trò quan trọng. Internet có thể làm giảm phí tổn của một giao dịch trong
giai đoạn tìm và khởi đầu giao dịch. Ngay trong giai đoạn tiến hành cũng có khả
năng giảm phí tổn chuyên chở. Nói chung phí tổn cho các giao dịch trên thị trường
được giảm đi và việc điều phối thông qua thị trường có lợi hơn.
Kinh tế nhà máy
Mục đích của một doanh nghiệp khi biến đổi đến thương mại điện tử là giảm thiểu chi
phí trong doanh nghiệp. Các biện pháp nhằm để giảm thiểu chi phí trước tiên là bao
gồm việc tối ưu hóa các quy trình kinh doanh đang tồn tại và thành lập các quy trình
mới dựa trên nền tảng của các công nghệ Internet. Thông qua việc tích hợp này của các
07/2007

6
CHỮ KÍ ĐIỆN TỬ
tính năng doanh nghiệp dọc theo chuỗi giá trị, việc tiến hành kinh doanh có hiệu quả
cao hơn. Các lợi thế cho doanh nghiệp có thể là:
• Khả năng giao tiếp mới với khách hàng
• Khách hàng hài lòng hơn
• Nâng cao hình ảnh của doanh nghiệp
• Khai thác các kênh bán hàng mới
• Có thêm khách hàng mới
• Tăng doanh thu
• Tăng hiệu quả
Phân cách kỹ thuật số
Khái niệm "phân cách kỹ thuật số" (tiếng Anh: digital divide) diễn tả việc chia cắt
thế giới ra làm hai phần: một phần mà trong đó việc sử dụng các phương tiện
truyền thông điện tử đã phát triển và một phần kém phát triển hơn. Các nhà kinh tế
học tin rằng việc sử dụng thương mại điện tử sẽ nâng cao tăng trưởng kinh tế của
các nền kinh tế quốc dân và vì thế các nước đã phát triển cao sẽ tiếp tục tăng
khoảng cách bỏ xa các nước kém phát triển hơn.
1.3. Các loại thị trường điện tử
Tùy thuộc vào đối tác kinh doanh người ta gọi đó là thị trường B2B, B2C, C2B hay
C2C. Thị trường mở là những thị trường mà tất cả mọi người có thể đăng ký và tham
gia. Tại một thị trường đóng chỉ có một số thành viên nhất định được mời hay cho phép
tham gia. Một thị trường ngang tập trung vào một quy trình kinh doanh riêng lẻ nhất
định, thí dụ như cung cấp: nhiều doanh nghiệp có thể từ các ngành khác nhau tham gia
như là người mua và liên hệ với một nhóm nhà cung cấp. Ngược lại, thị trường dọc mô
phỏng nhiều quy trình kinh doanh khác nhau của một ngành duy nhất hay một nhóm
người dùng duy nhất.
Sau khi làn sóng lạc quan về thương mại điện tử của những năm 1990 qua đi, thời gian
mà đã xuất hiện nhiều thị trường điện tử, người ta cho rằng sau một quá trình tập trung
chỉ có một số ít thị trường lớn là sẽ tiếp tục tồn tại. Thế nhưng bên cạnh đó là ngày

càng nhiều những thị trường chuyên môn nhỏ.
Ngày nay tình hình đã khác hẳn đi: công nghệ để thực hiện một thị trường điện tử đã rẻ
đi rất nhiều. Thêm vào đó là xu hướng kết nối nhiều thông tin chào hàng khác nhau
thông qua các giao diện lập trình ứng dụng để thành lập một thị trường chung có mật
độ chào hàng cao (thí dụ như Khu chợ Amazon). Ngoài ra các thị trường độc lập trước
đây còn được tích hợp ngày càng nhiều bằng các giải pháp phần mềm cho một cổng
Web toàn diện.
Phân loại thương mại điện tử
Thương mại điện tử có thể được phân loại theo tính cách của người tham gia
• Người tiêu dùng
o C2C (Consumer-To-Comsumer) Người tiêu dùng với người tiêu dùng
o C2B (Consumer-To-Business) Người tiêu dùng với doanh nghiệp
07/2007
7
CHỮ KÍ ĐIỆN TỬ
o C2G (Consumer-To-Government) Người tiêu dùng với chính phủ
• Doanh nghiệp
o B2C (Business-To-Consumer) Doanh nghiệp với người tiêu dùng
o B2B (Business-To-Business) Doanh nghiệp với doanh nghiệp
o B2G (Business-To-Government) Doanh nghiệp với chính phủ
o B2E (Business-To-Employee) Doanh nghiệp với nhân viên
• Chính phủ
o G2C (Government-To-Consumer) Chính phủ với người tiêu dùng
o G2B (Government-To-Business) Chính phủ với doanh nghiệp
o G2G (Government-To-Government) Chính phủ với chính phủ
1.4. Qui định pháp luật đối với thương mại điện tử.
Quy định của Áo
Thương mại điện tử được điều chỉnh tại Áo trước tiên là bằng Luật Thương
mại điện tử (E-Commerce-Gesetz ECG), Luật bán hàng từ xa
(Fernabsatzgesetz), Luật chữ ký (Signaturgesetz), Luật kiểm soát nhập hàng

(Zugangskontrollgesetz) cũng như bằng Luật tiền điện tử (E-Geld-Gesetz),
mà trong đó các quy định pháp luật về hợp đồng và bồi thường của bộ Luật
Dân sự Áo (Allgemeine bürgerliche Gesetzbuch - ABGB), nếu như không
được thay đổi bằng những quy định đặc biệt trên, vẫn có giá trị.
Quy định của Đức
Nằm trong các điều 312b và sau đó của bộ Luật dân sự (Bürgerliche Gesetzbuch –
BGB) (trước đây là Luật bán hàng từ xa) là các quy định đặc biệt về những cái gọi là
các hợp đồng bán hàng từ xa. Ngoài những việc khác là quy định về trách nhiệm thông
tin cho người bán và quyền bãi bỏ hợp đồng cho người tiêu dùng.
Cũng trong quan hệ này, Luật dịch vụ từ xa (Teledienstgesetz) ấn định bên cạnh nguyên
tắc nước xuất xứ (điều 4) là toàn bộ các thông tin mà những người điều hành các trang
web có tính chất hành nghề, mặc dầu chỉ là doanh nghiệp nhỏ, có nhiệm vụ phải cung
cấp (điều 6) và điều chỉnh các trách nhiệm này trong doanh nghiệp đó (điều 8 đến điều
11).
Ở những hợp đồng được ký kết trực tuyến thường hay không rõ ràng là luật nào được
sử dụng. Thí dụ như ở một hợp đồng mua được ký kết điện tử có thể là luật của nước
mà người mua đang cư ngụ, của nước mà người bán đặt trụ sở hay là nước mà máy chủ
được đặt. Luật pháp của kinh doanh điện tử vì thế còn được gọi là "luật cắt ngang". Thế
nhưng những điều không rõ ràng về luật pháp này hoàn toàn không có nghĩa là lãnh
vực kinh doanh điện tử là một vùng không có luật pháp. Hơn thế nữa, các quy định của
Luật dân sự quốc tế (tiếng Anh: private intenational law) được áp dụng tại đây.
Tại nước Đức các quy định luật lệ châu Âu về thương mại được tích hợp trong bộ Luật
dân sự, trong phần đại cương và trong các quy định về bảo vệ người tiêu dùng. Mặt kỹ
thuật của thương mại điện tử được điều chỉnh trong Hiệp định quốc gia về dịch vụ
trong các phương tiện truyền thông của các tiểu bang và trong Luật dịch vụ từ xa của
liên bang mà thật ra về nội dung thì hai bộ luật này không khác biệt nhau nhiều.
Quy định của Việt Nam
07/2007
8
CHỮ KÍ ĐIỆN TỬ

Cơ sở pháp lý điều chỉnh hoạt động thương mại điện tử ở Việt Nam ra đời khá muộn so
với nhiều nước trên thế giới. Cuối năm 2005, Việt Nam mới có "Luật Giao dịch điện
tử" và năm 2006 mới ra đời Nghị định hướng dẫn thi hành luật này.
Tới đầu năm 2007, Chính phủ Việt Nam ban hành Nghị định số 27/2007/NĐ-CP ngày
23/02/2007 "Về giao dịch điện tử trong hoạt động tài chính", số 26/2007/NĐ-CP ngày
15/02/2007 "Quy định chi tiết thi hành Luật Giao dịch điện tử về chữ ký số và dịch vụ
chứng thực chữ ký số", số 35/2007/NĐ-CP ngày 08/03/2007 "Về giao dịch điện tử
trong hoạt động ngân hàng".
Phương diện xuyên biên giới
Để đơn giản hóa thương mại điện tử xuyên biên giới và để bảo vệ người tiêu dùng tham
gia, Chỉ thị thương mại điện tử của EU (chỉ thị 2000/31/EG) được thỏa thuận như là cơ
sở luật pháp và các tiêu chuẩn tối thiểu cho cộng đồng châu Âu.
Để đơn giản hóa giao dịch, trong Liên minh châu Âu , ở những quan hệ nợ do hợp đồng
mang lại, về cơ bản là có sự tự do chọn lựa luật lệ của các phái tham gia. Hợp đồng của
người tiêu dùng, một trong những điều ngoại lệ, được quy định là không được phép
thông qua việc lựa chọn luật lệ mà vô hiệu hóa việc bảo vệ người tiêu dùng xuát phát từ
những quy định bắt buộc của quốc gia mà người tiêu dùng đó đang cư ngụ, nếu khi
trước ký kết hợp đồng có chào mời rõ rệt hay một quảng cáo trong quốc gia người tiêu
dùng đang cư ngụ và hoạt động.
Trong lãnh vực B2B thường là luật của người bán được thỏa thuận để đơn giản hóa.
Việc cùng đưa luật của quốc gia người mua vào sử dụng là phức tạp là vì nếu như thế
người bán phải đối phó với 25 luật lệ khác nhau và phần lớn lại được viết bằng tiếng
nước ngoài. Thế nhưng nguyên tắc quốc gia xuất xứ cũng không phải là hoàn hảo:
Người mua thường không am hiểu luật lệ của nước khác và vì thế không dễ dàng đại
diện được cho quyền lợi của mình. Ngoài ra việc hành luật của từng nước thường khác
nhau và người bán từ một số quốc gia nhất định hay có nhiều lợi thế hơn so với những
người khác. Trên lý thuyết, mỗi nước đều có khả năng thay đổi luật lệ một cách tương
ứng để đẩy mạnh nền kinh tế quốc gia.
Tuy có những mặt bóng tối này, thương mại trong Internet xuyên quốc gia tất nhiên
cũng có nhiều ưu thế. Nhiều món hàng chỉ được bán trong một số nước nhất định.

Người muốn mua có thể tìm được sản phẩm cần dùng trong Internet với sự giúp đỡ của
các máy truy tìm đặc biệt và cũng có thể so sánh giá của những người bán trong các
nước khác nhau. Một phần thì không những là giá của từng nhóm sản phẩm khác nhau
mà thuế giá trị thặng dư cũng còn khác nhau, do đó mặc dù là tiền gửi hàng cao hơn
nhưng việc đặt mua ở nước ngoài có thể mang lại nhiều lợi ích hơn. Trong phạm vi của
EU người mua không phải đóng thuế nên phí tổn tổng cộng minh bạch cho người mua.
Nói tóm lại, thương mại điện tử xuyên biên giới mặc dầu bị ghìm lại do còn có điều
không chắc chắn trong pháp luật nhưng có tiềm năng phát triển lớn. Một bộ luật thống
nhất cho châu Âu quan tâm nhiều hơn nữa đến lợi ích của người tiêu dùng về lâu dài
chắc chắn sẽ mang lại thêm nhiều tăng trưởng.
07/2007
9
CHỮ KÍ ĐIỆN TỬ
Việt Nam hoà nhập Internet vào cuối năm 1997, một thời gian sau thì thuật ngữ thương
mại điện tử bắt đầu xuất hiện song chưa phát triển. Mặc dù những lợi ích mà thương
mại điện tử mang lại cho nền kinh tế là rất to lớn song nước ta vẫn còn mất một khoảng
thời gian tương đối dài trước khi ứng dụng rộng rãi thương mại điện tử cho nền kinh tế
quốc dân.
2. Khái niệm về chữ kí điện tử và chữ kí số
Một trong những vấn đề trong thương mại điện tử chính là vấn đề định danh
và chứng thực. Và giải pháp được đưa ra là ứng dụng chữ kí điện tử.
Chữ ký điện tử (tiếng Anh : electronic signature) là thông tin đi kèm
theo dữ liệu (văn bản , hình ảnh, video...) nhằm mục đích xác định người chủ
của dữ liệu đó.
Ngày nay khi sự phát triển của internet và công nghệ thông tin ngày càng cao. Đã cho
phép chúng ta thực hiện những giao dịch điện tử thông qua internet, nhưng tính linh
hoạt của internet cũng tạo cơ hội cho “bên thứ ba” có thể thực hiện các hành động bất
hợp pháp cụ thể là:
Nghe trộm: Thông tin thì không bị thay đổi nhưng sự bí mật của nó thì không
còn. Ví dụ: Thông tin về số thẻ tín dụng, thông tin về trao đổi giao dịch … cần bảo mật.

Giả mạo: Các thông tin trong khi truyền đi bị thay đổi hoặc thay thế trước khi
đến với người nhận. ví dụ: Đơn đặt hàng hay lý lịch cá nhân của một khách hàng …
Mạo danh: Thông tin được gửi tới một cá nhân mạo nhận là người nhận hợp
pháp theo hai hình thức. Hình thức thứ nhất là bắt trước, tức là một cá nhân có thể giả
vờ như một người khác như dùng địa chỉ mail của một người khác hoặc giả mạo một
tên miền của một trang web. Hình thức thứ hai là xuyên tạc, tức là một cá nhân hay một
tổ chức có thể đưa ra những thông tin không đúng sự thật về họ như một trang web
mạo nhận chuyên về kinh doanh trang thiết bị nội thất, nhưng thực tế lại là một trang
chuyên ăn cắp mã thẻ tín dụng và không bao giờ gửi hàng cho khách.
Do vậy để đảm bảo an toàn trong thương mại điện tử và giao dich điện
tử cần có các hình thức bảo mật có hiệu quả nhất công nghệ phổ biến hiện nay
được sử dụng là chữ kí điện tử, chữ kí số và chứng thực điện tử.
Chữ ký điện tử được sử dụng trong các giao dịch điện tử. Xuất phát từ thực tế,
chữ ký điện tử cũng cần đảm bảo các chức năng: xác định được người chủ của
một dữ liệu nào đó: văn bản, ảnh, video, ... dữ liệu đó có bị thay đổi hay không.
Hai khái niệm chữ kí số (digital signature) và chữ ký điện tử (electronic
signature) thường được dùng thay thế cho nhau mặc dù chúng không hoàn
toàn có cùng nghĩa. Chữ ký số chỉ là một tập con của chữ ký điện tử (chữ ký
điện tử bao hàm chữ ký số).
2.1. Lịch sử ra đời của chữ kí điện tử :
Con người đã sử dụng các hợp đồng dưới dạng điện tử từ hơn 100 năm nay với việc sử
dụng mã Morse và điện tín. Vào năm 1889, tòa án tối cao bang New Hampshire (Hoa
07/2007
10
CHỮ KÍ ĐIỆN TỬ
kỳ) đã phê chuẩn tính hiệu lực của chữ ký điện tử. Tuy nhiên, chỉ với những phát triển
của khoa học kỹ thuật gần đây thì chữ ký điện tử mới đi vào cuộc sống một cách rộng
rãi .
Vào thập kỷ 1980, các công ty và một số cá nhân bắt đầu sử dụng máy fax để truyền đi
các tài liệu quan trọng. Mặc dù chữ ký trên các tài liệu này vẫn thể hiện trên giấy nhưng

quá trình truyền và nhận chúng hoàn toàn dựa trên tín hiệu điện tử.
Hiện nay, chữ ký điện tử có thể bao hàm các cam kết gửi bằng email, nhập
các số định dạng cá nhân (PIN) vào các máy ATM, ký bằng bút điện tử với
thiết bị màn hình cảm ứng tại các quầy tính tiền, chấp nhận các điều khoản
người dùng (EULA-End User Lisence Agreement) khi cài đặt phần mềm
máy tính, ký các hợp đồng điện tử online

...
2.2. Khái niệm và mô hình chung của chữ kí điện tử
Chữ ký điện tử là đoạn dữ liệu gắn liền với văn bản gốc để chứng thực
tác giả của văn bản và giúp người nhận kiểm tra tính toàn vẹn của văn bản gốc .
Chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều
trên văn bản gốc để tạo ra bản ra bản phân tích văn bản (message digest)
hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số
đính kèm với văn bản gốc để gửi đi. khi nhận, văn bản được tách làm 2
phần, phần văn bản gốc được tính lại fingerprint để so sánh với fingerprint
cũ cũng được phục hồi từ việc giải mã chữ ký số. Như vậy ta có thể xác
định được thông điệp bị gửi không bị sửa đổi hay can thiệp trong quá trình
gửi.
Mô hình chung cho chữ ký điện tử:
1.
Đặc điểm của chữ ký điện tử rất đa dạng, có thể là một tên hoặc hình ảnh cá nhân kèm
theo dữ liệu điện tử, một mã khoá bí mật, hay một dữ liệu sinh trắc học (chẳng hạn như
hình ảnh mặt, dấu vân tay, hình ảnh mống mắt...) có khả năng xác thực người gửi.
Độ an toàn của từng dạng là khác nhau .
Quy trình thực hiện chữ ký điện tử:
07/2007
11
CHỮ KÍ ĐIỆN TỬ
1. Các bước mã hóa:

- Dùng giải thuật băm để thay đổi thông điệp cần truyền đi. kết quả ta được một
message digest. dùng giải thuật MD5 (Message Digest 5) ta được digest có chiều
dài 128-bit, dùng giải thuật SHA (Secure Hash Algorithm) ta có chiều dại 160
bit.
- Sử dụng khóa private key của người gửi để mã hóa message digest thu được ở
bước 1. thông thường ở bước này ta dùng giải thuật rsa. kết quả thu được gọi
là digital signature của message ban đầu .
- Gộp digital signature vào message ban đầu. công việc này gọi là “ký nhận”
vào message. sau khi đã ký nhận vào message, mọi sự thay đổi trên
message sẽ bị phát hiện trong giai đoạn kiểm tra. ngoài ra, việc ký nhận
này đảm bảo người nhận tin tưởng message này xuất phát từ người gửi chứ
không phải ai khác.
2. Các bước kiểm tra:
- Dùng public key của người gửi (khóa này được thông báo đến mọi
người ) để giải mã chữ ký số của message .
- Dùng giải thuật md5 hoặc sha băm message đính kèm .
So sánh kết quả thu được ở các bước trên . Nếu trùng nhau , ta kết luận message này
không bị thay đổi trong quá trình truyền và message này là của người gửi.
Chữ kí điện tử sử dụng mã khóa công khai:
Các nhà khoa học Diffie và Hellman đã đề xuất ra phương pháp Ký trên các văn
bản điện tử sử dụng hệ mã khoá công khai theo ý tưởng :
1) Người gửi ký văn bản sẽ gửi cho người nhận bằng cách mã hoá văn bản
đó với mã khoá riêng Private Key của mình sau đó gửi cho người nhận.
2) Người nhận sử dụng chìa khoá công khai của người gửi là Public Key
để giải mã văn bản mã hoá nhận được.
Theo cách như vậy thì chữ ký điện tử đã đảm bảo được các tính năng của chữ
ký viết tay:
1) Khẳng định rằng văn bản đó là do người gửi có chủ định ký với khoá
riêng của mình.
2) Khẳng định chủ nhân của văn bản đó là người có chiếc khoá Private

Key đi cùng cặp với Public Key dùng để giải mã văn bản mã hoá tương
ứng
3) Chữ ký trên văn bản mã hoá là không thể tái sử dụng vì cho dù có biết
Public Key thì cũng không tìm được ra Private Key tương ứng
4) Văn bản đã ký là không thể thay đổi vì nếu văn bản mã hoá đã được giải
mã thì không thể mã hoá lại được vì không biết Private Key trước đó
5) Người ký văn bản không thể phủ nhận chữ ký của mình vì chỉ có mình
anh ta biết chìa khoá bí mật để mã hoá văn bản đó.
Như vậy mỗi cá nhân khi tham gia vào hệ thống chữ ký điện tử cần phải được cung
cấp một bộ khóa (Public key, Private key) dùng để định danh cá nhân đó bởi một tổ
chức cơ quan có thẩm quyền và được công nhận trong phạm vi xử dụng.
Chữ ký số:
Là hình thức chữ ký điện tử phổ dụng nhất hiện nay.
Chữ ký số là một dạng đặc biệt của chữ ký điện tử sử dụng công nghệ khóa công khai
PKI (Public Key Infrastructure). Trong đó mỗi người tham gia ký cần một cặp khóa
07/2007
12
CHỮ KÍ ĐIỆN TỬ
bao gồm một khóa công khai và một khóa bí mật . Khóa bí mật dùng để tạo chữ ký số,
khóa công khai dùng để thẩm định, xác thực chữ ký số .
Quy trình tạo và kiểm tra chữ ký số:
Tạo chữ ký số:
Quá trình thẩm định chữ ký số:
07/2007
13
CHỮ KÍ ĐIỆN TỬ
07/2007
14
CHỮ KÍ ĐIỆN TỬ
3. Tính chất của chữ kí số :

3.1. Khả năng nhận thự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 không cần
phải được mã hóa mà chỉ cần mã hóa hàm băm của văn bản đó (thường có độ dài cố
định và ngắn hơn văn bản). Khi cần kiểm tra, bên nhận giải mã (với khóa công khai –
public key) để lấy lại hàm băm và kiểm tra với hàm băm của văn bản nhận được. Nếu 2
giá trị 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).
3.2. 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,b
3
) thay thế để lập tức trở thành triệu phú!
3.3. Tính không thể phủ nhận
Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó 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.

Vậy làm thế nào để đảm bảo các tính chất trên ? Ở đây chúng ta sử dụng mã hóa để
thực hiện việc tạo chữ kí điện tử . Một số thuật toán sau được sử dụng trong việc tạo ra
chữ kí điện tử :
- Full Domain Hash, RSA-PSS,… dựa trên RSA
- DSA
- ECDSA
- ElGamal signature scheme
- Undeniable signature
- SHA (thông thường là SHA-1) với RSA
07/2007
15
CHỮ KÍ ĐIỆN TỬ
Ở đây chúng ta sẽ chỉ tìm hiểu chủ yếu về 2 loại mã hóa được dùng nhiều nhất là RSA
và SHA (Secure Hash Alogrithm)
II. Các phương pháp mã hóa sử dụng trong chữ kí điện tử
1. Mã hóa là gì?
1.1. Giới thiệu về mã hóa
Các thuật ngữ cơ bản
Trong thực tế, một người muốn gửi thông điệp tới người nhận và không
muốn cho một người nào khác biết được nội dung của nó. Tuy nhiên sẽ
xuất hiện trường hợp một người thứ 3 có thể mở được thông điệp hoặc
nghe được cuộc gọi.
Trong thuật ngữ mã hoá, thông điệp được gọi là plaintext hay cleartext
(tạm dịch là chữ thường). Mã hoá nội dung của thông điệp để che giấu
đi nội dung của nó được gọi là thuật mã hoá. Thông điệp đã được mã
hoá gọi là văn bản mã hoá (ciphertext). Quá trình lấy nội dung của
ciphertext gọi là decryption (giải mã). Mã hoá và giải mã thường sử
dụng một key (chìa khoá) và phương thức mã hoá mà quá trình giải mã
chỉ có thể thực hiện được bởi người biết chìa khoá.
Thuật mã hoá là nghệ thuật hay khoa học để giữ cho thông điệp bí mật.

Phá mã là nghệ thuật lấy nội dung văn bản mã hoá mà không cần đến
chìa khoá. Người phá mã gọi là cryptographers và người mã hoá gọi là
cryptanalysts.
Thuật mã hoá đi liền với các phương thức bảo mật thông tin, chứng
thực, chữ ký điện tử, tiền tệ điện tử và các ứng dụng khác. Cryptology là
một nhánh của toán học nghiên cứu về các phương thức mã hoá.
Các phương thức mã hoá cơ bản
Một phương thức mã hoá và giải mã được gọi là mật mã (cipher). Một
vài phương thức mật mã dựa trên bí mật của thuật toán, những thuật
toán này chỉ được chú ý về mặt lịch sử và không phù hợp với thực tại.
Mộ thuật toán mã hoá hiện đại sử dụng một khoá để điều khiển quá
trình mã hoá và giải mã, một thông điệp có thể được giải mã chỉ khi
khoá giải mã đúng với khoá mã hoá.
Có 2 lớp của phương thức mã hoá là khoá đối xứng (khoá bí mật) và
khoá không đối xứng (khoá public). Sự khác nhau là thuật toán đối xứng
sử dụng cùng 1 khoá cho quá trình mã hoá và giải mã (hoặc khoá giải
mã có thể nhận được dễ dàng từ khoá mã hoá), trong khi đó phương
thức bất đối xứng sử dụng các khoá khác nhau cho quá trình mã hoá và
giải mã, và khoá giải mã không thể nhận được từ khoá mã hoá.
Khoá đối xứng có thể chia thành stream cipher (mã dòng) và block
cipher (mã cụm). Mã dòng có thể mã hoá một bit đơn của plaintext tại
một thời điểm, trong khi đó mã cụm mã hoá một nhóm các bit (thường
là 64 bit trong các phương thức mã hoá hiện đại) và mã hoá chúng
07/2007
16
CHỮ KÍ ĐIỆN TỬ
chung lại thành một đơn vị đơn.
Mã hoá bất đối xứng (public) cho phép khoá mã được công khai (nó có
thể được công bố trên báo), cho phép mọi người mã hoá với khoá này,
trong đó chỉ có người nhận thực sự (người biết khoá giải mã) mới giải

mã được thông điệp. Khoá mã được gọi là khoá chung (public) và khoá
giải mã được gọi là khoá riêng (private) hay khoá bí mật (secret key).
Phương thức mã hóa hiện đại không còn sử dụng mã hoá bút và giấy.
Các phương thức mã hoá mạnh được thiết kế để thực thi bởi các máy
tính hoặc các thiết bị phần cứng đặc biệt. Trong hầu hết các phương
thức mã hoá hiện đại, mã hoá được thực hiện bởi các phần mềm.
Thông thường mã hoá đối xứng thực thi nhanh hơn trên các máy tính so
với mã hoá bất đối xứng. Trong thực tế chúng thường được sử dụng
cùng nhau, trong đó khoá public được sử dụng để tạo nên khoá mã hoá
ngẫu nhiên, và khoá ngẫu nhiên được dùng để mã hoá thông điệp thực
sự sử dụng một thuật toán đối xứng. Đây thường được gọi là mã hoá lai.
Mô tả các thuật toán mã hoá là rất rộng và có thể tìm thấy được tại
nhiều sách, thư viện khoa học, hoặc trên mạng Internet. Có lẽ phương
thức mã hoá được nghiên cứu nhiều nhất và được dùng rộng rãi nhất là
DES, phương thức liền kề AES có lẽ là sự thay thế tốt. RSA là phương
thức nổi tiếng nhất.
Các chức năng băm nhỏ mã hoá
Các chức năng băm nhỏ mã hoá được sử dụng trong nhiều trường hợp, ví dụ như để
tính toán trong việc sắp xếp các thông điệp khi tạo nên một chữ kí điện tử. Một hàm
băm đưa các bit của thông điệp thành một giá trị băm có giá trị cố định. Một hàm băm
sẽ làm cho việc tìm lại một thông điệp đã bị băm trở nên cực kì khó khăn.
Các chức năng băm nhỏ thường tạo ra các giá trị băm 128 bit trỏ lên. Con số 2 mũ 128
lớn hơn rất nhiều số lượng các thông điệp được trao đổi trên toàn cầu. Lí do tại sao lại
cần thiết hơn 128 bit dựa trên birthday paradox. Birthday paradox chỉ ra rằng sự xắp
xếp của 128 bit sẽ gấp đôi so với trường hợp mã hoá 64 bit. Việc bộ nhớ rẻ hơn khiến
cho việc mã hoá lớn hơn 128 bit trở thành hiện thực như 160 bit hiện nay.
Rất nhiều thuật băm nhỏ là miễn phí. Thuật băm nhỏ miễn phí nổi tiếng nhất là họ MD,
như MD4 và MD5. MD4 đã bị phá và MD5 mặc dù đang được dùng rộng rãi, cũng sẽ
bị phá. SHA-1 và RipeMD-160 là những ví dụ tốt khi bạn muốn nghiên cứu về mã hoá.
Các phương thức tạo nên khoá mã hoá ngẫu nhiên

Phương thức mã hoá ngẫu nhiên tạo nên các số ngẫu nhiên được sử dụng trong các ứng
dụng mã hoá, ví dụ như các khoá. Các phương thức tạo nên số ngẫu nhiên trong các
ứng dụng ngày nay không thể sử dụng để tạo nên số mã hoá ngẫu nhiên vì chúng chỉ
tạo nên 1 con số ngẫu nhiên tĩnh, không thể chống lại được phương pháp đoán của
những kẻ phá khoá).
Trong trường hợp tối ưu, các số ngẫu nhiên được dựa trên tài nguyên vật lí thực tế ngẫu
nhiên mà không thể đoán được. Những nguồn này có thể là tín hiệu nhiễu trong một
thiết bị bán dẫn, tín hiệu bit thấp nhất của một âm thanh đầu vào, hoặc thời gian trễ
07/2007
17
CHỮ KÍ ĐIỆN TỬ
giữa các phiên ngắt của các thiết bị hoặc việc gõ bàn phím của người dùng. Nhiễu từ
thiết bị vật lý sau đó được chế thành hàm băm để tạo nên sự lệ thuộc giữa các bit.
Thường là một lượng lớn bit (vài nghìn bít) được sử dụng để tạo nên sự ngẫu nhiên, và
trong một thuật toán mã hoá mạnh mỗi bít trong nhóm này lại phụ thuộc vào mỗi bit
trong nhiễu đầu vào và mọi bit của nhóm.
Khi tính ngẫu nhiên vật lí không đảm bảo, số ngẫu nhiên giả được sử dụng. Trường
hợp này có thể phiền phức, nhưng thường được dùng trong các máy tính nói chung.
Chúng ta cần có được nhiễu của môi trường có thể là từ thiết bị bên trong, trạng thái tài
nguyên , trạng thái mạng, trễ bàn phím... Điều mấu chốt là dữ liệu không thể đoán được
bởi một kẻ tấn công bên ngoài, để đạt được điều này nhóm số mã hoá phải gồm ít nhất
128 bit.
Một hàm băm ngẫu nhiên mạnh thường bao hàm 1 lượng lớn pool ngẫu nhiên (nhóm số
mã hoá). Các bit trả về từ pool bởi lấy dữ liệu từ pool, thường là chạy các dữ liệu thông
qua hàm băm để tránh làm ảnh hưởng tới nội dung của pool. Khi cần nhiều bit hơn,
pool được trộn lẫn nội dung mã hoá của nó bởi một thuật mã hoá phù hợp với một khoá
ngẫu nhiên (được lấy từ phần trả về của pool). Trong một chế độ mà mỗi bit của pool
phụ thuốc vào mọi bit của pool. Một nhiễu môi trường được trộn lẫn vào pool để đảm
bảo việc đoán giá trị trước hoặc sau sau khi đã trộn sẽ trở nên khó thành hiện thực.
Mặc dù thuật toán tạo số mã hoá ngẫu nhiên mạnh không phải là khó tạo nên nhưng

thường là bị xem nhẹ và nếu như nó được thiết kế tồi thì sẽ trở thành điểm yếu đánh
chú ý của hệ thống.
Sức mạnh của các thuật toán mã hoá
Các hệ thống mã hoá tốt luôn luôn được thiết kế để càng khó bẻ gẫy càng tốt. Trong
thực tế có thể xây dựng nên mộ hệ thống không thể phá vỡ (mặc dù nó không được
phát triển). Sự quan tâm và trình độ luôn phải được chú ý tới. Mọi kĩ sư cần phải hiểu
rõ được các khái niệm về bảo mật và được đào tạo.
Theo lý thuyết, một phương thức mã hoá với một khoá có thể bị bẻ bởi việc thử mọi
khoá theo tuần tự.Nếu sử dụng các bẻ khoá hàng loạt để thử mọi khoá, thì sự tính toán
tăng lên nhiều lần theo sự tăng lên của độ dài khoá. Một khoá 32 bit đòi hỏi 2 mũ 32
(khoảng 10 mũ 9) bước thử. Điều này có thể được thực hiện tại một máy tính cá nhân.
Một khoá 40 bit đòi hỏi một máy tính cá nhân thử trong một tuần lẽ. Một hệ thống mã
hoá 56 bit (như DES) đòi hỏi nhiều máy tính cá nhân hợp tác trong vòng vài tháng
nhưng có thể dễ dàng phá bởi một thiết bị phần cứng đặc biệt. Giá của phần cứng này
có thể chấp nhận được đối với một tổ chức tội phạm, một công ty hàng đầu hay một
chính phủ. Khoá 64 bit hiện nay có thể phá bởi một chính phủ. Khoá 80 bit sẽ bị phá
trong vòng vài năm tới, khoá 128 bit sẽ an toàn trong một tương lai gần. Những khkoá
lớn hơn vẫn có thể được dùng hiện nay.
Tuy nhiên độ dài khoá không phải là yếu tố duy nhất. Nhiều mã hoá có thể bị phá
không bằng cách thử mọi khả năng (brute force). Nói chung, rất khó để thiết kế một
thuật mã hoá mà không thể bị bẻ . Tự thiết kế một thuật mã hoá của riêng bạn có thể là
thú vị, nhưng không nên dùng trong các ứng dụng thực tế trừ khi bạn là chuyên gia và
biết được chính xác điều bạn đang làm.
Rất khó để giữ bí mật cho mật thuật toán mã hoá bởi một người nào đó quan tâm có thê
07/2007
18
CHỮ KÍ ĐIỆN TỬ
thuê một tay bẻ khoá để dịch lại và khám phá ra phương pháp mã hoá của ta. Thực tế
cho thấy đã có nhiều thuật toán mã hoá bị đưa ra công khai.
Độ dài khoá sử dụng trong khoá public thường dài hơn so với khoá đối xứng do cấu

trúc mở rộng của thuật mã hoá. Vấn đề không phải ở việc đoán khoá đúng mà là nhận
được khoá tương xứng từ khoá public. Đối với RSA , điều này có thể được thực hiện
bằng cách phân tích một số nguyên lơn thành 2 thừa số. Trong một số hệ thống mã hoá
khác cần thiết phải tính toán một tổ hợp loga thành một số nguyên lớn.
Để có được ý tưởng về sự phức tạp của hệ mã hoá RSA, một tổ hợp 256 bit có thể được
phân thành thừa số tại nhà, và một khoá 512 bit có thể phá bởi 1 nhóm nghiên cứu của
trường đại học trong vòng vài thánh. Khoá 7689 bit không an toàn trong một khoảng
thời gian dài. Khoá 1024 bit và lớn hơn sẽ là khá an toàn hiện nay trừ khi xuất hiện
những nghiên cứu chống lại RSA, khoá 2048 bit được cho là an toàn cho những thập kỉ
tới.
Thường độ vững chắc của một hệ thống mã hoá bằng với sức mạnh của thuật toán mã
hoá. Thuật toán mã hoá và chính sách sử dụng là những điểm quan tâm nhất trong việc
thử phá vỡ một hệ thống.
1.2. Nói thêm về thuật toán mã hóa khóa public
Hệ thống khoá public đã được phát minh ra từ cuối những năm 1970 với sự
hợp lực của các nhà phát triển lý thuyết phức tạp trong khoảng thời gian
này. Nó được tin rằng chỉ bị phá vỡ trong khoảng thời gian hàng nghìn năm.
Ý tưởng la sử dụng 2 khoá là khoá public và khoá private (khoá bí mật).
Dùng khoá public để mã hoá dữ liệu và sử dụng khoá private để giải mã.
Khoá private chỉ được sở hữu bởi người nhận thông điệp tuy nhiên khoá
public thì mọi người đều biết và có thể gửi đi. (? Cái này hơi ngược ngược
thì phải )
Một ý tưởng khác là dùng khoá trao đổi. Trong một phiên truyền thông 2
bên cần tạo ra một khoá bí mật chung bằng hệ thống mã hoá khoá bí mật (ví
dụ như một vài mã hoá khối). Sau đó, Whitfield Diffie và Martin Hellman
sử dụng nhiều ý tưởng để thiết lập một hệ thống khoá trao đổi tạo nên kỉ
nghuyên của hệ thống mã hoá public. Một thời gian ngắn sau đó Ron
Rivest, Adi Shamir và Leonard Adleman phát triển một hệ thống mã hoá
chính là hệ thống mã hoá khóa public đầu tiên có khả năng mã hoá và giải
mã chứ kí điện tử.

Sau đó xuất hiện vài hệ thống mã hoá khoá public với những ý tưởng khác
nhau. Rất lớn trong số đó trở nên không an toàn. Tuy nhiên giao thức của
Diffie-Hellman và RSA có vẻ như vẫn là 2 trong số những thuật toán mã
hoá vững chắc nhất cho tới nay.
2. Mã hóa sử dụng RSA
Trong mật mã học, RSA là một thuật toán mật mã hóa khóa công khai. Đây
là thuật toán đầu tiên phù hợp với việc tạo ra chữ kí điện tử đồng thời với
việc mã hóa. Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã học
07/2007
19
CHỮ KÍ ĐIỆN TỬ
trong việc sử dụng khóa công cộng. RSA đang được sử dụng phổ biến trong
thương mại điện tử và được cho là đảm bảo an toàn với điều kiện độ dài
khóa đủ lớn.
2.1. Lịch sử ra đời
Thuật toán được Ron Rivest,Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm
1977 tại Học viện công nghệ Massachusetts (MIT). Tên của thuật toán lấy từ 3 chữ cái
đầu của tên 3 tác giả.
Trước đó, vào năm 1973, Clifford Cocks, một nhà toán học người Anh làm việc tại
GCHQ, đã mô tả một thuật toán tương tự. Với khả năng tính toán tại thời điểm đó thì
thuật toán này không khả thi và chưa bao giờ được thực nghiệm. Tuy nhiên, phát minh
này chỉ được công bố vào năm 1997 vì được xếp vào loại tuyệt mật.
Thuật toán RSA được MIT đăng ký bằng sáng chế tại Hoa Kỳ vào năm
1983 (Số đăng ký 4,405,829). Bằng sáng chế này hết hạn vào ngày 21 tháng
9 năm 2000. Tuy nhiên, do thuật toán đã được công bố trước khi có đăng ký
bảo hộ nên sự bảo hộ hầu như không có giá trị bên ngoài Hoa Kỳ. Ngoài ra,
nếu như công trình của Clifford Cocks đã được công bố trước đó thì bằng
sáng chế RSA đã không thể được đăng ký.
2.2. Cách thức hoạt động của RSA
Mô tả sơ lược

Thuật toán RSA có hai khóa: khóa công khai – public key (hay khóa công cộng) và
khóa bí mật – private key (hay khóa cá nhân). Mỗi khóa là những số cố định sử dụng
trong quá trình mã hóa và giải mã. Khóa công khai được công bố rộng rãi cho mọi
người và được dùng để mã hóa. Những thông tin được mã hóa bằng khóa công khai chỉ
có thể được giải mã bằng khóa bí mật tương ứng. Nói cách khác, mọi người đều có thể
mã hóa nhưng chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mã được.
Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai như sau : B
muốn gửi cho A một thông tin mật mà B muốn duy nhất A có thể đọc được.
Để làm được điều này, A gửi cho B một chiếc hộp có khóa đã mở sẵn và
giữ lại chìa khóa. B nhận chiếc hộp, cho vào đó một tờ giấy viết thư bình
thường và khóa lại (như loại khoá thông thường chỉ cần sập chốt lại, sau khi
sập chốt khóa ngay cả B cũng không thể mở lại được-không đọc lại hay sửa
thông tin trong thư được nữa). Sau đó B gửi chiếc hộp lại cho A. A mở hộp
với chìa khóa của mình và đọc thông tin trong thư. Trong ví dụ này, chiếc
hộp với khóa mở đóng vai trò khóa công khai, chiếc chìa khóa chính là khóa
bí mật.
Tạo khóa
07/2007
20
CHỮ KÍ ĐIỆN TỬ
Giả sử Alice và Bob cần trao đổi thông tin bí mật thông qua một kênh không an toàn (ví
dụ như Internet). Với thuật toán RSA, Alice đầu tiên cần tạo ra cho mình cặp khóa gồm
khóa công khai và khóa bí mật theo các bước sau:
1. Chọn 2 số nguyên tố lớn và với , lựa chọn ngẫu nhiên và độc lập.
2. Tính: .
3. Tính: giá trị hàm số Ơle .
4. Chọn một số tự nhiên e sao cho và là số nguyên tố cùng nhau
với .
5. Tính: d sao cho .
Một số lưu ý:

• Các số nguyên tố thường được chọn bằng phương pháp thử xác suất.
• Các bước 4 và 5 có thể được thực hiện bằng giải thuật Euclid mở rộng (xem
thêm: số học môđun).
• Bước 5 có thể viết cách khác: Tìm số tự nhiên sao cho
cũng là số tự nhiên. Khi đó sử dụng giá trị
.
• Từ bước 3, PKCS#1 v2.1 sử dụng thay cho
).
Khóa công khai bao gồm:
• n, môđun, và
• e, số mũ công khai (cũng gọi là số mũ mã hóa).
Khóa bí mật bao gồm:
• n, môđun, xuất hiện cả trong khóa công khai và khóa bí mật, và
• d, số mũ bí mật (cũng gọi là số mũ giải mã).
Một dạng khác của khóa bí mật bao gồm:
• p and q, hai số nguyên tố chọn ban đầu,
• d mod (p-1) và d mod (q-1) (thường được gọi là dmp1 và dmq1),
• (1/q) mod p (thường được gọi là iqmp)
Dạng này cho phép thực hiện giải mã và ký nhanh hơn với việc sử dụng định lý số dư
Trung Quốc (tiếng Anh: Chinese Remainder Theorem - CRT). Ở dạng này, tất cả thành
phần của khóa bí mật phải được giữ bí mật.
Alice gửi khóa công khai cho Bob, và giữ bí mật khóa cá nhân của mình. Ở
đây, p và q giữ vai trò rất quan trọng. Chúng là các phân tố của n và cho
phép tính d khi biết e. Nếu không sử dụng dạng sau của khóa bí mật (dạng
CRT) thì p và q sẽ được xóa ngay sau khi thực hiện xong quá trình tạo khóa.
07/2007
21
CHỮ KÍ ĐIỆN TỬ
Mã hóa
Giả sử Bob muốn gửi đoạn thông tin M cho Alice. Đầu tiên Bob chuyển M thành một

số m < n theo một hàm có thể đảo ngược (từ m có thể xác định lại M) được thỏa thuận
trước. Quá trình này được mô tả ở phần #Chuyển đổi văn bản rõ.
Lúc này Bob có m và biết n cũng như e do Alice gửi. Bob sẽ tính c là bản mã hóa của m
theo công thức:
Hàm trên có thể tính dễ dàng sử dụng phương pháp tính hàm mũ (theo môđun) bằng
(thuật toán bình phương và nhân) Cuối cùng Bob gửi c cho Alice.
Giải mã
Alice nhận c từ Bob và biết khóa bí mật d. Alice có thể tìm được m từ c theo công thức
sau:
Biết m, Alice tìm lại M theo phương pháp đã thỏa thuận trước. Quá trình giải mã hoạt
động vì ta có
.
Do ed ≡ 1 (mod p-1) và ed ≡ 1 (mod q-1), (theo Định lý Fermat nhỏ) nên:

Do p và q là hai số nguyên tố cùng nhau, áp dụng định lý số dư Trung Quốc, ta có:
.
hay:
.
Ví dụ
Sau đây là một ví dụ với những số cụ thể. Ở đây chúng ta sử dụng những số nhỏ để tiện
tính toán còn trong thực tế phải dùng các số có giá trị đủ lớn.
07/2007
22
CHỮ KÍ ĐIỆN TỬ
Lấy:
p = 61 — số nguyên tố thứ nhất (giữ bí mật hoặc hủy sau khi tạo khóa)
q = 53 — số nguyên tố thứ hai (giữ bí mật hoặc hủy sau khi tạo khóa)
n = pq =
3233
— môđun (công bố công khai)

e = 17 — số mũ công khai
d = 2753 — số mũ bí mật
Khóa công khai là cặp (e, n). Khóa bí mật là d. Hàm mã hóa là:
encrypt(m) = m
e
mod n = m
17
mod 3233
với m là văn bản rõ. Hàm giải mã là:
decrypt(c) = c
d
mod n = c
2753
mod 3233
với c là văn bản mã.
Để mã hóa văn bản có giá trị 123, ta thực hiện phép tính:
encrypt(123) = 123
17
mod 3233 = 855
Để giải mã văn bản có giá trị 855, ta thực hiện phép tính:
decrypt(855) = 855
2753
mod 3233 = 123
Cả hai phép tính trên đều có thể được thực hiện hiệu quả nhờ giải thuật bình phương và
nhân.
Chuyển đổi văn bản rõ
Trước khi thực hiện mã hóa, ta phải thực hiện việc chuyển đổi văn bản rõ (chuyển đổi
từ M sang m) sao cho không có giá trị nào của M tạo ra văn bản mã không an toàn. Nếu
không có quá trình này, RSA sẽ gặp phải một số vấn đề sau:
• Nếu m = 0 hoặc m = 1 sẽ tạo ra các bản mã có giá trị là 0 và 1 tương ứng

• Khi mã hóa với số mũ nhỏ (chẳng hạn e = 3) và m cũng có giá trị nhỏ, giá trị m
e
cũng nhận giá trị nhỏ (so với n). Như vậy phép môđun không có tác dụng và có
thể dễ dàng tìm được m bằng cách khai căn bậc e của c (bỏ qua môđun).
• RSA là phương pháp mã hóa xác định (không có thành phần ngẫu nhiên) nên kẻ
tấn công có thể thực hiện tấn công lựa chọn bản rõ bằng cách tạo ra một bảng
tra giữa bản rõ và bản mã. Khi gặp một bản mã, kẻ tấn công sử dụng bảng tra để
tìm ra bản rõ tương ứng.
Trên thực tế, ta thường gặp 2 vấn đề đầu khi gửi các bản tin ASCII ngắn với m là nhóm
vài ký tự ASCII. Một đoạn tin chỉ có 1 ký tự NUL sẽ được gán giá trị m = 0 và cho ra
bản mã là 0 bất kể giá trị của e và N. Tương tự, một ký tự ASCII khác, SOH, có giá trị 1
sẽ luôn cho ra bản mã là 1. Với các hệ thống dùng giá trị e nhỏ thì tất cả ký tự ASCII
07/2007
23
CHỮ KÍ ĐIỆN TỬ
đều cho kết quả mã hóa không an toàn vì giá trị lớn nhất của m chỉ là 255 và 255
3
nhỏ
hơn giá trị n chấp nhận được. Những bản mã này sẽ dễ dàng bị phá mã.
Để tránh gặp phải những vấn đề trên, RSA trên thực tế thường bao gồm một hình thức
chuyển đổi ngẫu nhiên hóa m trước khi mã hóa. Quá trình chuyển đổi này phải đảm bảo
rằng m không rơi vào các giá trị không an toàn. Sau khi chuyển đổi, mỗi bản rõ khi mã
hóa sẽ cho ra một trong số khả năng trong tập hợp bản mã. Điều này làm giảm tính khả
thi của phương pháp tấn công lựa chọn bản rõ (một bản rõ sẽ có thể tương ứng với
nhiều bản mã tuỳ thuộc vào cách chuyển đổi).
Một số tiêu chuẩn, chẳng hạn như PKCS, đã được thiết kế để chuyển đổi bản rõ trước
khi mã hóa bằng RSA. Các phương pháp chuyển đổi này bổ sung thêm bít vào M. Các
phương pháp chuyển đổi cần được thiết kế cẩn thận để tránh những dạng tấn công phức
tạp tận dụng khả năng biết trước được cấu trúc của bản rõ. Phiên bản ban đầu của
PKCS dùng một phương pháp đặc ứng (ad-hoc) mà về sau được biết là không an toàn

trước tấn công lựa chọn bản rõ thích ứng (adaptive chosen ciphertext attack). Các
phương pháp chuyển đổi hiện đại sử dụng các kỹ thuật như chuyển đổi mã hóa bất đối
xứng tối ưu (Optimal Asymmetric Encryption Padding - OAEP) để chống lại tấn công
dạng này. Tiêu chuẩn PKCS còn được bổ sung các tính năng khác để đảm bảo an toàn
cho chữ ký RSA (Probabilistic Signature Scheme for RSA – RSA - PSS).
Tạo chữ ký số cho văn bản
Thuật toán RSA còn được dùng để tạo chữ ký số cho văn bản. Giả sử Alice muốn gửi
cho Bob một văn bản có chữ ký của mình. Để làm việc này, Alice tạo ra một giá trị
băm (hash value) của văn bản cần ký và tính giá trị mũ d mod n của nó (giống như khi
Alice thực hiện giải mã). Giá trị cuối cùng chính là chữ ký điện tử của văn bản đang
xét. Khi Bob nhận được văn bản cùng với chữ ký điện tử, anh ta tính giá trị mũ e mod
n của chữ ký đồng thời với việc tính giá trị băm của văn bản. Nếu 2 giá trị này như
nhau thì Bob biết rằng người tạo ra chữ ký biết khóa bí mật của Alice và văn bản đã
không bị thay đổi sau khi ký.
Cần chú ý rằng các phương pháp chuyển đổi bản rõ (như RSA - PSS) giữ vai trò quan
trọng đối với quá trình mã hóa cũng như chữ ký điện tử và không được dùng khóa
chung cho đồng thời cho cả hai mục đích trên.
An ninh
Độ an toàn của hệ thống RSA dựa trên 2 vấn đề của toán học: bài toán phân tích ra
thừa số nguyên tố các số nguyên tố lớn và bài toán RSA. Nếu 2 bài toán trên là khó
(không tìm được thuật toán hiệu quả để giải chúng) thì không thể thực hiện được việc
phá mã toàn bộ đối với RSA. Phá mã một phần phải được ngăn chặn bằng các phương
pháp chuyển đổi bản rõ an toàn.
Bài toán RSA là bài toán tính căn bậc e môđun n (với n là hợp số): tìm số m sao cho
m
e
=c mod n, trong đó (e, n) chính là khóa công khai và c là bản mã. Hiện nay phương
pháp triển vọng nhất giải bài toán này là phân tích n ra thừa số nguyên tố. Khi thực hiện
được điều này, kẻ tấn công sẽ tìm ra số mũ bí mật d từ khóa công khai và có thể giải
mã theo đúng quy trình của thuật toán. Nếu kẻ tấn công tìm được 2 số nguyên tố p và q

sao cho: n = pq thì có thể dễ dàng tìm được giá trị (p-1)(q-1) và qua đó xác định d từ e.
07/2007
24
CHỮ KÍ ĐIỆN TỬ
Chưa có một phương pháp nào được tìm ra trên máy tính để giải bài toán này trong thời
gian đa thức (polynomial-time). Tuy nhiên người ta cũng chưa chứng minh được điều
ngược lại (sự không tồn tại của thuật toán). Xem thêm phân tích ra thừa số nguyên tố
về vấn đề này.
Tại thời điểm năm 2005, số lớn nhất có thể được phân tích ra thừa số nguyên tố có độ
dài 663 bít với phương pháp phân tán trong khi khóa của RSA có độ dài từ 1024 tới
2048 bít. Một số chuyên gia cho rằng khóa 1024 bít có thể sớm bị phá vỡ (cũng có
nhiều người phản đối việc này). Với khóa 4096 bít thì hầu như không có khả năng bị
phá vỡ trong tương lai gần. Do đó, người ta thường cho rằng RSA đảm bảo an toàn với
điều kiện n được chọn đủ lớn. Nếu n có độ dài 256 bít hoặc ngắn hơn, nó có thể bị phân
tích trong vài giờ với máy tính cá nhân dùng các phần mềm có sẵn. Nếu n có độ dài 512
bít, nó có thể bị phân tích bởi vài trăm máy tính tại thời điểm năm 1999. Một thiết bị lý
thuyết có tên là TWIRL do Shamir và Tromer mô tả năm 2003 đã đặt ra câu hỏi về độ
an toàn của khóa 1024 bít. Vì vậy hiện nay người ta khuyến cáo sử dụng khóa có độ dài
tối thiểu 2048 bít.
Năm 1993, Peter Shor công bố thuật toán Shor chỉ ra rằng: máy tính lượng tử (trên lý
thuyết) có thể giải bài toán phân tích ra thừa số trong thời gian đa thức. Tuy nhiên, máy
tính lượng tử vẫn chưa thể phát triển được tới mức độ này trong nhiều năm nữa.
Các vấn đề đặt ra trong thực tế
Quá trình tạo khóa
Việc tìm ra 2 số nguyên tố đủ lớn p và q thường được thực hiện bằng cách thử xác suất
các số ngẫu nhiên có độ lớn phù hợp (dùng phép kiểm tra nguyên tố cho phép loại bỏ
hầu hết các hợp số).
p và q còn cần được chọn không quá gần nhau để phòng trường hợp phân tích n bằng
phương pháp phân tích Fermat. Ngoài ra, nếu p-1 hoặc q-1 có thừa số nguyên tố nhỏ
thì n cũng có thể dễ dàng bị phân tích và vì thế p và q cũng cần được thử để tránh khả

năng này.
Bên cạnh đó, cần tránh sử dụng các phương pháp tìm số ngẫu nhiên mà kẻ tấn công có
thể lợi dụng để biết thêm thông tin về việc lựa chọn (cần dùng các bộ tạo số ngẫu nhiên
tốt). Yêu cầu ở đây là các số được lựa chọn cần đồng thời ngẫu nhiên và không dự
đoán được. Đây là các yêu cầu khác nhau: một số có thể được lựa chọn ngẫu nhiên
(không có kiểu mẫu trong kết quả) nhưng nếu có thể dự đoán được dù chỉ một phần thì
an ninh của thuật toán cũng không được đảm bảo. Một ví dụ là bảng các số ngẫu nhiên
do tập đoàn Rand xuất bản vào những năm 1950 có thể rất thực sự ngẫu nhiên nhưng
kẻ tấn công cũng có bảng này. Nếu kẻ tấn công đoán được một nửa chữ số của p hay q
thì chúng có thể dễ dàng tìm ra nửa còn lại (theo nghiên cứu của Donal Coppersmith
vào năm 1997)
Một điểm nữa cần nhấn mạnh là khóa bí mật d phải đủ lớn. Năm 1990, Wiener chỉ ra
rằng nếu giá trị của p nằm trong khoảng q và 2q (khá phổ biến) và d < n
1/4
/3 thì có thể
tìm ra được d từ n và e.
07/2007
25

×