Tải bản đầy đủ (.pdf) (70 trang)

Nghiên cứu các phương pháp hình thức ứng dụng kiểm chứng giao thức an toàn

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 (2.6 MB, 70 trang )

LỜI CẢM ƠN
Sau một thời gian tìm hiểu đề tài “Nghiên cứu các phương pháp hình thức
ứng dụng kiểm chứng giao thức an toàn”, em đã hoàn thành tiến độ dự kiến. Để
đạt được kết quả này, em đã nỗ lực thực hiện và đồng thời em đã nhận được rất
nhiều sự quan tâm, giúp đỡ của quý thầy cô, gia đình và bạn bè .
Em xin chân thành cảm ơn giáo viên hướng dẫn: ThS. Nguyễn Hồng Tân
– Bộ Môn Công nghệ phần mềm – Trường Đại Học Công Nghệ Thông Tin Và
Truyền Thông Thái Nguyên đã tận tình giúp đỡ em hoàn thành đề tài một cách
tốt nhất.
Em xin chân thành cảm ơn quý thầy cô và ban lãnh đạo trường Đại Học
Công Nghệ Thông Tin Và Truyền Thông Thái Nguyên đã nhiệt tình giảng dạy và
truyền đạt kiến thức quý báu và bổ ích trong suốt quá trình em học tập tại trường.
Em xin chân thành cảm ơn quý thầy cô thuộc Bộ Môn Công nghệ phần
mềm – Trường Đại Học Công Nghệ Thông Tin Và Truyền Thông Thái Nguyên
đã trang bị cho em những kiến thức chuyên ngành rất hữu ích để em hoàn thành
đề tài và phục vụ cho công việc của em sau này.
Trong quá trình thực hiện đề tài chắc chắn còn những thiếu sót, em rất
mong nhận được sự đóng góp ý kiến từ thầy cô và các bạn.
Em xin chân thành cảm ơn!
Sinh viên
Thiệu Thị Thắm

1


LỜI CAM ĐOAN
Đề tài của em được thực hiện trên cơ sở những kiến thức đã tích lũy được
trong quá trình học tập và làm việc, sự giúp đỡ tận tình của quý thầy cô, gia đình,
bạn bè, cùng với một số tài liệu quý báu mà em sưu tầm được cũng như kho tàng
Internet vô tận.
Em xin cam đoan không sao chép từ bất cứ một đồ án tốt nghiệp nào. Nếu


sai em xin hoàn toàn chịu trách nhiệm trước mọi kỷ luật của nhà trường đề ra.
Sinh viên
Thiệu Thị Thắm

2


MỤC LỤC
LỜI CẢM ƠN .....................................................................................................1
LỜI CAM ĐOAN................................................................................................2
MỤC LỤC ..........................................................................................................3
LỜI NÓI ĐẦU ....................................................................................................5
TÓM TẮT NỘI DUNG.......................................................................................6
CHƯƠNG I. CƠ SỞ LÝ THUYẾT .....................................................................7
1.1. Giới thiệu chung .......................................................................................7
1.2. Giao thức bảo mật an toàn.........................................................................8
1.2.1. Định nghĩa giao thức bảo mật an toàn...............................................8
1.2.2. Các lỗ hổng trong bảo mật và phương thức tấn công mạng...............9
1.2.3. Một số giao thức bảo mật phổ biến .................................................11
1.3. Tổng quan về phương pháp hình thức .....................................................18
1.3.1. Phân loại ........................................................................................19
1.3.2. Sử dụng ..........................................................................................20
1.3.3. Các phương pháp hình thức và hệ thống kí hiệu .............................22
1.3.4. π-Calculus ......................................................................................23
1.3.5. Ưu điểm và nhược điểm .................................................................29
1.4. Công cụ Proverif.....................................................................................30
1.4.1. Đặc điểm của Proverif ....................................................................31
1.4.2. Cài đặt công cụ:..............................................................................32
1.4.3. Mô hình tổng quát ..........................................................................33
1.4.4. Thực thi..........................................................................................33

1.4.5. Ví dụ Hello World..........................................................................41
CHƯƠNG II. TIẾP CẬN VÀ PHÂN TÍCH BÀI TOÁN EXAM.......................44
2.1. Lí do chọn bài toán và phát biểu về bài toán ...........................................44
2.1.1. Giới thiệu bài toán............................................................................44
2.1.2. Đặc tả bài toán bằng ngôn ngữ tự nhiên ...........................................46
2.2. Xác thực và bảo mật trong Exams...........................................................48
2.2.1. Mô hình hóa Exam protocol trong việc áp dụng π-Calculus ............48

3


2.2.2. Thuộc tính xác thực và bảo mật........................................................51
2.3. Kiểm chứng trong Exams .......................................................................55
2.3.1. Kiểm chứng thuộc tính cá nhân. .......................................................55
2.3.2. Kiểm chứng thuộc tính phổ dụng (Universal Verifiability Properties)57
CHƯƠNG III. THỰC NGHIỆM KIỂM CHỨNG TRÊN ..................................58
CÔNG CỤ PROVERIF .....................................................................................58
3.1. Thực hiện mô hình hóa các quy trình ......................................................58
3.2. Thực thi trên proverif..............................................................................60
3.2.1. Kiểm chứng thuộc tính cá nhân........................................................60
3.2.2. Kiểm chứng thuộc tính phổ dụng .....................................................64
KẾT LUẬN.......................................................................................................68
TÀI LIỆU THAM KHẢO .................................................................................69

4


LỜI NÓI ĐẦU
Vấn đề bảo đảm thông tin trong quá trình trao đổi thông tin luôn là vấn đề
được quân tâm. Trong thực tế, khi hai người bất kỳ muốn trao đổi dữ liệu với

