1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tài liệu điều khiển động cơ bằng web server S71200

76 78 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Điều Khiển Động Cơ S7-1200 Bằng Web Server
Tác giả Nguyễn Lê Bình, Nguyễn Hữu Hiếu
Người hướng dẫn Phạm Thị Kim Thuê
Trường học Trường Đại Học Spkt Vĩnh Long
Chuyên ngành Điện – Điện Tử
Thể loại Đồ Án Chuyên Ngành
Năm xuất bản 2021
Thành phố Vĩnh Long
Định dạng
Số trang 76
Dung lượng 7,49 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hướng dẫn kết điều khiển động cơ bằng web server cho PLC S71200. Ngày nay, với sự phát triển không ngừng của khoa học kỹ thuật, việc ứng dụng các linh kiện bán dẫn đã phần nào giảm bớt được giá thành sản phẩm bằng các linh kiện rời. Ứng dụng môn kỹ thuật điện – điện tử vào thiết kế các bộ phận thiết thực hằng ngày giúp chúng ta hiểu được môn học này làm gì và được ứng dụng vào đâu. Việc sử dụng trang web để điều khiển và vận hành động cơ trong các nhà máy sẽ tạo nhiều thuận lợi trong việc quản lý và kiểm soát nhanh chóng.

Trang 1

TRƯỜNG ĐẠI HỌC SPKT VĨNH LONG

KHOA ĐIỆN - ĐIỆN TỬ

SVTH: NGUYỄN HỮU HIẾUMSSV: 18003045

Lớp: ĐH CNKT ĐĐT 2018Khóa: 2018 – 2022

GVHD: Phạm Thị Kim Thuê

Vĩnh Long,Ngày Tháng Năm 2021

Trang 2

TRƯỜNG ĐẠI HỌC SPKT VĨNH LONG

KHOA ĐIỆN – ĐIỆN TỬ

PHIẾU GIAO ĐỒ ÁN KT Đ-ĐT 2

Tên đồ án: LẬP TRÌNH ĐIỀU KHIỂN GIÁM SÁT THIẾT BỊ

QUA WEBSERVER

Nhiệm vụ (nêu nội dung và dữ liệu ban đầu):

1 Nghiên cứu cấu hình web server S7-1200

2 Phần mềm lập trình Web Visual Studio

3 Thiết kế giao diện Web, điều khiển bit, byte, word

4 Thuyết minh và báo cáo

Phương pháp đánh giá:  Báo cáo trước hội đồng  Chấm thuyết minh

Ngày giao đồ án: ngày 19 tháng 3 năm 2021

Ngày hoàn thành đồ án: ngày 25 tháng 5 năm 2021

Số lượng sinh viên thực hiện đồ án: (không quá 5 sinh viên)

Họ và tên sinh viên: Nguyễn Hữu Hiếu MSSV 18003045

Nguyễn Lê Bình MSSV 18003015

Trưởng khoa/Bộ môn

(Ký và ghi rõ họ tên) TP VL, ngày tháng năm 2021Giảng viên hướng dẫn

(Ký và ghi rõ họ tên)

Phạm Thị Kim Thuê

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

- Ý thức thực hiện:

- Nội dung thực hiện:

- Hình thức trình bày:

- Tổng hợp kết quả:  Tổ chức báo cáo trước hội đồng  Tổ chức chấm thuyết minh

Trang 4

Mục Lục

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

LỜI CẢM ƠN

LỜI NÓI ĐẦU

CHƯƠNG 1: TỔNG QUANG VỀ WEB SEVER 1

1.1 Giới thiệu về web sever 1

1.1.1 Khái niệm 1

1.1.1.1 Cấu trúc cơ bản 1

1.1.1.2 Hoạt động của ứng dụng web 1

1.1.1.3 Kết nối với các cơ sở dữ liệu 1

1.1.2 Các vấn đề liên quan đến ứng dụng web 2

1.2 Tổng quang về web sever 2

1.2.1 Định nghĩa về Web Server 2

1.2.2 Nguyên lý hoạt động của Web Server 3

1.2.3 Web Client 3

1.3 Các giao thức sử dụng trên web sever 3

1.3.1 Giao thức HTTP 3

1.3.2 Giao thức FTP 4

1.4 Các giao thức bảo mật trên Web Server 4

1.4.1 Giao thức SSL 4

1.4.2 Giao thức SHTTP 13

1.5 Các web sever thông dụng 14

1.5.1 Web Server Apache 14

1.5.2 IIS 14

1.5.3 Sun Java System Web Server (JSWS) 15

Chương 2 Cách Nạp Web Sever Cho PLC 16

2.1 Các bước nạp Web Sever 16

2.1.1 Truy cập web sever trên PLC 16

2.1.2 Tải dự án lên trình duyệt web 17

2.1.3 Trang người dùng 19

2.1.4 Mảnh 21

2.1.5 Hàm WWW 23

2.1.6 Đọc dữ liệu PLC 26

2.1.7 Đọc dữ liệu bằng Javascript 28

2.1.8 Sửa đổi thẻ PLC từ trình duyệt 30

2.1.9 Logic phía máy chủ - Biến chuỗi 33

2.1.10 Logic phía máy chủ - Phân phối chậm trễ 33

Trang 5

Chương 3 Phần Mềm Visual Studio Code 35

3.1 Visual studio code là gì? 35

3.1.1 Khái niệm 35

3.1.2 Một số tính năng của Visual Studio Code 35

3.2 Hướng dẫn cơ bản cách dùng Visual Studio Code 36

3.2.1 Thanh Sidebar 36

3.2.2 Thanh trạng thái 38

3.2.3 Khung nhập lệnh 39

3.2.4 Trình soạn thảo code 40

3.2.5 Emmet 40

3.2.6 Đa con trỏ 40

3.2.7 Intellisense 41

3.2.8 Code Snippet 41

3.2.9 Di chuyển trong code 42

3.2.10 Cấu hình 43

3.2.11 Quản lý code và Git 43

3.2.12 Debug 44

3.2.13 Chạy task tự động 45

3.2.14 Chuẩn bị 45

3.2.15 Cấu hình task 46

3.2.16 Biên dịch ECMAScript 6 tự động với Babel 46

3.2.17 Biên dịch TypeScript tự động 49

Chương 4: Thiết kế Giao diện và Lập trình S7-1200 50

4.1 Thiết kế giao diện 50

4.1.1 Sơ lược 50

4.2 Lập trình PLC 55

Kết Luận 58

Trang 6

Bảng1.1 Các số cổng được gán cho các giao thức ứng dụng chạy trên TLS/SSL Bảng 1.2 Các thành phần thông tin trạng thái Session SSL

Bảng 1.3 Các thành phần thông tin trạng thái nối kết SSL

Hình 2.1 Thiết lập web sever

Hình 2.2 Trình duyệt web của PLC

Hình 2.3 Trang trạng thái biến cho phép bạn xem và sửa đổi thẻ PLC

Hình 2.4 Hiển thị web trên máy tính bảng

Hình 2.16 Sửa tệp và tạo khối dữ liệu

Hình 2.17 Watch and force tables

Hình 2.18 Sửa đổi "index.htm"

Hình 2.19 Cập nhật web

Hình 2.20 Reset trang web

Hình 2.21 Tải JQuery và sao chép vào "UserFiles"

Hình 2.22 Tạo biến mới

Hình 2.23 sửa đổi index.htm

Hình 2.24 Đăng nhập vào PLC

Hình 2.25 Truy cập trực tuyến với PLC

Hình 2.26 Sửa đổi index.htm

Hình 2.26 Giá trị HTML được gán cho thẻ chuỗi

Hình 4.1 Giao diện web

Hình 4.3 Cài đặt web sever

Hình 4.4 Tạo tài khoản quản lý trên trình duyệt

Hình 4.5 Chỉ đường dẫn vào file chứa web

Trang 7

LỜI CẢM ƠN

Để hoàn thành đồ án này em xin gửi lời cảm ơn chân thành đến Ban GiámHiệu trường Đại Học Sư Phạm Kỹ Thuật Vĩnh Long vì đã tạo điều kiện về cơ sở vậtchất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài liệu thuận lợi cho việctìm kiếm, nghiên cứu thông tin

Cảm ơn quý Thầy Cô đã tận tình giảng dạy cung cấp cho em nhiều kiến thứcquý báo trong suốt quá trình học tập ở trường từ đó đã tạo điều kiện thuận lợi cho

em trong quá trình thực hiện đồ án này

Xin cảm ơn giảng viên bộ môn – Cô Phạm Thị Kim Thuê đã giúp đỡ và hướngdẫn em tận tình trong thời gian em thực hiện đồ án này, tạo cho em những tiền đề,kiến thức để tiếp cận vấn đề, phân tích giải quyết vấn đề Nhờ đó mà em làm bàibáo cáo của mình được tốt hơn

Do kiến thức bản thân còn hạn chế, bước đầu làm quen với việc nghiên cứu,nên mặc dù đã có nhiều cố gắng nhưng vẫn không tránh được thiếu sót Vì vậy, emrất mong nhận được những ý kiến đóng góp quý báo của thầy cô để bài báo cáohoàn thiện tốt hơn

Em xin chân thành cảm ơn!

Trang 8

LỜI NÓI ĐẦU

Ngày nay, với sự phát triển không ngừng của khoa học kỹ thuật, việc ứngdụng các linh kiện bán dẫn đã phần nào giảm bớt được giá thành sản phẩm bằng cáclinh kiện rời Ứng dụng môn kỹ thuật điện – điện tử vào thiết kế các bộ phận thiếtthực hằng ngày giúp chúng ta hiểu được môn học này làm gì và được ứng dụng vàođâu

Việc sử dụng trang web để điều khiển và vận hành động cơ trong các nhà máy

sẽ tạo nhiều thuận lợi trong việc quản lý và kiểm soát nhanh chóng Hiểu được lợiích đó, chúng em đã chủ động nghiên cứu đề tài để trao dồi theo kiến thức trước khi

ra trường

Trong đề tài cũng còn nhiều thiếu sót rất mong sự góp ý của quý thầy cô vàcác bạn để được hoàn thiện hơn

Trang 9

CHƯƠNG 1: TỔNG QUANG VỀ WEB SEVER

1.1 Giới thiệu về web sever

1.1.1.1 Cấu trúc cơ bản

- Về cơ bản, một ứng dụng web bao gồm vài thành phần, các thành phần này là

một web server, nội dung ứng dụng trong một web server, và nơi tiêu biểu là nơi lưu trữ dữ liệu cuối cùng cho các dao diện và truy cập ứng dụng Đây là mục tiêu rất

cơ bản của ứng dụng

- Cấu trúc ứng dụng web được tạo bởi các thành phần sau:

+ Web server

+ Nội dung ứng dụng (Application content)

+ Lưu trữ dữ liệu (Datastore)

1.1.1.2 Hoạt động của ứng dụng web

- Hình bên dưới mô phỏng mô hình web ba tầng Tầng đầu tiên thông thường là trình duyệt web hoặc giao diện người dùng Tầng thứ hai là công nghệ kỹ thuật tạo nội dung động như java servlets (JPS) hay Active Server Pages (ASP) Còn tầng thứ

ba là cơ sở dữ liệu chứa nội dung và dữ liệu người dùng (Username, Password, mã

số bảo mật xã hội, Chi tiết thẻ tính dụng)

- Quá trình hoạt động bắt đầu với yêu cầu được tạo ra từ người dùng trên trình duyệt gửi qua Internet tới trình chủ Web ứng dụng (Web application Server) Web ứng dụng truy cập máy chủ chứa cơ sở dữ liệu để thực hiện nhiệm vụ được yêu cầu:cập nhật, truy vấn thông tin đang nằm trong cơ sở dữ liệu Sau đó ứng dụng Web gửi thông tin lại cho người dùng qua trình duyệt

1.1.1.3 Kết nối với các cơ sở dữ liệu

Một ứng dụng phải được viết trong một ngôn ngữ chủ được hổ trợ bởi hệ thống đặc biệt Mỗi DBMS (Database Managerment System) có cách sở hữu những ứng dụng được cho phép sử dụng nó Ưu điểm của SQL làm dễ dàng các nhà phát triển

để chuẩn hóa dữ liệu định nghĩa và dữ liệu thao tác và hầu hết các nhà quản trị cơ sở

dữ liệu chọn SQL là ngôn ngữ truy vấn của họ

Tuy nhiên, ứng dụng và sự phân chia cơ sở dữ liệu chỉ đạt được ưu điểm của môhình lập trình Client-Server Giao diện ứng dụng với cơ sở dữ liệu bằng phương pháp kết nối cơ sỏ dữ liệu APIs cung cấp với ngôn ngữ lập trình được sử dụng để phát triển ứng dụng Những bộ kết nối cơ sở dữ liệu APIs là có thể lưu trữ những thông tin kết nối cơ sở dữ liệu và ủy nhiệm thư, và chúng có khả năng để gởi câu truy vấn SQL đến cơ sở dữ liệu, nhận kết quả từ câu truy vấn và trả chúng lại cho ứng dụng

Có 3 cách phổ biến nhất của giao diện ứng dụng web với cơ sở dữ liệu sau cùng:

- Native database APIs

- ODBC

Trang 10

- JDBC

1.1.2 Các vấn đề liên quan đến ứng dụng web

Các ứng dụng Web được phát triển từ nhiều nguồn khác nhau, nên các lỗ hổng, các lỗi bảo mật cũng rất đa dạng Tuy vậy, các ứng dụng Web chủ yếu được phát triển từ các nguồn chính sau đây:

- Sử dụng ứng dụng Web từ mã nguồn mở (thường gọi là open source nhưng không theo dõi và cập nhật các bản vá lỗi bảo mật)

- Ứng dụng web được phát triển từ những người lập trình, mà họ không quan tâmnhiều hoặc thiếu kinh nghiệm trong việc bảo mật cho ứng dụng của mình Họ không

có một đội ngũ chuyên về kiểm tra lỗi bảo mật nên trang web thường có nhiều lỗ hổng

- Phát triển ứng dụng Web từ một ứng dụng mở khác nhưng người phát triển thường không kiểm tra lỗi bảo mật ứng dụng cũ trước khi phát triển tiếp, nên vẫn tồn tại các lỗi bảo mật

Ngày nay do sự phát triển bùng nổ của Internet, nên ứng dụng web được sử dụng rất rộng rãi trong nhiều lĩnh vực như báo điện tử, các trang giao dịch trực tuyến, cáctrang quảng cáo điện tử, các web thông tin của các doanh nghiệp hay chính phủ Chính vì sự phát triển rộng rãi này nên ứng dụng web luôn bị người ta tìm cách khaithác những lỗ hổng với những mục đích khác nhau

1.2 Tổng quang về web sever

1.2.1 Định nghĩa về Web Server

Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng vớinhững thông tin liên quan khác (các mã Script, các chương trình, và các file

Multimedia)

Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP, giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác

Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name Giả sử khi người sử dụng đánh vào thanh Address trên trình duyệt của máy một dòng http://www.abc.com sau đó gõ phím Enter, khi đó người

sử dụng đã gửi một yêu cầu đến một Server có Domain Name là www.abc.com Server này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt của người sử dụng

Bất kỳ một máy tính nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet.Khi máy tính kết nối đến một Web Server và gửi đến yêu cầu truy cập các thông tin

từ một trang Web nào đó, Web Server Software sẽ nhận yêu cầu và gửi lại những thông tin mà người sử dụng mong muốn

Web Server Software cũng chỉ là một ứng dụng phần mềm Web Server

Software được cài đặt, và chạy trên máy tính dùng làm Web Server, nhờ có chương trình này mà người sử dụng có thể truy cập đến các thông tin của trang Web từ một máy tính khác ở trên mạng (Internet, Intranet)

Web Server Software còn có thể được tích hợp với CSDL (Database), hay điềukhiển việc kết nối vào CSDL để có thể truy cập và kết xuất thông tin từ CSDL lêncác trang Web và truyền tải chúng đến người dùng

Trang 11

Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx ; Apache dành cho *.php ; Sun Java SystemWeb Server dành cho *.jsp

Phần lớn các Web server sử dụng cổng 80, nhưng cũng có thể thay đổi để

Webserver có thể cài đặt trên cổng không tiêu chuẩn nếu muốn "dấu" Web server như là một Web server đa host trên một máy tính bằng việc ánh xạ mỗi server cho một cổng khác nhau

1.2.2 Nguyên lý hoạt động của Web Server

Khi ta gõ địa chỉ trang web “http://www.abc.com/” vào trình duyệt web và nhấn Enter, trang web hiển thị ngay trên màn hình

Theo mô hình trên, trình duyệt web thực hiện một kết nối tới máy chủ web, yêu cầu một trang web và nhận lại nó Sau đây, là thứ tự từng bước cơ bản xảy đến đằngsau màn hình của bạn:

Trình duyệt web tách địa chỉ website làm 3 phần:

- Phần giao thức: (“http”)

- Máy chủ tên miền: (www.abc.com)

- Tên tệp: (“index.htm”)

Trình duyệt liên hệ với máy chủ tên miền để chuyển đổi tên miền

"www.abc.com" ra địa chỉ IP (Internet Protcol)

Sau đó, trình duyệt sẽ gửi tiếp một kết nối tới máy chủ có địa chỉ IP tương ứng qua cổng 80

Dựa trên giao thức HTTP, trình duyệt gửi yêu cầu GET đến máy chủ, yêu cầu tệp "http://www.abc.com/index.htm" (cookies cũng sẽ được gửi kèm theo từ trình duyệt web đến máy chủ)

Tiếp đến, máy chủ sẽ gửi đoạn text dạng HTML đến trình duyệt web máy đã gởiyêu cầu (cookies cũng được gửi kèm theo từ máy chủ tới trình duyệt web, cookies được ghi trên đầu trang của mỗi trang web)