nhau, họ phải xác định người kia là ai, sau đó thống nhất với nhau là phải dùng
phương pháp mã hóa nào, khóa là gì,… Để làm được điều đó họ phải tiến hành
thông qua giao thức bảo mật. Giao thức bảo mật là những chương trình nhằm
đảm bảo thông tin liên lạc qua mạng lưới truyền tin dựa vào các kỹ thuật mã hóa.
Tuy nhiên việc thiết kế và phát triển các giao thức bảo mật này rất dễ bị mắc lỗi.
Điều này được chứng minh qua giao thức rất nổi tiếng Needham-Schroeder
public-key đã được Lowe tìm thấy một lỗ hổng sau khi giao thức đã được công
bố 17 năm. Một dẫn chứng khác gần đây là phát hiện một lỗ hổng logic trong các
tính năng của giao thức TLS khi nó đã được sử dụng rộng rãi kể từ sau 13 năm
phiên bản đầu tiên của giao thức được công bố dưới phiên bản SSL 3.0. Lỗi bảo
mật có thể có hậu quả nghiêm trọng, dẫn đến việc mất thông tin hoặc mất lòng
tin của người dùng trong hệ thống. Hơn nữa, các lỗi bảo mật không thể phát hiện
bằng cách kiểm tra các phần mềm chức năng bởi vì chúng chỉ xuất hiện khi có
mặt kẻ tấn công. Do đó việc sử dụng các phương pháp hình thức để mô hình hóa
và thực hiện kiểm chứng chúng trên các công cụ tự động là rất hữu ích để có
được sự bảo đảm thực tế rằng các giao thức bảo mật là chính xác.
Điều này là lí do khiến lĩnh vực kiểm chứng giao thức bảo mật được
nghiên cứu và phát triển mạnh ở trên thế giới tuy nhiên ở Việt Nam thì còn hạn
chế và điều đó là lí do khiến em chọn đề tài “Nghiên cứu các phương pháp hình
thức ứng dụng kiểm chứng giao thức an toàn” làm đề tài đồ án tốt nghiệp.

5


TÓM TẮT NỘI DUNG
Bản báo cáo được chia thành 3 chương với nội dung như sau:
 Chương 1. Cơ sở lý thuyết
Trình bày tổng quan về phương pháp hình thức, giao thức bảo mật an toàn
và giới thiệu về công cụ kiểm chứng giao thức Proverif.
 Chương 2. Tiếp cận và phân tích bài toán Exam

Phát biểu, phân tích yêu cầu bài toán và các thuộc tính của Exam, mô
hình hóa hình thức cho các thuộc tính xác thực và thuộc tính bảo mật của Exam.
 Chương 3. Thực nghiệm kiểm chứng trên công cụ Proverif
Thực thi, phân tích và đánh giá kết quả sau khi thực hiện kiểm chứng
thuộc tính của bài toán Exam trên công cụ Proverif.

6


CHƯƠNG I. CƠ SỞ LÝ THUYẾT
1.1. Giới thiệu chung
Nguy cơ mất an toàn thông tin do nhiều nguyên nhân, đối tượng tấn công
đa dạng… Thiệt hại từ những vụ tấn công mạng là rất lớn, đặc biệt là những
thông tin thuộc lĩnh vực kinh tế, an ninh, quốc phòng… Theo số liệu thống kê về
hiện trạng bảo mật mới nhất công bố của Symantec, Việt Nam đứng thứ 11 trên
toàn cầu về các hoạt động đe dọa tấn công mạng. Những xu hướng đe dọa bảo
mật ngày càng gia tăng nổi bật hiện nay mà các tổ chức tại Việt Nam cần quan
tâm là: tấn công có chủ đích cao cấp, các mối đe dọa trên thiết bị di động, những
vụ tấn công độc hại và mất cắp dữ liệu. Thực tế, nguy cơ mất an ninh anh toàn
mạng máy tính còn có thể phát sinh ngay từ bên trong. Hệ thống máy tính luôn bị
đe dọa bởi các nguy cơ mất an toàn. Một trong những công việc để bảo vệ hệ
thống là làm sao giúp hệ thống tránh khỏi các nguy cơ đó.
Các nguy cơ và hiểm họa bao gồm:
- Hiểm họa vô tình: Khi người dùng khởi động lại hệ thống ở chế độ đặc
quyền, họ có thể tùy ý chỉnh sửa hệ thống. Nhưng sau khi hoàn thành công việc
họ không chuyển hệ thống sang chế độ thông thường, vô tình để kẻ xấu lợi dụng.
- Hiểm họa cố ý: Cố tình truy nhập hệ thống trái phép.
- Hiểm họa thụ động: Là hiểm họa nhưng chưa hoặc không tác động trực
tiếp


lên hệ thống, như nghe trộm các gói tin trên đường truyền.
- Hiểm họa chủ động: Là việc sửa đổi thông tin, thay đổi tình trạng hoặc

hoạt động của hệ thống
Nguyên nhân xuất phát
- Từ phía người sử dụng: Xâm nhập bất hợp pháp, ăn cắp tài sản có giá trị.
Trong đó quan trọng nhất là những người dùng nội bộ.
- Kiến trúc hệ thống thông tin: Tổ chức hệ thống kỹ thuật không có cấu
trúc hoặc không đủ mạnh để bảo vệ thông tin.
- Chính sách bảo mật an toàn thông tin: Không chấp hành các chuẩn an
toàn, không xác định rõ các quyền trong vận hành hệ thống.

7


1.2. Giao thức bảo mật an toàn
1.2.1. Định nghĩa giao thức bảo mật an toàn
Giao thức là tập hợp những quy tắc, quy ước truyền thông để thiết lập
giao tiếp đúng ngữ nghĩa giữa các chủ thể tham gia.
Giao thức bảo mật là những chương trình ngắn nhằm thực hiện các chức
năng liên quan đến đảm bảo thông tin liên lạc qua một mạng lưới truyền tin như
Internet được an toàn dựa trên các kỹ thuật mã hóa. Những cơ chế mã hóa chính
thường được sử dụng như là: Cơ chế mã hóa khóa đối xứng ( Symmetric Key
Cryptography), mã hóa khóa bất đối xứng (Asymmetric Key Cryptography) để
đảm bảo thỏa mãn các thuộc tính của một giao thức bảo mật thông thường như:
- Trao đổi khóa phiên bí mật để mã hóa dữ liệu.
- Xác định rõ các bên tham gia, định danh hai cá thể trao đổi dữ liệu,
chống phát lại thông điệp.
- Truyền dữ liệu an toàn:
+ Đảm bảo tính bảo mật (Confidentiality): Ngăn chặn được vấn đề xem