Trình duyệt web đọc các thẻ HTML, định dạng trang web và kết xuất ra màn hình

1.2.3 Web Client

- WebClient Là giao diện phía người dùng đầu cuối (Client), dùng để tạo ra giao

diện tương tác của người dùng đối với ứng dụng Web (User Interface)

- Các công nghệ/ ngôn ngữ lập trình hỗ trợ cho WebClient

+Công nghệ: PhotoShop, Flash, Silver Light (Microsoft)v v…

Trang 12

duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên trình duyệt Web Nói cách khác, HTTP là giao thức truyền tải các file từ một Web server vào một trình duyệt Web để người dùng có thể xem một trang Web đang hiện diện trên Internet.HTTP

là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet)

Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm việc là HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản), có chức năng quản lý cách thức mà các trang Web được định dạng và hiển thị

Người ta gọi HTTP là một giao thức “phi trạng thái” (stateless) bởi vì mỗi lệnh đều được thực thi một cách độc lập, lệnh sau không biết bất cứ điều gì về các lệnh

đã đến trước mình Đây chính là một hạn chế, khiếm khuyết của HTTP Nó là nguyên nhân chính của tình trạng rất khó thực thi các trang Web có khả năng phản ứng thông minh đối với lệnh mà người dùng nạp vào Và sự hạn chế này đang được các nhà phát triển khắc phục trong các công nghệ mới như ActiveX, Java,

JavaScript và cookies

Phiên bản mới nhất của HTTP là 1.1 So với phiên bản nguyên thủy (HTTP 1.0), phiên bản mới này truyền tải các trang Web nhanh hơn và giảm tình trạng tắc nghẽn giao thông Web

1.3.2 Giao thức FTP

FTP là viết tắt từ File Transfer Protocol (giao thức truyền tải file) là một giao thức dùng để tải lên (upload) các file từ một trạm làm việc (workstation) hay máy tính cá nhân tới một FTP server hoặc tải xuống (download) các file từ một máy chủ FTP về một trạm làm việc (hay máy tính cá nhân) Đây là cách thức đơn giản nhất

để truyền tải các file giữa các máy tính trên Internet

FTP hiện được dùng phổ biến để upload các trang Web từ nhà thiết kế Web lênmột máy chủ host trên Internet, truyền tải các file dữ liệu qua lại giữa các máy tính trên Internet, cũng như để tải các chương trình, các file từ các máy chủ khác về máytính cá nhân Dùng giao thức FTP, bạn có thể cập nhật (xóa, đổi tên, di chuyển, copy,) các file tại một máy chủ Nếu dùng chức năng FTP của một ứng dụng quản

lý file (như Total Commander), bạn có thể tiến hành các tác vụ xử lý file trên máy chủ giống như ngay trên máy tính của mình

1.4 Các giao thức bảo mật trên Web Server

1.4.1 Giao thức SSL

1.4.1.1 Lịch sử phát triển của giao thức SSL

Hai giao thức bảo mật quan trọng lớp vận chuyển (Layer Transport) có tầm quan trọng cao nhất đối với sự bảo mật của các trình ứng dụng trên Web: đó là hai giao thức SSL và TLS

Có một số khả năng để bảo vệ bằng mật mã lưu lượng dữ liệu HTTP

Vào những năm 1990, tập đoàn CommerceNet đã đề xuất S-HTTP mà về cơ bản

là một cải tiến bảo mật của HTTP Một phần thực thi của S-HTTP đã làm cho có sẵn công cộng trong một phiên bản được chỉnh sửa của trình duyệt Mosaic NCSA

mà những người dùng phải mua (trái với trình duyệt Mo NCSA "chuẩn" có sẵn công cộng và miễn phí trên Internet) Tuy nhiên, cùng thời điểm Netscape

Communication đã giới thiệu SSL và một giao thức tương ứng với phiên bản đầu tiên của Netscape Navigator Trái với tập đoàn CommerceNet, Netscape

Communications đã không tính phí các khách hàng của nó về việc thực thi giao

Trang 13

thức bảo mật của nó Kết quả, SSL trở thành giao thức nổi bật để cung cấp các dịch

vụ bảo mật cho lưu lượng dữ liệu HTTP 1994 và S-HTTP lặng lẽ biến mất

Cho đến bây giờ, có ba phiên bản của SSL:

- SSL 1.0: được sử dụng nội bộ chỉ bởi Netscape Communications Nó chứa một số khiếm khuyết nghiêm trọng và không bao giờ được tung ra bên ngoài

- SSL 2.0: được kết nhập vào Netscape Communications 1.0 đến 2.x Nó có một số điểm yếu liên quan đến sự hiện thân cụ thể của cuộc tấn công của đối tượng trung gian Trong một nỗ lực nhằm dùng sự không chắc chắn của công chúng về bảo mật của SSL, Microsoft cũng đã giới thiệu giao thức PCT (Private

Communication Technology) cạnh tranh trong lần tung ra Internet Explorer đầu tiêncủa nó vào năm 1996

- Netscape Communications đã phản ứng lại sự thách thức PCT của Microsoft bằng cách giới thiệu SSL 3.0 vốn giải quyết các vấn đề trong SSL 2.0 và thêm một

số tính năng mới Vào thời điểm này, Microsoft nhượng bộ và đồng ý hỗ trợ SSL trong tất cả các phiên bản phần mềm dựa vào TCP/IP của nó (mặc dù phiên bản riêng của nó vẫn hỗ trợ PCT cho sự tương thích ngược)

Thông số kỹ thuật mới nhất của SSL 3.0 đã được tung ra chính thức vào tháng 3năm 1996 Nó được thực thi trong tất cả các trình duyệt chính bao gồm ví dụ

Microsoft Internet Explorer 3.0 (và các phiên bản cao hơn), Netscape Navigator 3.0 (và các phiên bản cao hơn), và Open SSL 3.0 đã được điều chỉnh bởi IETF TLS

WG Thực tế, thông số kỹ thuật giao thức TLS 1.0 dẫn xuất từ SSL 3.0

1.4.1.2 Cấu trúc của giao thức SSL

Cấu trúc của SSL và giao thức SSL tương ứng được minh họa trong hình

1.2(Cấu trúc SSL và giao thức SSL) Theo hình này, SSL ám chỉ một lớp (bảo mật) trung gian giữa lớp vận chuyển (Transport Layer) và lớp ứng dụng (Application Layer) SSL được xếp lớp lên trên một dịch vụ vận chuyển định hướng nối kết và đáng tin cậy, chẳng hạn như được cung cấp bởi TCP Về khả năng, nó có thể cung cấp các dịch vụ bảo mật cho các giao thức ứng dụng tùy ý dựa vào TCP chứ không chỉ HTTP Thực tế, một ưu điểm chính của các giao thức bảo mật lớp vận chuyển (Transport layer) nói chung và giao thức SSL nói riêng là chúng độc lập với ứng dụng theo nghĩa là chúng có thể được sử dụng để bảo vệ bất kỳ giao thức ứng dụng được xếp lớp lên trên TCP một cách trong suốt Hình 1.2 minh họa một số giao thứcứng dụng điển hình bao gồm NSIIOP, HTTP, FTP, Telnet, IMAP, IRC, và POP3 Tất cả chúng có thể được bảo vệ bằng cách xếp lớn chúng lên trên SSL (mẫu tự S được thêm vào trong các từ ghép giao thức tương ứng chỉ định việc sử dụng SSL) Tuy nhiên, chú ý rằng SSL có một định hướng client-server mạnh mẽ và thật sự không đáp ứng các yêu cầu của các giao thức ứng dụng ngang hàng

SSL là giao thức tầng (layered protocol), bao gồm 4 giao thức con sau:

+ Giao thức SSL Handshake

+ Giao thức SSL Change Cipher Spec

+ Giao thức SSL Alert

+ SSL Record Layer

Vị trí của các giao thức trên, tương ứng với mô hình TCP/IP

- Các bên giao tiếp (nghĩa là client và server) có thể xác thực nhau bằng cách sử dụng mật mã khóa chung

- Sự bí mật của lưu lượng dữ liệu được bảo vệ vì nối kết được mã hóa trong suốtsau khi một sự thiết lập quan hệ ban đầu và sự thương lượng khóa session đã xảy ra

Trang 14

- Tính xác thực và tính toàn vẹn của lưu lượng dữ liệu cũng được bảo vệ vì các thông báo được xác thực và được kiểm tra tính toàn vẹn một cách trong suốt bằng cách sử dụng MAC.

Tuy nhiên, điều quan trọng cần lưu ý là SSL không ngăn các cuộc tấn công phân tích lưu lượng Bằng cách xem xét các địa chỉ IP nguồn, đích không được mã hóa