trộm thông điệp.
+ Đảm tính chứng thực (Authentication): Nhằm đảm bảo cho bên nhận
rằng thông tin không bị thay đổi trong quá trình truyền tin. Như vậy tính chứng
thực ngăn chặn các hình thức tấn công sửa thông điệp, mạo danh, và phát lại
thông điệp.
+ Đảm tính không từ chối (Non_repudiation): Là cơ chế để xác định rằng
trách nhiệm của các bên tham gia. Cơ chế để bảo đảm tính chứng thực và tính
không từ chối của bên tham gia người ta cũng thiết lập một cơ chế như vậy, cơ
chế này được gọi là chữ ký điện tử.
+ Đảm bảo tính rõ ràng (Message Freshness)
Giao thức bảo mật được sử dụng phổ biến như sử dụng trong thương mại
điện tử: có giao thức TLS (Transport Layer Security) được sử dụng cho https://
URLs. Sử dụng trong các giao dịch ngân hàng, mạng lưới điện thoại di động và
hệ thống WiFi..v..v..

8


1.2.2. Các lỗ hổng trong bảo mật và phương thức tấn công mạng.
Các lỗ hổng là những điểm yếu trên hệ thống mà dựa vào đó đối tượng tấn
công có thể xâm nhập trái phép vào hệ thống.
Các loại lỗ hổng trong bảo mật:
+ Lỗ hổng loại C: Cho phép thực hiện hình thức tấn công theo kiểu DoS
(Denial of Services – Từ chối dịch vụ) làm ảnh hưởng tới chất lượng dịch vụ,
ngưng trệ, gián đoạn hệ thống, nhưng không phá hỏng dữ liễu hoặc đoạt được
quyền truy cập hệ thống.
+ Lỗ hổng loại B: Lỗ hổng cho phép người sử dụng có thêm các quyền
trên hệ thống mà không cần kiểm tra tính hợp lệ dẫn đến lộ, lọt thông tin.
+ Lỗ hổng loại A: Cho phép người ngoài hệ thống có thể truy cập bất hợp
pháp vào hệ thống, có thể phá hủy toàn bộ hệ thống.

Các hình thức tấn công mạng phổ biến.
- Tấn công trực tiếp: Sử dụng một máy tính để tấn công một máy tính
khác với mục đích dò tìm mật mã, tên tài khoản tương ứng,.. Kẻ tấn công có thể
sử dụng một số chương trình giải mã để giải mã các file chứa password trên hệ
thống máy tính của nạn nhân. Do đó, những mật khẩu ngắn và đơn giản thường
rất dễ bị phát hiện.
- Kỹ thuật đánh lừa (Social Engineering): Đây là thủ thuật được nhiều
hacker sử dụng cho các cuộc tấn công thâm nhập vào hệ thống mạng và máy tính
bởi tính đơn giản mà hiệu quả của nó. Kỹ thuật này thường được sử dụng để lấy
cắp mật khẩu, thông tin, tấn công vào và phá hủy hệ thống. Ví dụ, kỹ thuật đánh
lừa Fake Email Login.
- Kỹ thuật tấn công vào vùng ẩn: Những phần bị dấu đi trong các website
thường chứa những thông tin về phiên làm việc của các client. Các phiên làm
việc này thường được ghi lại ở máy khách chứ không tổ chức cơ sở dữ liệu trên
máy chủ. Vì vậy, người tấn công có thể sử dụng chiêu thức View Source của
trình duyệt để đọc phần đầu đi này và từ đó có thể tìm ra các sơ hở của trang
Web mà họ muốn tấn công. Từ đó, có thể tấn công vào hệ thống máy chủ.

9


- Tấn công vào các lỗ hổng bảo mật: Hiện, nay các lỗ hổng bảo mật được
phát hiện càng nhiều trong các hệ điều hành, các web server hay các phần mềm
khác, ... Các hãng sản xuất cũng luôn cập nhật các bản vá lỗ hổng và đưa ra các
phiên bản mới sau khi đã vá lại các lỗ hổng của các phiên bản trước. Do đó,
người sử dụng phải luôn cập nhật thông tin và nâng cấp phiên bản cũ mà mình
đang sử dụng để tránh các hacker lợi dụng điều này tấn công vào hệ thống.
- Khai thác tình trạng tràn bộ đệm: Tràn bộ đệm là một tình trạng xảy ra
khi dữ liệu được gửi quá nhiều so với khả năng xử lý của hệ thống hay CPU. Nếu
hacker khai thác tình trạng tràn bộ đệm này thì họ có thể làm cho hệ thống bị tê

liệt hoặc làm cho hệ thống mất khả năng kiểm soát.
- Nghe trộm: Các hệ thống trao đổi thông tin qua mạng đôi khi không
được bảo mật tốt và lợi dụng điều này, hacker có thể truy cập vào data paths để
nghe trộm hoặc đọc trộm luồng dữ liệu truyền qua.
- Kỹ thuật giả mạo địa chỉ: Thông thường, các mạng máy tính nối với
Internet đều được bảo vệ bằng tường lửa. Tường lửa có thể hiểu là cổng duy nhất
mà người đi vào nhà hay đi ra cũng phải qua đó và sẽ bị “điểm mặt”. Tường lửa
hạn chế rất nhiều khả năng tấn công từ bên ngoài và gia tăng sự tin tưởng lẫn
nhau trong việc sử dụng tài nguyên chia sẻ trong mạng nội bộ.
- Kỹ thuật chèn mã lệnh:Một kỹ thuật tấn công căn bản và được sử dụng
cho một số kỹ thuật tấn công khác là chèn mã lệnh vào trang web từ một máy
khách bất kỳ của người tấn công.
- Tấn công dùng Cookies:Cookie là những phần tử dữ liệu nhỏ có cấu trúc
được chia sẻ giữa website và trình duyệt của người dùng. Cookies được lưu trữ
dưới những file dữ liệu nhỏ dạng text (size dưới 4KB). Chúng được các site tạo
ra để lưu trữ, truy tìm, nhận biết các thông tin về người dùng đã ghé thăm site và
những vùng mà họ đi qua trong site. Những thông tin này có thể bao gồm tên,
định danh người dùng, mật khẩu, sở thích, thói quen.
Do đó việc ngăn chặn và hạn chế các lỗ hổng, kiểm chứng các giao thức là
điều cần thiết và đáng được quan tâm. Kiểm chứng giao thức bảo mật là việc
kiểm tra các chương trình nhằm đảm bảo thông tin liên lạc qua một mạng lưới

10


truyền tin như Internet được an toàn dựa trên các kỹ thuật mã hóa. Lỗi bảo mật
có hậu quả nghiêm trọng, dẫn đến mất tiền hoặc mất lòng tin của người sử dụng
hệ thống. Hơn nữa, các lỗi bảo mật không thể được phát hiện bằng cách kiểm tra
các phần mềm chức năng bởi vì lỗi chỉ xuất hiện khi có sự hiện diện của kẻ thù
nguy hiểm.