và các số cổng TCP, hoặc xem xét lượng dữ liệu được truyền, một người phân tích lưu lượng vẫn có thể xác định các bên nào đang tương tác, các loại dịch vụ đang được sử dụng, và đôi khi ngay cả dành được thông tin về các mối quan hệ doanh nghiệp hoặc cá nhân Hơn nữa, SSL không ngăn các cuộc tấn công có định hướng dựa vào phần thực thi TCP, chẳng hạn như các cuộc tấn công làm tràn ngập TCP SYN hoặc cưỡng đoạt session

Để sử dụng sự bảo vệ SSL, cả client lẫn server phải biết rằng phía bên kia đang

sử dụng SSL Nói chung, có ba khả năng để giải quyết vấn đề này:

- Sử dụng các số cổng chuyên dụng được dành riêng bởi Internet AsignedNumbers Authority (IANA) Trong trường hợp này, một số cổng riêng biệt phải được gán cho mọi giao thức ứng dụng vốn sử dụng SSL

- Sử dụng số cổng chuẩn cho mọi giao thức ứng dụng và để thương lượng các tùy chọn bảo mật như là một phần của giao thức ứng dụng (bây giờ đã được chỉnh sửa đôi chút)

- Sử dụng một tùy chọn TCP để thương lượng việc sử dụng một giao thức bảo mật, chẳng hạn như SSL trong suốt giai đoạn thiết lập nối kết TCP thông thường

Sự thương lượng dành riêng cho ứng dụng của các tùy chọn bảo mật (khả năng thứ hai) có khuyết điểm là đòi hỏi mọi giao thức ứng dụng được chỉnh sửa để hiểu tiến trình thương lượng Ngoài ra, việc xác định một tùy chọn TCP (khả năng thứ ba) là một giải pháp tốt, nhưng đó không được thảo luận nghiêm túc cho đến bây giờ Thực tế, các số cổng riêng biệt đã được dành riêng và được gán bởi IANA cho mọi giao thức ứng dụng vốn có thể chạy trên SSL hoặc TLS (nghĩa là khả năng thứ nhất) Tuy nhiên, hãy chú ý việc sử dụng các số cổng riêng biệt cũng có khuyết điểm là đòi hỏi hai nối kết TCP nếu client không biết những gì mà server hỗ trợ Trước tiên, client phải nối kết với cổng an toàn và sau đó với cổng không an toàn hay ngược lại Rất có thể các giao thức sau này sẽ hủy bỏ phương pháp này và tìm khả năng thứ hai

Các số cổng được gán bởi IANA cho các giao thức ứng dụng vốn chạy trên SSL/TLS được tóm tắt trong bảng 1.1 và được minh họa một phần trong hình 1.2 Ngày nay, "S" chỉ định việc sử dụng SSL được thêm (hậu tố) nhất quán vào các từ ghép của các giao thức ứng dụng tương ứng (trong một số thuật ngữ ban đầu, S được sử dụng và được thêm tiền tố một cách không nhất quán và một số từ ghép)

Bảng1.1 Các số cổng được gán cho các giao thức ứng dụng chạy trên TLS/SSL

Trang 15

Ftps-data 989 FTP (dữ liệu) trên TLS/SSL

Ftps 990 FTP (Điều khiển) trên TLS/SSL

Tenets 992 TELNET trên TLS/SSL

Imaps 994 IRC trên TLS/SSL

Pop3s 995 POP3 trên TLS/SSL

Nói chung, một session SSL có trạng thái và giao thức SSL phải khởi tạo và duy trì thông tin trạng thái ở một trong hai phía của session Các phần tử thông tin trạng thái session tương ứng bao gồm một session ID, một chứng nhận ngang hàng, một phương pháp nén, một thông số mật mã, một khóa mật chính và một cờ vốn chỉđịnh việc session có thể tiếp tục lại hay không, được tóm tắt trong bảng 1.2 Một session SSL có thể được sử dụng trong một số kết nối và các thành phần thông tin trạng thái nối kết tương ứng được tóm tắt trong bảng 1.3 Chúng bao gồm các tham

số mật mã, chẳng hạn như các chuỗi byte ngẫu nhiên server và client, các khóa mật MAC ghi server và client, các khóa ghi server và client, một vector khởi tạo và một

số chuỗi Ở trong hai trường hợp, điều quan trọng cần lưu ý là các phía giao tiếp

phải sử dụng nhiều session SSL đồng thời và các session có nhiều nối kết đồng thời

Bảng 1.2 Các thành phần thông tin trạng thái Session SSL

Thành Phần Mô tả

Session ID Định danh được chọn bởi server để nhận dạng một trạng thái session hoạt động hoặc có thể tiếp tục lại.Peer certificate Chứng nhân X.509 phiên bản 3 của thực thể ngang hàng

Compression

method Thuật toán dừng để nén dữ liệu trước khi mã hóa

Cipher spec Thông số của các thuật toán mã hóa dữ liệu và MAC

Master secret Khóa mật 48-byte được chia sẻ giữa client và server

Is resumable Cờ vốn biểu thị session có thể được sử dụng để bắt đầu các nối kết

mới hay không

Bảng 1.3 Các thành phần thông tin trạng thái nối kết SSL

Thành Phần Mô tả

Ngẫu nhiên server

và client Các chuỗi byte được chọn bởi server và client cho mỗi nối kết.Khóa mật MAC ghi

server

Khóa mật được sử dụng cho các hoạt động MAC trên dữ liệu đượcghi bởi server

Trang 16

Khóa mật MAC ghi

client Khóa mật được sử dụng cho các hoạt động MAC trên dữ liệu đượcghi bởi client.Khóa ghi server Khóa được sử dụng cho việc mã hóa dữ liệu bởi server và giải mã bởi clientKhóa ghi client Khóa được sử dụng để mã khóa dữ liệu bởi client và giải mã bởi server.

Initialization vector

Trạng thái khởi tạo cho một mật mã khối trong chế độ CBC Trường này được khởi tạo đầu tiên bởi SSL Handshake Player Sau đó, khối text mật mã sau cùng từ mỗi bản ghi được dành riêng

để sử dụng vởi bản ghi sau đó

Số chuỗi Mỗi phía duy trì các số chuỗi riêng biệt cho các thông báo được truyền và được nhận cho mỗi nối kết.

Như được minh họa trong hình 1.3, giao thức SSL gồm hai phần chính, SSL

Record Protocol và một số giao thức con SSL được xếp lớp trên nó:

- Record OK được xếp lớp trên một dịch vụ lớp vận chuyển định hướng nối kết

và đáng tin cậy, chẳng hạn như được cung cấp bởi TCP và cung cấp sự xác thực

nguồn gốc thông báo, sự bí mật dữ liệu và dữ liệu

- Các dịch vụ toàn vẹn (bao gồm những thứ như chống xem lại)

- Các giao thức con SSL được xếp lớp trên SSL Record Protocol để cung cấp sự

hỗ trợ cho việc quản lý session SSL và thiết lập nối kết

Giao thức con SSL quan trọng nhất là SSL Handshake Protocol Lần lượt giao thức này là một giao thức xác thực và trao đổi khóa vốn có thể được sử dụng để

thương lượng, khởi tạo và đồng bộ hóa các tham số bảo mật và thông tin trạng thái tương ứng được đặt ở một trong hai điểm cuối của một session hoặc nối kết SSL

Sau khi SSL Handshake Protocol đã hoàn tất, dữ liệu ứng dụng có thể được gửi

và được nhận bằng cách sử dụng SSL Record Protocol và các tham số bảo mật đượcthương lượng và các thành phần thông tin trạng thái

1.3.1.3 SSL Record Protocol

SSL Record Protocol nhận dữ liệu từ các giao thức con SSL lớp cao hơn và xử

lý việc phân đoạn, nén, xác thực và mã hóa dữ liệu Chính xác hơn, giao thức này lấy một khối dữ liệu có kích cỡ tùy ý làm dữ liệu nhập và tạo một loạt các đoạn dữ liệu SSL làm dữ liệu xuất (hoặc còn được gọi là các bản ghi) nhỏ hơn hoặc bằng

16,383 byte

Các bước khác nhau của SSL Record Protocol vốn đi từ một đoạn dữ liệu thô đến một bản ghi SSL Plaintext (bước phân đoạn), SSL Compressed (bước nén) và SSL Ciphertext (bước mã hóa) Sau cùng, mỗi bản ghi SSL chứa các trường thông tin sau đây:

- Loại nội dung

- Số phiên bản của giao thức

- Chiều dài

- Tải trọng dữ liệu (được nén và được mã hóa tùy ý)

- MAC

Loại nội dung xác định giao thức lớp cao hơn vốn phải được sử dụng để sau đó

xử lý tải trọng dữ liệu bản ghi SSL (sau khi giải nén và giải mã hóa thích hợp)

Trang 17

Số phiên bản của giao thức xác định phiên bản SSL đang sử dụng (thường là version 3.0).

Mỗi tải trọng dữ liệu bản ghi SSL được nén và được mã hóa theo phương thức nén hiện hành và thông số mật mã được xác định cho session SSL

Lúc bắt đầu mỗi session SSL, phương pháp nén và thông số mật mã thường được xác định là rỗng Cả hai được xác lập trong suốt quá trình thực thi ban đầu SSL Handshake Protocol Sau cùng, MAC được thêm vào mỗi bản ghi SSL Nó cung cấp các dịch vụ xác thực nguồn gốc thông báo và tính toàn vẹn dữ liệu Tương tự như thuật toán mã hóa, thuật toán vốn được sử dụng để tính và xác nhận MAC đượcxác định trong thông số mật mã của trạng thái session hiện hành Theo mặc định, SSL Record Protocol sử dụng một cấu trúc MAC vốn tương tự nhưng vẫn khác với cấu trúc HMAC hơn Có ba điểm khác biệt chính giữa cấu trúc SSL MAC và cấu trúc HMAC:

- Cấu trúc SSL MAC có một số chuỗi trong thông báo trước khi hash để ngăn các hình thức tấn công xem lại riêng biệt

- Cấu trúc SSL MAC có chiều dài bản ghi

- Cấu trúc SSL MAC sử dụng các toán tử ghép, trong khi cấu trúc MAC

sử dụng module cộng 2

Tất cả những điểm khác biệt này hiện hữu chủ yếu vì cấu trúc SSL MAC được

sử dụng trước cấu trúc HMAC trong hầu như tất cả thông số kỹ thuật giao thức bảo mật Internet Cấu trúc HMAC cũng được sử dụng cho thông số kỹ thuật giao thức TLS gần đây hơn

Như được minh họa trong hình 1.3, một số giao thức con SSL được xếp lớp trên SSL Record Protocol Mỗi giao thức con có thể tham chiếu đến các loại thông báo cụ thể vốn được gửi bằng cách sử dụng SSL Record Protocol Thông số kỹ thuật SSL 3.0 xác định ba giao thức SSL sau đây:

SSL Handshake Protocol là giao thức con SSL chính được sử dụng để hỗ trợ xác thực client và server và để trao đổi một khóa session

Sau cùng, SSL ChangeCipherSpec Protocol được sử dụng để thay đổi giữa một thông số mật mã này và một thông số mật mã khác Mặc dù thông số mật mã thường được thay đổi ở cuối một sự thiết lập quan hệ SSL, nhưng nó cũng có thể được thay đổi vào bất kỳ thời điểm sau đó

Ngoài những giao thức con SSL này, một SSL Application Data Protocol được sử dụng để chuyển trực tiếp dữ liệu ứng dụng đến SSL Record Protocol

1.4.1.4 SSL Handshake Protocol

SSL Handshake Protocol là giao thức con SSL chính được xếp lớp trên SSL Record Protocol Kết quả, các thông báo thiết lập quan hệ SSL được cung cấp cho lớp bản ghi SSL nơi chúng được bao bọc trong một hoặc nhiều bản ghi SSL vốn được xử lý và được chuyển như được xác định bởi phương pháp nén và thông số mật mã của session SSL hiện hành và các khóa mật mã của nối kết SSL tương ứng Mục đích của SSL Handshake Protocol là yêu cầu một client và server thiết lập và duy trì thông tin trạng thái vốn được sử dụng để bảo vệ các cuộc liên lạc Cụ thể

Trang 18

hơn, giao thức phải yêu cầu client và server chấp thuận một phiên bản giao thức SSL chung, chọn phương thức nén và thông số mật mã, tùy ý xác thực nhau và tạo một khóa mật chính mà từ đó các khóa session khác nhau dành cho việc xác thực và

mã hóa thông báo có thể được dẫn xuất từ đó

Tóm lại, việc thực thi SSL Handshake Protocol giữa một client C và một server S

có thể được tóm tắt như sau (các thông báo được đặt trong các dấu ‘[] ’ thì tùy ý):

- Số của phiên bản SSL cao nhất được biểu hiện bởi client (thường là 3.0)

- Một cấu trúc ngẫu nhiên do client tạo ra gồm một temll thời gian 32 bit có dạng UNIX chuẩn và một giá trị 28 byte được tạo ra bởi một bộ tạo số giả ngẫu nhiên

- Một định danh session mà client muốn sử dụng cho nối kết này

- Một danh sách các bộ mật mã client hỗ trợ

- Một danh sách các phương pháp nén mà client hỗ trợ

Chú ý rằng trường session identity (định danh session) nên rỗng nếu session SSL hiện không tồn tại hoặc nếu client muốn tạo các tham số bảo mật mới Ở một trong hai trường hợp, một trường session identity không rỗng là xác định một session SSL hiện có giữa client và server (nghĩa là một session có các tham số bảo mật mà client muốn sử dụng lại.) Định danh session có thể bắt nguồn từ một nối kết trước đó, nối kết này hoặc một nối kết đang hoạt động Cũng chú ý rằng danh sách các bộ mật mã được hỗ trợ, được chuyển từ client đến server trong thông báo CLIENTHELLO, chứa các tổ hợp thuật toán mật mã được hỗ trợ bởi client theo thứ

tự ưu tiên Mỗi bộ mật mã xác định một thuật toán trao đổi khóa và một thông báo mật mã Server sẽ chọn một bộ mật mã hoặc nếu các lựa chọn có thể chấp nhận

Trang 19

được không được trình bày, trả về một thông báo lỗi và đóng nối kết một cách phù hợp Sau khi đã gởi thông báo CLIENTHELLO, client đợi một thông báo

SERVERHELLO Bất kỳ thông báo khác được trả về bởi server ngoại trừ một thông báo HELLOREQUEST được xem như là một lỗi vào thời điểm này

Ở bước 2, server xử lý thông báo CLIENTHELLO và đáp ứng bằng một thông báo lỗi hoặc thông báo SERVERHELLO Tương tự như thông báo

CLIENTHELLO, thông báo SERVERHELLO có các trường sau đây:

- Một số phiên bản server chứa phiên bản thấp hơn của phiên bản được đề nghịbởi client trong thông báo CLIENTHELLO và được hỗ trợ cao nhất bởi Server

- Một cấu trúc ngẫu nhiên do server tạo ra cũng gồm một tem thời gian 32bit

có dạng UNIX chuẩn và một giá trị 28bit được tạo ra bởi một bộ tạo số ngẫu nhiên

- Một định danh session tương ứng với nối kết này

- Một bộ mật mã được chọn từ bởi server từ danh sách các bộ mật mã được hỗ trợ bởi client

- Một phương pháp nén được chọn bởi server từ danh sách các thuật toán nén được hỗ trợ bởi client

Nếu định danh session trong thông báo CLIENTHELLO không rỗng, server tìmtrong cache session của nó nhằm tìm ra một mục tương hợp Nếu mục tương hợp được tìm thấy và server muốn thiết lập nối kết mới bằng cách sử dụng trạng thái session tương ứng, server đáp ứng bằng cùng một giá trị như được cung cấp bởi client Chỉ định này là một session được tiếp tục lại và xác định rằng cả hai phía phải tiến hành trực tiếp với các thông báo CHANGECIPHERSPEC và FINISHED được trình bày thêm bên dưới Nếu không, trường này chứa một giá trị khác nhận biết một session mới Server cũng có thể trả về một trường định danh session rỗng

để biểu thị rằng session sẽ không được lưu trữ và do đó không thể được tiếp tục sau

đó Cũng chú ý rằng trong thông báo SERVERHELLO, server chọn một bộ mật mã

và một phương pháp nén từ các danh sách được cung cấp bởi client trong thông báo CLIENTHELLO Các thuật toán trao đổi khóa, xác thực, mã hóa và xác thực thông báo được xác định bởi bộ mã được chọn bởi server và được làm lộ ra trong thông báo SERVERHELLO

Các bộ mật mã vốn đã được xác định trong giao thức SSL về cơ bản giống như

bộ mật mã đã xác định cho TLS

Ngoài thông báo SERVERHELLO, server cũng phải gởi các thông báo khác đến client Ví dụ, nếu server sử dụng sự xác thức dựa vào chứng nhận, server gởi chứng nhận site của nó đến client trong một thông báo CERTIFICATE tương ứng Chứng nhận phải thích hợp cho thuật toán trao đổi khóa của bộ mật mã được chọn

và thường là một chứng nhận X.509v3 Cùng loại thông báo sẽ được sử dụng sau đócho sự đáp ứng của client đối với thông báo sẽ được sử dụng sau đó cho sự đáp ứng của client đối với thông báo CERTIFICATEREQUEST của server Trong trường hợp của các chứng nhận X.509v3, một chứng nhận có thể thực sự tham chiếu đến toàn bộ một chuỗi các chứng nhận, được sắp xếp theo thứ tự với chứng nhận của đối tượng gởi trước tiên theo sau là bất kỳ chứng nhận CA tiến hành theo trình tự hướng đến một CA gốc (vốn sẽ được chấp nhận bởi client)

Tiếp theo, server có thể gởi một thông báo SERVERKEYEXCHANGE đến client nếu nó không có chứng nhận, một chứng nhận vốn có thể được sử dụng chỉ