Để chứng minh giao thức bảo mật là chính xác, một trong những nhu cầu
đầu tiên là mô hình hóa chúng bằng toán học. Hai mô hình của giao thức được
xem xét là: Mô hình xác minh tính toán (Computational veri cation model): Dựa
trên việc mô phỏng, chứng minh bằng tay các thuộc tính bảo mật. Việc chứng
minh được thực hiện bởi các logic rời rạc, các phần tử. Các thông điệp là các
chuỗi bít, chúng coi những hàm mã hóa là ánh xạ từ chuỗi bít-chuỗi bit, phức tạp
hơn, hiện đại hơn và có tính xác suất, tính bảo mật chỉ được bảo toàn nếu xác
suất các hàm mã hóa bị phá vỡ là vô cùng nhỏ. Trong mô hình này, chiều dài của
khóa được xác định bởi tên giá trị là tham số bảo mật, và thời gian chạy của các
đối thủ được coi là các hàm đa thức trong tham số bảo mật. Mô hình thứ hai là
mô hình xác minh biểu trưng:( Symbolic veri cation model): Dựa trên phương
pháp hình thức truy tìm các cuộc tấn công bằng dấu vết của giao thức, mô hình
này coi những hàm mã hóa dữ liệu cơ bản là hộp đen, kẻ tấn công không thể giải
mã các mật mã cơ sở. Mô hình này giới hạn các đối thủ tấn công để thực hiện
tính toán và nó giả định các mật mã là hoàn hảo. Có thể kết hợp với các kĩ thuật
khác để chứng minh tính đúng đắn.
1.2.3. Một số giao thức bảo mật phổ biến
Mỗi một loại giao thức lại có những đặc tính, đặc điểm khác nhau nhằm
bảo đảm các thuộc tính bảo mật và những đặc trưng riêng của từng lĩnh vực. Một
số giao thức bảo mật cụ thể như là: Kao Chow Authentication Protocol ( giao
thức chứng thực Kao Chow); the 3-D Secure Protocol ( Giao thức bảo mật 3D),
Needham Schroeder Public Key Protocol ( Giao thức khóa công khai Needham
Schroeder), Andrew Secure RPC Protocol ( Giao thức bảo mật RPC). Challenge
Handshake Authentication Protocol ( Giao thức xác minh bắt tay chứng thực ).
Diffie- Hellman Key Exchange Protocol ( Giao thức trao đổi khóa

11


Diffie_hellman) là những giao thức đã được sử dụng phổ biến và được quan tâm

chú trọng.
a. Kao Chow Authentication Protocol
Là giao thức chứng thực lẫn nhau và phân phối khóa với mục đích là nhấn
mạnh việc chứng thực đảm bảo tính đúng đắn của thông điệp
- Đặc tả giao thức:

+ Kas , Kbs : là các khóa đối xứng tương ứng của các giá trị A và S, B và S.
A và B là bên giao tiếp với nhau, phát sinh thêm một bên đáng tin cậy S.
+ Na, Nb: là số duy nhất cho việc chứng thực lẫn nhau và để kiểm chứng
tính chứng thực của khóa đối xứng Kab
+ Thông điệp 3,4 được xác thực lặp đi lặp lại. Sau khi thông điệp 1,2 đã
được hoàn thành thì 3,4 có thể phát lại dịch vụ nhiều lần bởi B trước khi bắt đầu
giao tiếp bí mật với A và được mã hóa với khóa phiên Kab. Giao thức này được
thiết kế để ngăn chặn các cuộc tấn công mới mẻ trên một phần xác thực lặp đi lặp
lại của các giao thức Neumann Stubblebine. Thực ra, số duy nhất Na trong thuật
toán mã hóa của thông điệp 2 ngăn chặn việc chia sẻ khóa bị xâm nhập sau mỗi
lần chạy và sử dụng lại giao thức. Giao thức phải đảm bảo giứ bí mật của Kab:
Trong mỗi phiên giá trị của Kab chỉ được biết bởi bên tham gia A,B và S. Khi A
yêu cầu, B nhận khóa Kab trong thông điệp 3 và yêu cầu 2. Khóa này phải được
ban hành trong cùng một phiên bởi máy chủ S với A bắt đầu giao tiếp bằng thông
điệp 1. Giao thức cũng phải đảm bảo chứng thực lẫn nhau giữa A và B.
b. Needham Schroeder Public Key Protocol
Dựa trên mã hóa khóa công khai. Giao thức này được thiết kế để cung cấp
chứng thực lẫn nhau giữa hai bên giao tiếp trên mạng. Nó được giả định rằng hai

12


bên biết được khóa công khai của nhau. Như vậy, việc mã hóa các dữ liệu có thể
sử dụng khóa công khai của từng bên.