để xác nhận các chữ ký kỹ thuật số hoặc sử dụng thuật toán trao đổi khóa dựa vào token FORITEZZA (KEA) Rõ ràng, thông báo này không được yêu cầu nếu chứng nhận site gồm một khóa chung RSA vốn có thể được sử dụng trong việc mã hóa

Trang 20

Ngoài ra, một server không nặc danh có thể tùy ý yêu cầu một chứng nhận cá nhân

để xác thực client Do đó, nó gởi một thông báo CERTIFICATERequest đến client Thông báo này chứa một danh sách các loại chứng nhận được yêu cầu, được phân loại theo thứ tự ưu tiên của server cũng như một danh sách các tên được phân biệt cho các CA có thể chấp nhận Ở cuối bước 2, server gởi một thông báo

SERVERHELLODone đến client để chỉ định sự kết thúc SERVERHELLO và các thông báo đi kèm

Sau khi nhận SERVERHELLO và các thông báo đi kèm, client xác nhận rằng chứng nhận site server (nếu được cung cấp) là hợp lệ và kiểm tra nhằm bảo đảm rằng các thông số bảo mật được cung cấp trong thông báo SERVERHELLO có thể được chấp nhận Nếu server yêu cầu sự xác thực client, client gởi một thông báo CERTIFICATE vốn chứa một chứng nhận cá nhân cho khóa chung của người dùng đến server ở bước 3 Tiếp theo, client gởi một thông báo

CLIENTKEYEXCHANGE có dạng phụ thuộc vào thuật toán cho mỗi khóa được chọn bởi server:

- Nếu RSA được sử dụng cho việc xác thực server và trao đổi khóa, client tạomột khóa mật tiền chính 48 byte, mã hóa nó bằng khóa chung được tìm thấy trong chứng nhận site hoặc khóa RSA tạm thời từ thông báo SERVERKEYEXCHANGE

và gởi kết quả trở về server trong thông báo CLIENTKEYEXCHANGE Lần lượt server sử dụng khóa riêng tương ứng để giải mã khóa mật chính

- Nếu các token FORTEZZA được sử dụng để trao đổi khóa, client dẫn xuất một khóa mã hóa token (TEK) bằng cách sử dụng KEA Phép tình KEA của client

sử dụng khóa chung từ chứng nhận server cùng với một số tham số riêng trong token của client Client gởi các tham số chung cần thiết cho server để cũng tạo TEK, sử dụng các tham số riêng của nó Nó tạo một khóa mật chính, bao bọc nó bằng cách sử dụng TEK và gởi kết quả cùng với một số vector khởi tạo đến server như là một phần của thông báo CLIENTKEYEXCHANGE Lần lượt, server có thể giải mã khóa mật chính một cách thích hợp Thuật toán trao đổi khóa này không được sử dụng rộng rãi

- Nếu sự xác thực client được yêu cầu, client cũng gởi một thông báo

CERTIFICATEVERIFY đến server Thông báo này được sử dụng để cung cấp sự xác thực rõ ràng định danh của người dùng dựa vào chứng nhận các nhân Nó chỉ được gởi theo sau một chứng chỉ client vốn có khả năng tạo chữ ký (tất cả chứng nhận ngoại trừ các chứng nhận chứa các tham số DiffeHallman cố định) Sau cùng, client hoàn tất bước 3 bằng cách gởi một thông báo CHANGECIPHERSPEC và một thông báo FINISHED tương ứng đến server Thông báo FINISHED luôn được gởi ngay lập tức sau thông báo CHANGECIPERSPEC để xác nhận rằng các tiến trình trao đổi khóa và xác thực đã thành công Thực tế, thông báo FINISHED là thông báo đầu tiên vốn được bảo vệ bằng các thuật toán mới được thương lượng và các khóa session Nó chỉ có thể được tạo và được xác nhận nếu những khóa này được cài đặt một cách phù hợp ở cả hai phía Không đòi hỏi sự báo nhận thông báo FINISHED, các phía có thể bắt đầu gởi dữ liệu được mã hóa ngay lập tức sau khi đãgởi thông báo FINISHED Việc thực thi SSL Handshake Protocol hoàn tất bằng việc cũng yêu cầu server gởi một thông báo CHANGECIPHERSPEC và một thông báo FINISHED tương ứng đến client ở bước 4

Sau khi sự thiết lập SSL hoàn tất, một nối kết an toàn được thiết lập giữa client và server Nối kết này bây giờ có thể được sử dụng để gởi dữ liệu ứng dụng vốn được bao bọc bởi SSL Record Protocol Chính xác hơn, dữ liệu ứng dụng có thể được

Trang 21

phân đoạn, được nén, hoặc được mã hóa và đước xác thực theo SSL Record

Protocol cũng như thông tin trạng thái session và nối kết vốn bây giờ được thiết lập (tùy thuộc việc

thực thi SSL Handshake Protocol)

SSL Handshake Protocol có thể được rút ngắn nếu client và server quyết định tiếp tục lại một session SSL được thiết lập trước đó (và vẫn được lưu trữ) hoặc lặp lại một session SSL hiện có Trong trường hợp này, chỉ ba dòng thông báo và tổng cộng sáu thông báo được yêu cầu Các dòng thông báo tương ứng có thể được tóm tắt như sau:

1.4.2 Giao thức SHTTP

SHTTP là một giao thức bảo mật sử dụng để mã hoá và host các thông tin nhạy cảm trên web Nó là một phần rất quan trọng trong việc bảo mật các dữ liệu như tài chính, các thông tin tối quan trọng Secure HTTP được phát triển bởi Enterprise Integration Technoloy (EIT) đưa ra năm 1995 và được tổ chức CommerceNet Project tại Silicon Valley public ra ngoài

SHTTP là một giao thức mở rộng từ giao thức HTTP hỗ trợ bảo mật dữ liệu trong quá trình truyền qua World Wide Web Không phải tất cả các Web Brower và các server đều hỗ trợ S-HTTP Một công nghệ khác cũng đảm bảo bảo mật trong quá trình truyền qua WWW là Secure Socket Layer (SSL) được sử dụng nhiều hơn Tuy nhiên SSL và S-HTTP có thể rất khó thiết kế và sử dụng kết hợp chúng với nhau Khi một SSL được thiết lập nó sẽ giúp bảo mật thông tin truyền giữa hai máy tính, S-HTTP được thiết lập để gửi những đoạn messages một cách bảo mật Cả hai giao thức đều được tổ chức Internet Engineering Task Force (IETF) coi là chuẩn chung

Cung cấp cho hệ thống một giải pháp bảo mật tối ưu dựa trên môi trường Web, với HTTP, SHTTP cho phép client và server thương lượng độc lập với nhau trong: Phương thức mã hoá, phương thức xác thực, và sử dụng chữ ký điện tử, và tích hợp nhiều phương pháp với nhau Nó hỗ trợ nhiều khả năng mã hoá dữ liệu như: triple DES và nhiều phương pháp khác Sử dụng SHTTP bắt đầu bằng việc chuyển các messages với những thông tin quan trọng cần được mã hoá, hash (băm - theo thuật

Trang 22

toán nào đó như DES chẳng hạn), và các thuật toán signature Và nó có thể thực hiện trên các header và các nội dung trong quá trình truyền.

SHTTP cung cấp khả dụng toàn bộ cả ba tính năng: Bảo đảm thông tin không bị

lộ (tối mật - confidentiality), xác thực (authentication), tính toàn vẹn thông tin (Integrity) cho một file cơ bản nào đó Web site với tính năng bảo mật được áp dụng

để truyền các thông tin cần tính bảo mật cao như Credit card, các thông tin các nhân, mật khẩu, tài khoản người dùng, bảo mật các thông tin truyền trên mạng Internet cho một tổ chức

Có hai tổ chức đưa ra là: Secure Socket Layer (SSL) từ Netcape và Secure HTTP (S-HTTP) từ Enterprise Integration Technology Được áp dụng trong thương mại cung cấp tính năng bảo mật cực cao ví như Secure Electrolic Transactions (SET), cho quá trình truyền các thông tin như MasterCard và Vista

1.5 Các web sever thông dụng

1.5.1 Web Server Apache

Apache hay là chương trình máy chủ HTTP là một chương trình dành cho máy chủ đối thoại qua giao thức HTTP Apache chạy trên các hệ điều hành tương tự như Unix, Microsoft Windows, Novell Netware và các hệ điều hành khác Apache đóng một vai trò quan trọng trong quá trình phát triển của mạng web thế giới (World Wide Web)

Khi được phát hành lần đầu, Apache là chương trình máy chủ mã nguồn mở duynhất có khả năng cạnh tranh với chương trình máy chủ tương tự của Netscape Communications Corporation mà ngày nay được biết đến qua tên thương mại Sun Java System Web Server Từ đó trở đi, Apache đã không ngừng tiến triển và trở thành một phần mềm có sức cạnh tranh mạnh so với các chương trình máy chủ khác

về mặt hiệu suất và tính năng phong phú Từ tháng 4 năm 1996, Apache trở thành một chương trình máy chủ HTTP thông dụng nhất Hơn nữa, Apache thường được dùng để so sánh với các phần mềm khác có chức năng tương tự Tính đến tháng 1 năm 2007 thì Apache chiếm đến 60% thị trường các chương trình phân phối trang web

Apache được phát triển và duy trì bởi một cộng đồng mã nguồn mở dưới sự bảo trợ của Apache Software Foundation Apache được phát hành với giấy phép ApacheLicense và là một phần mềm tự do và miễn phí

1.5.2 IIS

Microsoft Internet Information Services (các dịch vụ cung cấp thông tin

Internet) là các dịch vụ dành cho máy chủ chạy trên nền Hệ điều hành Window nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server, Nó có thể được sử dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằng việc sử dụng “Phương thức chuyển

giao siêu văn bản -Hypertext Transport Protocol (HTTP)”

Trong chiến lược giành thị phần Internet của Microsoft, máy chủ Web Internet Information Service (IIS) là một trong những ưu tiên hàng đầu Phiên bản đầu tiên IIS 1.0 được giới thiệu cách đây 11 năm cùng với Windows NT 4.0 vào năm 1996 Đến năm 1999, IIS 5.0 (trên nền Windows 2000 Server) nhanh chóng trở thành máychủ web phổ biến nhất vào thời điểm đó, mặc dù chỉ vài tháng sau nó phải đối mặt với những lỗ hổng bảo mật nghiêm trọng, bị các virus như Red Code, Nimbda khai thác Phiên bản IIS 6.0 trên nền Windows Server 2003 được đánh giá là máy chủ

Trang 23

web chắc chắn, ổn định, nhờ những thay đổi quan trọng trong kiến trúc Được viết lại trong sự khác biệt rất lớn so với IIS 6.0, với những cải tiến tốc độ, độ ổn định và khả năng an ninh, mục tiêu của IIS 7.0 là trở thành một máy chủ web uyển chuyển

và dễ dùng, cũng như đủ mạnh để chạy các ứng dụng web trong tương lai Được coi

là máy chủ web nhiều tham vọng nhất của Microsoft từ trước đến nay, cũng như là lần nâng cấp có những thay đổi quan trọng nhất trong lịch sử

1.5.3 Sun Java System Web Server (JSWS)

Sun Java System Web Server (JSWS) được phát triển dựa trên chương trình máy chủ web NCSA và được biết đến dưới một số tên như Sun ONE, Netscape Enterprise Server, và iPlanet Enterprise Server Khi AOL mua Netscape năm 1999, công ty này đã cộng tác với Sun Microsystems để hỗ trợ và tiếp tục phát triển sản phẩm Netscape Sự cộng tác này được gọi tên là iPlanet và hoạt động của nó kéo dài

3 năm và hết hạn vào tháng 3 năm 2002 Khi kết thúc, iPlanet trở thành một phần của Sun bởi vì máy chủ web và các phần mềm thương mại điện tử mà iPlanet bán

đã có quan hệ chặt chẽ với hoạt động kinh doanh của Sun hơn của Time

Warner Sun JSWS là sản phẩm thương mại, tuy nhiên chi phí bản quyền của nó là chấp nhận được Mức phí của nó thay đổi tùy thuộc vào năng lực của bộ vi xử lý của máy chủ mà nó cài đặt lên, tuy nhiên phần lớn website trả với mức phí từ USD

1400 đến USD 5000 cho việc mua bản quyền này Phần mềm của Sun cũng hoạt động được trên nhiều hệ điều hành như: HP_UX, Solaris và cả Windows Theo đánh giá mới đây, chỉ có khoảng 5% máy chủ web sử dụng Sun JSWS Tuy nhiên một số website nổi tiếng nhất, tấp nập nhất lại vẫn đang sử dụng phần mềm máy chủ này của Sun, điển hình là BMW, Dilbert, E*TRADE, Excite, Lycos và

Schwab Báo cáo từ công ty tư vấn như Gartner, Inc chỉ ra rằng Sun JSWS được sửdụng với mức hơn 40% đối với các website công cộng và hơn 60% của 100 website kinh doanh đứng đầu Cũng như phần lớn các chương tình máy chủ khác, Sun JSWS hỗ trợ phát triển các ứng dụng động cho các ứng dụng

Trang 24

Chương 2 Cách Nạp Web Sever Cho PLC

2.1 Các bước nạp Web Sever

2.1.1 Truy cập web sever trên PLC

- Bật máy chủ web Để thực hiện việc này, điều hướng đến menu máy chủ web

trong trang cấu hình thiết bị và chọn hộp để bật máy chủ web.

Hình 2.1 Thiết lập web sever

2.1.2 Tải dự án lên trình duyệt web

- Tải dự án của bạn xuống PLC của bạn và duyệt đến địa chỉ IP của nó bằng trình duyệt web của bạn Bạn sẽ thấy máy chủ Web Siemens PLC mặc định

Trang 25

Hình 2.2 Trình duyệt web của PLC

- Trang trạng thái biến cho phép bạn xem và sửa đổi thẻ PLC Bạn sẽ được chỉnhsửa trực tiếp các giá trị PLC!

Hình 2.3 Trang trạng thái biến cho phép bạn xem và sửa đổi thẻ PLC

- Nếu PLC của bạn được cấu hình để lưu nhật ký dữ liệu, bạn có thể dễ dàng tải xuống các tệp nhật ký từ trang Nhật ký dữ liệu và mở chúng trong Excel

Trang 26

- Trang web mặc định là hoàn hảo để khắc phục sự cố và trông tuyệt vời trên máy tính bảng.

Hình 2.4 Hiển thị web trên máy tính bảng

2.1.3 Trang người dùng

- Trước khi bật các trang do Người dùng xác định trong PLC, chúng ta cần tạo tệp

HTML cho trang người dùng của mình Tạo một tệp văn bản có tên là

("index.htm") và lưu nó vào một thư mục trên máy tính của bạn ("C:\UserPages")

Trang 27

- Bây giờ chúng ta có thể kích hoạt các trang người dùng và sử dụng tệp này mà chúng ta đã tạo Để kích hoạt trang người dùng, điều hướng đến cấu hình thiết bị -

> web server -> trang Web do người dùng xác định Đặt Thư mục HTML thành thư mục bạn đã tạo và trang HTML mặc định thành tệp bạn đã tạo Sau đó nhấp vàoGenerate Blocks (Tạo khối) để biên dịch trang người dung

Hình 2.5 Nạp web cho PLC

Trang 28

- Bạn sẽ nhận thấy rằng hàm "Tạo khối" tạo ra hai khối dữ liệu mới trong dự án của bạn và bạn có thể tự hỏi chúng dùng để làm gì.

Hình 2.6 Các hàm”Tạo Khối”

2.1.4 Mảnh

- Đoạn văn là tên được đặt cho từng tệp trong thư mục trang người dùng của bạn Ban đầu, chúng tôi chỉ tạo một tệp ".htm", nhưng giả sử bạn có một số tệp trong thưmục này Nó sẽ trông giống như thế này:

Hình 2.7 Tệp html

- Khi bạn nhấn vào nút “Tạo khối”, trình biên dịch lấy tất cả các tệp này và sao chéptừng byte vào một mảng trong phần tử của khối dữ liệu phân mảnh Fragment DB đầu tiên bắt đầu từ khối DB334 Một mảng được kích thước cho mỗi tệp

Trang 29

Hình 2.9 Các khối chứ tệp

- Dưới đây bạn có thể xem cách mỗi byte từ tệp được đóng gói vào mảng:

Hình 2.8 Các tệpđược đóng gói vào

mảng

- Khi bạn thêm nhiều tệp hơn vào thư mục của mình, bạn có thể vượt quá số byte tối đa có thể chứa trong khối dữ liệu, khiđiều này xảy ra, một khối dữ liệu tuần tự khác được tạo Bạn có thể bao gồm các tệpHTML, JavaScript, Tệp CSS và thậm chí cả tệp hình ảnh Tất cả chúng sẽ được chuyển đổi thành các đoạn khối dữ liệu:

Trang 30

2.1.5 Hàm WWW

- Để các trang người dùng hoạt động, bạn phải gọi Hàm WWW trong dự án của mình Nhớ lại các DBs được tạo bởi hàm "Tạo khối" Chúng ta đã biết rằng DB334 lưu trữ các mảnh vỡ DB333 được sử dụng kết hợp với Hàm WWW để kiểm soát việc truy xuất và phân phối các đoạn:

Hình 2.10 Gọi hàm WWW

- Chèn Hàm WWW vào mã của bạn Biên soạn và tải xuống dự án của bạn:

Hình 2.11 Chèn hàm WWW

Trang 31

Hình 2.13 Vào trang đã liên kết với PLC

- Quá trình chức năng này yêu cầu từ trình duyệt và đồng bộ hóa dữ liệu trong trang người dùng Nó xử lý việc truy xuất đoạn chính xác từ các khối dữ liệu

Fragment như hình dưới đây:

Hình 2.12 Xử lý truy xuất

Nếu bạn duyệt đến địa chỉ IP của PLC, bạn sẽ thấy trang đăng nhập máy chủ Web Chính của Siemens Có một liên kết ở bên trái cho Trang người dùng Tên trong siêu kết nối khớp với tên ứng dụng bạn đã chỉ định trong màn hình cấu hình trang

do người dùng xác định trong Cổng tia:

Trang 32

- Nếu bạn nhấp vào liên kết này, bạn sẽ thấy trang Hello World của mình:

Hình 2.14 Liên kết trang

- Định dạng của URL trang web do người dung xác định như sau Tôi không chắc

“awp” có nghĩa là gì, nhưng nó là một phần bắt buộc của URL:

Hình 2.15 Định dạng URL

Trang 33

Hình 2.17 Watch and force tables

2.1.6 Đọc dữ liệu PLC

- Để đọc dữ liệu PLC, chúng tôi cần sửa đổi tệp của mình để bao gồm một tham

chiếu đặc biệt đến thẻ chúng tôi đang cố gắng đọc Đầu tiên tạo một khối dữ liệu có tên là "webdata" và thêm xác định một biến số nguyên được gọi là "counter" TrongPLC của bạn, thêm một số mã để tăng số lượng này mỗi giây:

Hình 2.16 Sửa tệp và tạo khối dữ liệu

Trang 34

Hình 2.18 Sửa đổi "index.htm"

Trang 35

Hình 2.19 Cập nhật web

- Lưu ý tên thẻ có tiền tố là ": =" và hậu tố là ":" Đây là chìa khóa để tiêm các biến

vào trang người dùng Khi trang được hiển thị, nó sẽ thay thế mã thông báo bằng giá trị thẻ PLC thực tế:

- Tiếp theo, nhấp vào nút "Tạo khối" trong cấu hình Webserver và tải chương trình xuống PLC Khi bạn duyệt đến trang người dùng, bạn sẽ thấy bản Cập Nhật giá trị truy cập khi trang được làm mới Chú ý các trang nhấp nháy khi được làm mới Điều này có thể gây phiền nhiễu nếu bạn đang cố gắng làm cho trang web của bạn trông giống như một HMI truyền thống:

Trang 36

- Dưới đây là một ví dụ về việc làm mới trang này có thể gây phiền nhiễu như thế nào Nếu bạn có một hình ảnh trên trang của bạn, nó sẽ nhấp nháy khi trang được làm mới Trong ví dụ dưới đây, trang được tự động làm mới bằng cách thêm một thẻ meta cụ thể vào tiêu đề HTML:

Trang 37

Hình 2.20 Reset trang web

2.1.7 Đọc dữ liệu bằng Javascript

- Để tránh trang nhấp nháy gây phiền nhiễu, chúng ta cần sử dụng một số

JavaScript để đọc dữ liệu và làm mới màn hình trong nền

- Để chứng minh điều này, bước đầu tiên là di chuyển các thẻ PLC từ trang chính của chúng tôi sang một trang mới Trang mới sẽ không chứa bất kỳ HTML nào, nó

sẽ chỉ là một tệp HTML đơn giản với một tham chiếu thẻ duy nhất Tạo một tệp mới

và đặt tên cho nó giống như "IOCounter.htm" (Tôi đang đặt trước tên bằng "IO" để nhắc nhở bản thân rằng tệp này được sử dụng cho đầu vào và đầu ra dữ liệu) Nội dung của "chỉ mục.htm" ban đầu của bạn nên được sửa đổi như hình dưới đây Lưu

ý rằng chúng tôi đã di chuyển tham chiếu thẻ: ="webdata" Counter: sang một tệp mới có tên là "IOCounter.htm" và thay thế nó bằng nhãn bằng id ="counter" Chúngtôi cũng bao gồm thư viện JavaScript phổ biến JQuery Bạn sẽ cần tải xuống JQuery

và sao chép nó vào thư mục “UserFlies” của bạn

Hình 2.21 Tải JQuery và sao chép vào "UserFiles"

IOCounter.htm

Trang 38

-

Chỉ mục HTM:

- Hàm JavaScript ở trên lấy giá trị thẻ hiện tại bằng cách yêu cầu nội dung của tệp

"IOCounter.htm" và sau đó sử dụng giá trị này để đặt văn bản của Nhãn với id = "truy cập" Mã này chạy tự động

JavaScript

Setinterval

Ngày đăng: 29/08/2021, 20:58

HÌNH ẢNH LIÊN QUAN

Bảng1.1 Các số cổng được gán cho các giao thức ứng dụng chạy trên TLS/SSL - Tài liệu điều khiển động cơ bằng web server S71200
Bảng 1.1 Các số cổng được gán cho các giao thức ứng dụng chạy trên TLS/SSL (Trang 13)
Bảng 1.2 Các thành phần thông tin trạng thái Session SSL - Tài liệu điều khiển động cơ bằng web server S71200
Bảng 1.2 Các thành phần thông tin trạng thái Session SSL (Trang 14)
Chương 2 Cách Nạp Web Sever Cho PLC - Tài liệu điều khiển động cơ bằng web server S71200
h ương 2 Cách Nạp Web Sever Cho PLC (Trang 23)
Hình 2.1 Thiết lập web sever - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.1 Thiết lập web sever (Trang 23)
Hình 2.2 Trình duyệt web của PLC - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.2 Trình duyệt web của PLC (Trang 24)
Hình 2.4 Hiển thị web trên máy tính bảng - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.4 Hiển thị web trên máy tính bảng (Trang 25)
Hình 2.6 Các hàm”Tạo Khối” - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.6 Các hàm”Tạo Khối” (Trang 26)
Hình 2.5 Nạp web cho PLC    - Bạn sẽ nhận  thấy rằng hàm  - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.5 Nạp web cho PLC - Bạn sẽ nhận thấy rằng hàm (Trang 26)
Hình 2.10 Gọi hàm WWW - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.10 Gọi hàm WWW (Trang 28)
Hình 2.11 Chèn hàm WWW     - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.11 Chèn hàm WWW (Trang 28)
Hình 2.12 Xử lý truy xuất - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.12 Xử lý truy xuất (Trang 29)
Hình 2.13 Vào trang đã liên kết với PLC - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.13 Vào trang đã liên kết với PLC (Trang 29)
Hình 2.14 Liên kết trang - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.14 Liên kết trang (Trang 30)
Hình 2.15 Định dạng URL - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.15 Định dạng URL (Trang 30)
Hình 2.18 Sửa đổi "index.htm" - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.18 Sửa đổi "index.htm" (Trang 31)
Hình 2.16 Sửa tệp và tạo khối dữ liệu - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.16 Sửa tệp và tạo khối dữ liệu (Trang 31)
Hình 2.24 Đăng nhập vào PLC - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.24 Đăng nhập vào PLC (Trang 36)
Hình 2.26 Sửa đổi index.htm - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.26 Sửa đổi index.htm (Trang 37)
Hình 2.27 Xử lý bit - Tài liệu điều khiển động cơ bằng web server S71200
Hình 2.27 Xử lý bit (Trang 39)
Hình 3.1 Tính năng nhắc mã Intellisense của Visual Studio Code - Tài liệu điều khiển động cơ bằng web server S71200
Hình 3.1 Tính năng nhắc mã Intellisense của Visual Studio Code (Trang 41)
Hình 3.3 Thanh Search - Tài liệu điều khiển động cơ bằng web server S71200
Hình 3.3 Thanh Search (Trang 42)
Hình 3.4 Thanh GIT - Tài liệu điều khiển động cơ bằng web server S71200
Hình 3.4 Thanh GIT (Trang 42)
Hình 3.5 Chức năng debugger - Tài liệu điều khiển động cơ bằng web server S71200
Hình 3.5 Chức năng debugger (Trang 43)
Hình 3.10 Peek DefinitionHình 3.9 Code Snippet - Tài liệu điều khiển động cơ bằng web server S71200
Hình 3.10 Peek DefinitionHình 3.9 Code Snippet (Trang 47)
3.2.15 Cấu hình task - Tài liệu điều khiển động cơ bằng web server S71200
3.2.15 Cấu hình task (Trang 52)
Hình 4.1 Giao diện web      - Tài liệu điều khiển động cơ bằng web server S71200
Hình 4.1 Giao diện web (Trang 57)
4.2 Lập trình PLC - Tài liệu điều khiển động cơ bằng web server S71200
4.2 Lập trình PLC (Trang 61)
Hình 4.4 Tạo tài khoản quản lý trên trình duyệt - Tài liệu điều khiển động cơ bằng web server S71200
Hình 4.4 Tạo tài khoản quản lý trên trình duyệt (Trang 62)
Hình 4.3 Cài đặt web sever     + Tạo một tài khoản và phần quyền theo yêu cầu. - Tài liệu điều khiển động cơ bằng web server S71200
Hình 4.3 Cài đặt web sever + Tạo một tài khoản và phần quyền theo yêu cầu (Trang 62)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w