-Đặc tả giao thức
Giả sử A, B sử dụng một máy chủ (S) đáng tin cậy để phân phối khóa
công khai theo yêu cầu.
+ KPA và KSA: Khóa công khai và khóa ẩn khi thực hiện mã hóa A ( S:
khóa bí mật "secret key")
+ KPB và KSB: Khóa công khai và khóa bí mật khi thực hiện mã hóa B
+ KPS và KSS: Khóa công khai và khóa bí mật khi thực hiện mã hóa S (
có những thuộc tính mà Kss được sử dụng để mã hóa và giải mã KPS
Giao thức được chạy như sau:

A yêu cầu khóa công khai của B từ S

S phản hổi với khóa công khai KPB cùng với danh tính của B có chữ ký
của máy chủ với mục đích xác thực.

A chọn ngẫu nhiên một một số NA và gửi nó cho B.

B bây giờ biết A muốn giao tiếp, vì vậy B yêu cầu các khóa công khai của A.

Máy chủ phản hồi

B chọn một số ngẫu nhiên NB và gửi nó cho A cùng với NA để chứng
minh khả năng giải mã với KSB.

A xác nhận NB từ B để chứng minh khả năng giải mã với KSA

13


Tại thời điểm kết thúc của giao thức. A và B sẽ biết danh tính của nhau và

biết cả NA,NB là những số duy nhất không được tiết lộ cho kẻ nghe lén thông tin.
Tuy nhiên giao thức này dễ bị tổn thương từ một kẻ tấn công trung gian.
Nếu một kẻ mạo danh có thể thuyết phục A để bắt đầu một phiên làm việc với A,
nó có thể chuyển tiếp các thông điệp đến B và thuyết phục B giao tiếp với A. Bỏ
qua các thông tin đến và đi từ S cái mà không thay đổi, các cuộc tấn công chạy
như sau:

A gửi NA đến I cài mà đã giải mã các thông tin với KSI

I sẽ chuyển thông điệp tới B và trả vờ như là A đang giao tiếp

B gửi NB

I chuyển tiếp đến A

A giải mã NB và xác nhận nó cho I người mà lấy cắp thông tin.

I mã hóa lại NB và thuyết phục B rằng đã giải mã nó.
Khi kết thúc cuộc tấn công, B đã sai lầm tin rằng mình đã giao tiếp với A
và NA,NB chỉ biết bởi A và B.
Cuộc tấn công được mô tả đầu tiên bởi Gavin Lowe trong năm 1995. Và
cũng đã sửa chữa và đưa ra một phiên bản khác có tên Needham Schroeder Lowe
Protocol. Việc sửa chữa được sửa đổi ở thông điệp thứ 6 bao gồm danh tính của
người trả lời:

Được thay thế bằng

14



c. Andrew Secure RPC Protocol
Giao thức này nhằm phân phối khóa phiên làm việc mới giữa các bên
tham gia A và B. Khi khóa phiên k được chia sẻ thì nó phải đảm bảo tính bí mật.
- Đặc tả giao thức
A, B : principal
Kab, K'ab : symkey
Na, Nb, N'b : nonce
succ : nonce -> nonce
1. A->B: A, {Na}Kab
2. B->A: {succNa, Nb}Kab
3. A->B: {succNb}Kab
4. B ->A: {K'ab, N'b}Kab
Giao thức này thiết lập việc chia sẻ một khóa đối xứng mới là K’ab. N’b là
số duy nhất gửi đi trong thông điệp 4 sẽ được dùng trong các phiên tiếp theo. Giả
định ban đầu khóa đối xứng Kab chỉ được biết bởi A và B .
Giao thức phải bảo đảm giữ bí mật khóa K'ab mới được chia sẻ: Trong mỗi
phiên, giá trị của K'ab chỉ được biết bởi người tham gia đóng vai trò Avà B.
Giao thức phải bảo đảm tính xác thực của khóa K’ab. Trong mỗi phiên, khi
tiếp nhận thông điệp 4 thì A phải đảm bảo rằng các khóa K'ab trong thông điệp đã
được tạo ra bởi A trong cùng một phiên.
d. Challenge Handshake Authentication Protocol
Giao thức này dùng để chứng thực người dùng hoặc các máy chủ nhà
mạng nhằm mục đích chứng thực các thực thể của các bên tham gia. Nó được sử
dụng định kì để xác minh các danh tính ngang hàng sử dụng cách thức bắt tay 3
bước ( 3-way Handshake). Điều này được hình thành dựa việc thiết lập các liên
kết ban đầu (LCP) và có thể được lặp lại bất cứ lúc nào. Giao thức này là một
chương trình xác thực được sử dụng bởi giao thức Point To Point (PPP) máy chủ
để xác nhận danh tính của khách hàng từ xa. Nó đòi hỏi cả client và sever phải
biết các bí mật bản rõ mặc dù nó chưa được gửi qua môi trường mạng. Giao thức
này cung cấp bảo mật tốt hơn sơ với Password Authentication Protocol (PAP)


15


- Chu kỳ làm việc
1. Sau khi hoàn thành giai đoạn thiết lập liên kết ban đầu. Việc chứng thực
sẽ gửi một thông điệp thách thức (challenge) đến với những đối tượng ngang
hàng.
2. Các đối tượng ngang hàng này sẽ phản hồi với một giá trị được tính
toán bằng cách sử dụng một hàm băm một chiều trên các thách thức và bí mật
được phối hợp.
3. Thực hiện chứng thực việc kiểm tra các đáp ứng chống lại tính toán
riêng về các giá trị băm mong muốn. Nếu các giá trị phù hợp thì việc chứng thực
được thừa nhận. Ngược lại nó sẽ châm dứt kết nối.
4. Tại những khoảng thời gian ngẫu nhiên, việc chứng thực sẽ gửi một
thách thức mới cho các đối tượng ngang hàng và thực hiện việc lặp đi lặp lại các
bước từ 1 đến 3.
Ưu điểm:
- Cung cấp giải pháp bảo vệ chống lại việc tấn công quay lại bởi các đối
tượng ngang hàng thông qua việc từng bước thay đổi định danh và biến thách
thức giá trị. Việc sử dụng các thách thức lặp đi lặp lại là nhằm hạn chế thời gian
tiếp xúc với bất kỳ cuộc tấn công đơn nào. Thực hiện chứng thực ở trong kiểm
soát tần số và thời gian của những thách thức.
e. Diffie- Hellman Key Exchange Protocol
Là một phương pháp cho hai người sử dụng máy tính tạo ra một khóa
riêng chia sẻ với nhau để có thể trao đổi thông tin trên một kênh không an toàn.
Khóa này có thể được sử dụng sau đó để mã hóa các thông báo tiếp theo bằng
cách sử dụng một thuật toán mã hóa khóa đối xứng.
- Đặc tả giao thức:
Ta có hai bên giao tiếp là A và B. Đầu tiên họ đưa ra 2 số nguyên tố p và

g. Trong đó p là số lớn ( thường ít nhất là 512 bit) và g là một phần gốc của
nguyên tố p. Trong thực tế cũng có thể thay thế p bằng (p-1) / 2 cũng là số
nguyên tố. Các con số g và p không cần phải được giữ bí mật từ những người
dùng khác.

16


Đầu tiên A chọn một số ngẫu nhiên lớn a như một khóa riêng của mình và
B cũng chọn một số lớn b làm khóa riêng của mình . Sau đó A thực hiện tính A=
g ^ a (mod p) cái mà gửi cho B. Và B thực hiện tính B = g ^ b (mod p) cái mà
nhận được từ A.Tiếp theo cả A và B tính toán khóa chia sẻ của họ K = g ^ (ab)
(mod p).
A thực hiện tính khóa K=B^a (mod p)=(g^b)^a (mod p).
B thực hiện tính khóa K=A^b (mod p)=(g^a)^b (mod p).
A và B có thể sử dụng khóa K để chia sẻ thông tin vơi nhau mà không cần
lo lắng về người dùng khác biết được thông tin này. Để cho một kẻ nghe lén
(Eve) có khả năng làm được điều đó thì đầu tiên họ cần có được K=g^(ab) (mod
p) chỉ biết g, p, A = g ^ a (mod p) và B = g ^ b (mod p). Điều này có thể được
thực hiện bằng cách tính toán a từ A = g ^ a (mod p) và b từ B = g ^ b (mod p).
Đây là bài toán logarit rời rạc cái mà khả thi để tính toán cho số p lớn. Tính toán
logarit rời rạc của một số lớn p cũng phải mất một khoảng thời gian như việc
phân tích kết quả của hai số nguyên tố cùng kích thước với p cái mà dựa trên sự
an toàn của hệ mật mã RSA. Như vậy giao thức này có độ an toàn gần tương
đồng với RSA.
f. The 3-D Secure Protocol
Là giao thức dựa trên XML được dùng như một lớp bảo mật bổ sung cho
các giao dịch thẻ tín dụng và ghi nợ trực tuyến. Ban đầu nó được phát triển bởi
Hệ thống Arcot, Inc và lần đầu tiên được triển khai bởi Visa với ý định cải thiện
sự an toàn của các tài khoản thanh toán trên Internet được cung cấp cho khách

hàng theo tên xác minh bởi Visa. Mỗi bên phát hành có thể sử dụng bất kỳ loại
phương pháp chứng thực nào. Phương pháp phổ biến nhất là phương pháp dựa
trên mật khẩu. Như vậy , để thanh toán online thì ta sử dụng một mật khẩu bí mật
gắn vào thẻ. Cách xác minh bởi giao thức của Visa là đề nghị trang xác minh của
ngân hàng nạp vào một khung (frame) nội tuyến. Bằng cách này, hệ thống của
ngân hàng có thể được tổ chức để chịu trách nhiệm cho hầu hết các lỗ hổng bảo
mật. Các dịch vụ dựa trên giao thức cũng đã được thông qua bởi MasterCard
như: MasterCard SecureCode và bởi JCB International như: J/Secure. American

17


Express đã thêm 3-D Secure vào 11/8/2010 như: American Express SafeKey
trong các môi trường được chọn lọc và tiếp tục triển khai và bổ sung thêm một số
môi trường nữa. Nhiều những nghiên cứu và phân tích các giao thức đã cho thấy
nó có nhiều vấn đề bảo mật ảnh hưởng đến người dùng bao gồm tất cả các trường
hợp có thể lừa đảo và sự thay đổi về trách nhiệm trong các trường hợp thanh toán
gian lận.
1.3. Tổng quan về phương pháp hình thức
Phương pháp hình thức là việc áp dụng các kỹ thuật toán học cho việc đặc
tả và phân tích các thuộc tính và các hành vi của các đối tượng, phát triển
và kiểm định các hệ thống phần mềm và phần cứng. Nó được phân biệt từ các
đặc tả yêu cầu hệ thống bằng cách nhấn mạnh tính đúng đắn và chứng minh nó.
Cách tiếp cận này đặc biệt quan trọng đối với các hệ thống cần có tính toàn vẹn
cao, chẳng hạn hệ thống điều khiển lò phản ứng hạt nhân hay điều khiển tên lửa
và các hệ thống mà an toàn, bảo mật giữ vai trò quan trọng, để góp phần đảm bảo
rằng quá trình phát triển hệ thống sẽ không có lỗi. Các phương pháp hình thức
đặc biệt hiệu quả tại giai đoạn đầu của quá trình phát triển (tại các mức yêu
cầu và đặc tả hệ thống), nhưng cũng có thể được sử dụng cho một quá trình phát
triển hoàn chỉnh của một hệ thống. Nó chỉ ra tính chính xác (correctness) của

toàn bộ hệ thống (tính chính xác luôn luôn đi kèm thuộc tính cụ thể). Để thay thế
cho kiểm thử (Các phương pháp hình thức chạy trên mã nguồn, hay có thể trên
byte code).
Lịch sử của phương pháp hình thức:
- Những năm 80, kiểm định phần mềm được xem như “chết”.
+ Ít tự động, người lập trình phải nỗ lực “bằng chân tay” quá nhiều.
+ Chỉ có một số ít chương trình ví dụ có thể chạy được.
- Những năm 90, kiểm tra mô hình (model checker) thành công.
+ Kiểm tra một cách đầy đủ và tự động hoàn toàn các mô hình (với một
tập các trạng thái hữu hạn).
+ Kiểm định phần cứng và các giao thức giao tiếp.
- Từ cuối những năm 90, mối quan tâm về kiểm định phần mềm tăng lên.

18


+ Chứng minh/kiểm tra mô hình những phần quan trọng của phần mềm.
- Những ứng dụng mới như proof-carrying-code (PCC).
+ Đặt các bằng chứng (proof) cùng với mã máy (machine code) và
chứng minh rằng mã máy đó thỏa mãn một số thuộc tính về bảo mật/an toàn.
- Xem xét những vấn đề mới: bảo mật.
Phương pháp hình thức là chủ để “hot” trong nghiên cứu cũng như trong
công nghiệp.
1.3.1. Phân loại
Các phương pháp hình thức có thể được sử dụng tại nhiều mức:
- Mức 0: Đặc tả hình thức có thể được thực hiện và rồi một chương trình
được phát triển từ đặc tả này một cách không hình thức. Trong nhiều trường hợp,
cách này có thể là lựa chọn hiệu quả nhất về mặt chi phí.
- Mức 1: Sử dụng phát triển và kiểm định hình thức để tạo một chương
trình theo một quy trình hình thức hơn. Ví dụ, có thể thực hiện các chứng minh

về các tính chất hoặc quá trình tinh chỉnh (refinement) từ đặc tả hình thức tới một
chương trình. Đây có thể là lựa chọn phù hợp nhất đối với các hệ thống yêu cầu
tính toàn vẹn cao với các tiêu chí về an toàn và an ninh.
- Mức 2: Sử dụng các bộ chứng minh định lý (theorem prover) để thực
hiện các chứng minh hình thức hoàn toàn và được kiểm chứng bằng máy móc.
Việc này có thể đòi hỏi chi phí rất cao và chỉ đáng lựa chọn trong thực tiễn nếu
phí tồn cho các lỗi sai là cực kỳ cao (ví dụ, trong các phần quan trọng của thiết kế
bộ vi xử lý).
Cùng với việc phân loại ngữ nghĩa hình thức của ngôn ngữ lập trình, các
phương pháp hình thức có thể được phân loại tương đối như sau:
- Ngữ nghĩa ký hiệu (Denotational semantics): Trong đó ý nghĩa của một
hệ thống được biểu diễn bằng lý thuyết toán học về miền xác định. Ưu điểm của
những phương pháp này phụ thuộc vào bản chất được hiểu rõ của các miền xác
định để từ đó đem lại ý nghĩa cho hệ thống. Nhược điểm của nó là không phải hệ
thống nào cũng có thể được nhìn một cách tự nhiên hoặc trực quan dưới dạng
một hàm số.

19


- Ngữ nghĩa hoạt động (Operational semantics): Trong đó, ý nghĩa của
một hệ thống được biểu diễn bằng một chuỗi các hành động của một mô hình
tính toán (các giả thiết) đơn giản hơn. Ưu điểm của phương pháp này là tính đơn
giản của các mô hình tạo nên sự trong sáng của việc biểu diễn. Nhược điểm là
phương pháp này đã trì hoãn các vấn đề của ngữ nghĩa (ai định nghĩa ngữ nghĩa
của các mô hình đơn giản hơn?)
- Ngữ nghĩa tiên đề (Axiomatic semantics): Trong đó, ý nghĩa của hệ thống
được

biểu


diễn

theo

các tiền

điều

kiện (precondition)

và hậu

điều

kiện (postcondition), đây lần lượt là các điều kiện phải được thỏa mãn tại các
thời điểm trước và sau khi hệ thống thực hiện một nhiệm vụ. Ưu điểm phương
pháp này là nó có mối quan hệ với lôgic kinh điển. Nhược điểm của nó là những
ngữ nghĩa thuộc dạng này không thực sự mô tả xem hệ thống làm cái gì (chỉ là
cái gì đúng trước đó và sau đó).
1.3.2. Sử dụng
Các phương pháp hình thức có thể được áp dụng tại nhiều điểm khác nhau
trong cả quá trình phát triển phần mềm. Tuy có thể nói đến một quá trình phát
triển bất kỳ, nhưng để thuận tiện, ta sẽ dùng các thuật ngữ và quy trình của mô
hình thác nước.
a. Đặc tả:
Các phương pháp hình thức có thể được sử dụng để mô tả về hệ thống cần
phát triển, tại bất kỳ mức độ chi tiết mà ta muốn. Mô tả hình thức này có thể
được sử dụng để hướng dẫn các hoạt động phát triển tiếp theo, ngoài ra nó có thể
được sử dụng để kiểm định xem các yêu cầu cho hệ thống đang được phát triển

đã được đặc tả một cách đầy đủ và chính xác hay chưa.
Nhu cầu về các hệ thống đặc tả hình thức đã được nói đến từ nhiều năm.
Trong Báo cáo ALGOL 60, John Backus đã trình bày một hệ thống ký hiệu hình
thức để mô tả cú pháp ngôn ngữ lập trình (sau này đặt tên là Backus normal form
hay Backus Naur Form (BNF) dạng chuẩn tắc Backus).

20


b. Phát triển
Khi một đặc tả hình thức đã được phát triển xong, đặc tả đó có thể được
sử dụng làm một hướng dẫn trong quá trình hệ thống thực được phát triển (nghĩa
là được hiện thực hóa trong phần mềm và/hoặc phần cứng). Ví dụ:
- Nếu đặc tả hình thức là một ngữ nghĩa hoạt động, hành vi được quan sát
của hệ thống thực sẽ có thể được so sánh với hành vi trong đặc tả (chính đặc tả
cũng nên chạy được hoặc giả lập được). Thêm vào đó, các lệnh hoạt động của
đặc tả có thể thích hợp cho việc dịch thẳng mã chạy được.
- Nếu đặc tả hình thức là một ngữ nghĩa tiên đề, các tiền điều kiện và hậu
điều kiện của đặc tả có thể trở thành sự khẳng đinh (assertion) trong mã chạy
được.
c. Kiểm định
Khi một đặc tả hình thức đã được phát triển, đặc tả này có thể được dùng
làm cơ sở cho việc chứng minh các tính chất của đặc tả.
- Chứng minh bằng tay: Đôi khi, động cơ cho việc chứng minh tính đúng
đắn của một hệ thống không phải là nhu cầu đảm bảo tính đúng đắn của hệ thống
mà là mong muốn hiểu rõ hơn về hệ thống. Do đó, một số chứng minh được thực
hiện dưới hình thức chứng minh toán học: viết tay hoặc đánh máy nội dung
bằng ngôn ngữ tự nhiên, với mức độ phi hình thức như các chứng minh toán học
thông thường mà con người vẫn thực hiện. Một chứng minh "tốt" là một chứng
minh mà những người khác có thể đọc được và hiểu được. Nhược điểm đối với

cách tiếp cận này là tính đa nghĩa cố hữu trong ngôn ngữ tự nhiên cho phép các
lỗi sai trong các chứng minh đó có thể không bị phát hiện, nhiều khi những lỗi
tinh vi có thể xuất hiện trong các chi tiết mức thấp mà thường không được để ý
đến bởi những chứng minh thuộc kiểu này. Ngoài ra, việc tạo ra các chứng minh
tốt đòi hỏi trình độ toán học cao.
- Chứng minh tự động: Ngược lại, ngày càng có nhiều quan tâm đến các
chứng minh về tính đúng đắn của hệ thống bằng các công cụ tự động. Các kỹ
thuật tự động được phân thành hai loại chính:

21


+ Chứng minh định lý tự động: Trong đó, khi cho trước một mô tả về hệ
thống, một tập các tiên đề lôgic và một tập các quy tắc suy luận, một hệ thống sẽ
cố gắng tự xây dựng một chứng minh hình thức từ đầu.
+ Kiểm tra mô hình: Trong đó, một hệ thống kiểm định các tính chất nhất
định bằng cách duyệt toàn bộ tất cả các trạng thái mà trong thời gian chạy, hệ
thống có thể vào trạng thái đó.
Cả hai kỹ thuật trên đều hoạt động mà không cần đến sự hỗ trợ của con
người. Các bộ chứng minh định lý tự động thường yêu cầu định hướng xem các
tính chất nào là đáng quan tâm còn các bộ kiểm tra mô hình có thể nhanh chóng
sa lầy vào việc kiểm tra hàng triệu trạng thái không đáng quan tâm nếu không
được cho trước một mô hình đủ trừu tượng.
Ưu điểm của các hệ thống này là các kết quả của chúng có độ xác tính
toán học cao hơn việc chứng minh bằng tay, do tất cả các chi tiết đã được kiểm
định một cách có thuật toán. Việc huấn luyện cần thiết để có thể sử dụng được
các hệ thống này cũng ít hơn đòi hỏi cần thiết cho việc tạo ra các chứng minh
toán học tốt bằng tay. Nhờ đó, các kỹ thuật này có thể dùng được cho nhiều
người hơn. Nhưng nhược điểm các hệ thống kiểu này là giống như máy sấm
truyền: chúng đưa ra các tuyên bố về sự thật nhưng lại không đưa ra giải thích

nào về sự thực đó. Còn có cả vấn đề "kiểm định hệ kiểm định", nếu chính
chương trình tham gia công tác kiểm định không được chứng minh là đúng, thì
có thể có lý do để nghi ngờ tính đúng đắn của các kết quả được tạo ra.
1.3.3. Các phương pháp hình thức và hệ thống kí hiệu
- Abstract State Machines (ASMs)
- Alloy
- B-Method
- Process calculi
+ CSP
+ π-calculus
- Actor model
- Esterel

22


- Lustre
- Petri nets
- RAISE
- VDM
- Z notation
- BAN logic
1.3.4. π-Calculus
π-Calculus được phát triển bởi Robin Milner, Joachim Parrow và David
Walker vào năm 1992. Dựa trên ý tưởng của Uffe Engberg và Mogens Nielsen.
Nó có thể được xem như là một sự tiếp nối công việc của Milner trên quá trình
tính toán CCS (Calculus of Communicating Systems).
Các dạng khác nhau của π-Calculus:
- Pure pi-calculus (Phép tính Pi thuần túy) [Robin Milner. 1990]
+ Các phép tính cho việc tính toán xảy ra cùng lúc

+ Tính năng chính: tên gọi mới (fresh names,) kênh giao tiếp
(communication channels), tên gọi tạm thời (name passing), sự đệ
quy.(recursion)
- Spi-calculus (Phép tính Spi) [Martin Abadi, Andrew Gordon. 1997]
+ Mở rộng phép tính Pi thuần túy với số không đổi (fixed number) của
các mã nguyên hàm
+ Tính năng chính: Chứng minh các thuộc tính bảo mật sử dụng việc mô
phỏng
( bisimulations)
- Applied pi-calculus [Martin Abadi, Cédric Fournet. 2001]
+ Mở rộng Spi-calculus với việc bổ sung thêm các nét tương đồng hơn các
mã nguyên hàm.
+ Tính năng: Dễ dàng sử dụng để chứng minh tính bảo mật
Áp dụng π-Calculus là một quy trình tính toán được thiết kế để phân tích
mã hóa giao thức, nó là một biểu thức, một ngôn ngữ để mô hình hóa và phân
tích hệ thống xảy ra đồng thời. Áp dụng π-Calculus cho phép mở rộng tính đa

23


dạng của bản mã phải được xác định bằng lý thuyết cân bằng. Hơn nữa, nó được
mở rộng bởi các mối quan hệ để kiểm tra sự tương đồng giữa các quá trình và
cho phép chúng ta xác định và phân tích các tính chất riêng tư. Nó được giả định
là một tập vô số các tên (names) được sử dụng để mô hình hóa các kênh truyền
và dữ liệu tự động khác, một tập vô số các biến (variables) và chữ kí (signature )
Σ cái mà chứa một tập hữu hạn của mỗi hàm biểu trưng ( function symbols ) ứng
với mỗi thực thể. Hàm biểu trưng nắm giữ những cái ban đầu được sử dụng để
mã hóa giao thức như là hàm băm (hash functions), chữ kí số ( digital
signatures), mã hóa và giải mã chương trình. Một hàm biểu trưng với thực thể là
0 là một hằng số.

Một ví dụ của chữ kí là: Σsym = {enc, dec}, trong đó nắm giữ mã hóa đối
xứng enc, và giải mã dec. Mã hóa của thông điệp m với khóa k là enc(m, k) và
giải mã của kí số c với khóa k là dec(c, k). Phương trình dec(enc(x, y), y) =E x
trong đó x và y là biến, nói rằng dec đại diện cho giải mã và là hàm nghịch đảo
của enc đại diện cho mã hóa.
a. Cú pháp và ngữ nghĩa
- Điều khoản (Terms) được định nghĩa bởi tên, biến, các hàm biểu trưng
được áp dụng theo cú pháp như sau:

Nó bao gồm các tập kiểu (type) cơ sở như: Nonce, Key và tất cả các kiểu
đơn giản dựa trên kiểu dữ liệu. Ngoài ra nếu ω là một kiểu thì sau đó Channel
<ω> là một kiểu ( bằng trực giác các kiểu của kênh truyền truyền điều khoản về

24


kiểu ω ). Tên và biến thí sử dụng các kiểu bất kì, hàm biểu trưng chỉ có thể được
áp dụng và trả về giá trị, điều khoản của kiểu cơ sở.
Các đẳng thức điều khoản được mô hình hóa sử dụng thuyết cân bằng E,
một tập hữu hạn của phương trình trong đó định nghĩa mối quan hệ tương ứng =E
. Để

đơn giản chúng ta có thể bỏ qua các kí hiệu (subscript) E khi nó là rõ ràng từ

các ngữ cảnh (context).
- Quy trình (Processes) được áp dụng π-Calculus có cú pháp như sau:

Trong đó, null process thì không làm bất cứ điều gì, P | Q là thành phần
song song của P và Q và sự lặp lại !P thực hiện vô số các bản sao của P trong quá
trình song song, νn.P sự giới hạn về tên phát sinh một tên riêng mới n và tiếp tục

thực hiện giống như P. Quá trình điều kiện “ if M = N then P else Q” thực hiện P
nếu M =E N và ngược lại là Q. (=E Các quan hệ tương đương). Chúng ta có thể
bỏ qua giới hạn “else Q” khi Q là 0. Quá trình in(u, x).P thông điệp đầu vào trên
kênh truyền u thuộc kiểu Channel <ωx> gán nó với biến x thuộc kiểu ωx . Cuối
cùng out(u, M).P đầu ra của term M thuộc kiểu ωM trên kênh truyền u thuộc kiểu
Channel < ωM >, .P thường được bỏ qua khi P là 0. Quá trình được mở rộng với
các hoạt động thay thế và sự giới hạn các biến .

25


×