1. Trang chủ
  2. » Cao đẳng - Đại học

Báo cáo thực tập nghiên cứu giải pháp truyền tải dữ liệu an toàn trong không gian mạng

32 33 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

Định dạng
Số trang 32
Dung lượng 1,17 MB

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

Nội dung

Cùng với sự bùng nổ về số lượng của các thiết bị máy tính, đặc biệt là thông tin vàtruyền thông đã góp một phần không nhỏ và tạo ra thời đại công nghệ 4.0.. Do đó việc đảm bảo an toàn th

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO THỰC TẬP

NGHIÊN CỨU GIẢI PHÁP TRUYỀN TẢI DỮ LIỆU

AN TOÀN TRONG KHÔNG GIAN MẠNG

TP Hồ Chí Minh, tháng 07 năm 2020

Trang 2

LỜI MỞ ĐẦU

Hiện nay, với sự phát triển vượt trội của công nghệ, công nghệ đã bao phủ mọi mặt củađời sống, trở thành một thành phần thiết yếu và không thể thiếu đối với cuộc sống của conngười Cùng với sự bùng nổ về số lượng của các thiết bị máy tính, đặc biệt là thông tin vàtruyền thông đã góp một phần không nhỏ và tạo ra thời đại công nghệ 4.0 Qua đó đòi hỏi củacon người về công nghệ ngày càng cao và yêu cầu sự sáng tạo, tiện dụng, sự mới lạ và phát triểncái mới luôn được đẩy cao

Đi kèm với sự bùng nổ thông tin thì nhu cầu của việc giao tiếp thông tin giữa con ngườicũng ngày càng nhiều hơn Do đó việc đảm bảo an toàn thông tin trước các mối đe dọa đóng vaitrò ngày càng quan trọng và cấp thiết, đặc biệt là các thông tin mang giá trị và tính riêng tư cao.Trong đó vấn đề bảo mật đường truyền đóng vai trò không thể thiếu trong hiện tại và tương lai.Chính vì tiềm năng của lĩnh vực này em quyết định chọn chủ đề “Nghiên cứu giải pháp truyềntải dữ liệu an toàn trong không gian mạng” để tìm hiểu và phát triển cho đợt thực tập lần này

Sau ba năm học tập trên trường, do mong muốn có thêm kinh nghiệm thực tế, cũng nhưmuốn được tham gia làm các ứng dụng trong một môi trường chuyên nghiệp, nên em đã quyếtđịnh chọn tham gia thực tập trong một công ty làm về phần mềm để học hỏi và khai phá tri thức

và các kĩ năng cần thiết để trở thành một nhà phát triển phần mềm chuyên nghiệp Vì vậy, emquyết định chọn Công ty TNHH Hành Tinh - một môi trường lý tưởng, hiện đại, chuyên nghiệp

- là nơi sẽ giúp em thực hiện được dự định này

Trang 3

LỜI CẢM ƠN

Đầu tiên, em xin gửi lời cảm ơn sâu sắc đến Trường Đại học Công nghệ Thông tin, Đạihọc Quốc gia TP Hồ Chí Minh đã tạo điều kiện cho em cơ hội tiếp cận, học hỏi và có nhữngkiến thức nền tảng về bộ môn này

Em cũng xin cảm ơn Công ty TNHH Hành Tinh đã cho em cơ hội được thực tập, trảinghiệm thực tế, thông qua đó em có thể gặt hái được những kinh nghiệm, bài học quý giá vàtrau dồi thêm những kỹ năng và hành trang cần thiết cho công việc sau này

Đặc biệt cảm ơn anh Lê Duy, đã hướng dẫn, giúp đỡ cho em tận tình cả những khó khăntrong công việc, đến những khó khăn việc làm quen với môi trường mới; để có thể làm ra mộtsản phẩm trong thời gian qua

Cũng xin cảm ơn thầy cô trong khoa Công nghệ phần mềm đã nhiệt tình hỗ trợ, tạo điềukiện em làm bài báo cáo này

Vì kiến thức bản thân còn hạn chế cũng như là lần đầu tiên được va chạm và tiếp xúc vớiviệc áp dụng lý thuyết vào công việc thực tiễn nên bản thân còn bỡ ngỡ, lúng túng và khôngtránh khỏi những thiếu sót, mong quý thầy (cô) có thể đóng góp ý kiến để em có thể hoàn thiệnhơn

TP Hồ Chí Minh, ngày 28 tháng 07 năm 2020

Nguyễn Dương Hoàng Duy

Trang 4

NHẬN XÉT CỦA KHOA

Trang 5

MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP 7

1.1 Giới thiệu công ty TNHH Hành Tinh 7

1.2 Sản phẩm của công ty 7

CHƯƠNG 2: NỘI DUNG THỰC TẬP 8

2.1 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty 8

2.2 Nghiên cứu kỹ thuật 8

2.2.1 Các công cụ làm việc 8

2.2.2 Tìm hiểu kiến thức cơ bản của mạng máy tính 8

a TCP 9

b UDP 10

c ICMP 10

2.2.3 Tìm hiểu cơ chế phân giải tên miền của DNS 11

a Cấu trúc tên miền 11

b DNS 12

c Cơ chế phân giải tên miền của DNS 13

2.2.4 Nghiên cứu giải pháp bảo mật đường truyền dữ liệu trên internet 15

a Mã hóa khóa đối xứng 15

i Mã hóa khối - Mã hóa AES 15

ii Mã hóa dòng - Mã hóa RC4 15

b Mã hóa khóa bất đối xứng – Mã hóa RSA 16

c Hàm băm 17

i MD5 17

ii SHA 17

d TLS 18

2.2.5 Tìm hiểu giao thức HTTP/HTTPS 22

a HTTP 22

Trang 6

b HTTPS 23

2.2.6 Tìm hiểu Web service và các phương thức serialization 25

a Web service 25

b Serialization 26

i SOAP 26

ii RESTful 27

2.3 Thực hiện project 28

2.4 Lịch làm việc 28

CHƯƠNG 3: CHI TIẾT VỀ PROJECT 30

3.1 Giới thiệu ứng dụng 30

3.2 Kết quả 30

Trang 7

CHƯƠNG 1: GIỚI THIỆU CÔNG TY THỰC TẬP

1 Giới thiệu công ty TNHH Hành Tinh

Công ty TNHH Hành Tinh được thành lập từ năm 2008, hiện nay đã có hơn 200 nhân viên, hoạt động chủ yếu trong lĩnh vực công nghệ thông tin

Thông tin công ty:

- Tên công ty: Công ty TNHH Hành Tinh

- Số nhân viên: 200+ người

- Văn phòng: Centre Point Tower Building, Số 106 Nguyễn Văn Trỗi, Phường 8, Q.Phú Nhuận, TP Hồ Chí Minh

- Trụ sở làm việc: Nguyễn Văn Trỗi, Q Phú Nhuận, TP Hồ Chí Minh

- Điện thoại: (028) 38 475 576

2 Sản phẩm của công ty

Công ty TNHH Hành Tinh chủ yếu phát triển các giải pháp, sản phẩm trong lĩnh vực công nghệ thông tin và phục vụ cho mục tiêu lâu dài của công ty

Trang 8

CHƯƠNG 2: NỘI DUNG THỰC TẬP

Đợt thực tập với chủ đề “NGHIÊN CỨU GIẢI PHÁP TRUYỀN TẢI DỮ LIỆU AN TOÀN TRONG KHÔNG GIAN MẠNG” nhằm mục đích giúp sinh viên thực tập được đào tạo toàn diện về kiến thức mạng máy tính và các giải pháp bảo mật, đồng thời rèn luyện những kỹ năng mềm như làm việc nhóm, thuyết trình, giao tiếp Tại công ty, sinh viên có cơ hội được họctập, khám phá và làm việc trong một môi trường phát triển phần mềm chuyên nghiệp

3 Tìm hiểu công ty và các kỹ năng cơ bản trong công ty

Thời gian: 1 ngày

Nội dung: Giới thiệu về công ty, cách tổ chức của công ty

Được nghe người phụ trách giới thiệu về công ty, quá trình thành lập và phát triển (như

đã nhắc đến ở trên), quy trình làm việc từ cao xuống thấp, cách thức tổ chức của công ty

Nhận trang thiết bị phục vụ công việc, bao gồm: máy tính để bàn, máy ảo để chạy thử.Ngoài ra, thực tập sinh còn được giới thiệu về cách thức làm việc trong công ty như thời gian đi làm, các quy định cần phải tuân thủ, cách sử dụng các tài khoản trong công việc

Kết quả: Hiểu thêm về công ty Hành Tinh, quá trình thành lập và phát triển của công ty

Có thêm các kỹ năng về việc sử dụng các tài khoản trong công việc, làm việc có kế hoạch, có kỷluật, có trách nhiệm hơn

4 Nghiên cứu kỹ thuật

4.1 Các công cụ làm việc

Thời gian: 1 ngày

Nội dung: Tìm hiểu về các công cụ sẽ được sử dụng trong quá trình làm việc (bao gồm:

Visual Studio, Gitlab, Tortoise git, Jira, Total Commander )

Trong thời gian này, các anh đã hướng dẫn thực tập sinh tìm hiểu về các công cụ sẽ giúpích cho trong công việc sau này Một số phần mềm trong số đó như Visual Studio - IDE để pháttriển các phần mềm máy tính, Gitlab - hệ thống quản lý mã nguồn phía server, Tortoise git - sửdụng quản lý mã nguồn với giao diện desktop, Jira – hệ thống hỗ trợ quản lý dự án, TotalCommander - trình duyệt file trực quan với nhiều tiện ích

Thực hiện: Thực hành sử dụng các phần mềm đã nêu trên.

Kết quả: Lập trình sử dụng các công cụ miễn phí, giúp dễ dàng kết hợp các công cụ với

nhau

4.2 Tìm hiểu kiến thức cơ bản của mạng máy tính

Thời gian: 3 ngày

Trang 9

Nội dung: Tìm hiểu các kiến thức cơ bản của mạng máy tính.

a TCP

TCP (Transmission Control Protocol) là một trong các giao thức cốt lõi của bộ giao thức TCP/IP Sử dụng TCP, các ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự TCP còn phân biệt giữa

dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ Web và dịch vụ thư điện tử) đồng thời chạy trêncùng một máy chủ

Sơ đồ trạng thái của TCP - phiên bản đơn giản hóa

Trang 10

UDP (User Datagram Protocol) là một trong những giao thức cốt lõi của giao thức

TCP/IP Dùng UDP, chương trình trên mạng máy tính có thể gửi những dữ liệu ngắn được gọi

là datagram tới máy khác UDP không cung cấp sự tin cậy và thứ tự truyền nhận mà TCP làm; các gói dữ liệu có thể đến không đúng thứ tự hoặc bị mất mà không có thông báo Tuy nhiên UDP nhanh và hiệu quả hơn đối với các mục tiêu như kích thước nhỏ và yêu cầu khắt khe về thời gian Do bản chất không trạng thái của nó nên nó hữu dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu

và traceroute)

Trang 11

- Tham gia đầy đủ các buổi training của công ty.

- Làm các bài thực hành, kiểm tra về kiến thức đã học

Kết quả:

- Hiểu được cơ bản cách thức hoạt động của mạng máy tính

- Phân biệt được 3 giao thức TCP, UDP và ICMP

4.3 Tìm hiểu cơ chế phân giải tên miền của DNS

Thời gian: 3 ngày

Nội dung: Tìm hiểu cơ chế phân giải tên miền của DNS

a Cấu trúc tên miền

Mục đích chính của tên miền là để cung cấp một hình thức đại diện, hay nói cách khác, dùng những tên dễ nhận biết, thay cho những tài nguyên Internet mà đa số được đánh địa chỉ bằng số Cách nhìn trừu tượng này cho phép bất kỳ tài nguyên nào (ở đây là website) đều có thểđược di chuyển đến một địa chỉ vật lý khác trong cấu trúc liên kết địa chỉ mạng, có thể là toàn cầu hoặc chỉ cục bộ trong một mạng internet, mà trên thực tế là đang làm thay đổi địa chỉ IP Việc dịch từ tên miền sang địa chỉ IP (và ngược lại) do hệ thống DNS trên toàn cầu thực hiện

Mọi tên miền đều kết thúc bằng một tên miền cấp cao nhất (TLD), luôn là một trong tên

có trong danh sách ngắn gồm các tên chung (từ ba ký tự trở lên), hoặc một mã lãnh thổ hai ký tự

Trang 12

dựa trên ISO-3166 (có một số ngoại lệ và các mã mới sẽ được dần dần thêm vào) Tên miền cấpcao nhất đôi khi còn được gọi là tên miền cấp 1.

Trong phân cấp tên miền, phía dưới tên miền cấp cao nhất là tên miền cấp hai (SLD) Đây là những tên đứng ngay bên trái.com,.net, và những tên miền cấp cao nhất khác Ví dụ, trong tên miền vi.wikipedia.org, wikipedia là tên miền cấp hai

Tiếp đến là tên miền cấp ba, được viết ngay bên trái tên miền cấp hai Có thể có tên miềncấp bốn, cấp năm, v.v., không có giới hạn Ví dụ về một tên miền hiện đang tồn tại với bốn cấp tên miền là www.sos.state.oh.us Cụm chữ www đừng đầu tên miền là một host name của máy chủ World-Wide Web Mỗi cấp được phân cách nhau bằng dấu chấm 'sos' được cho là một tên miền con của 'state.oh.us', và 'state' và tên miền con của 'oh.us', v.v Nói chung, tên miền con là những tên miền thấp hơn tên miền cha của nó Một ví dụ về các cấp rất sâu của thứ tự tên miền con là vùng DNS phân giải ngược IPv6, như,

1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa, là tên miền phân giải DNSđảo của địa chỉ IP của một giao diện loopback, hoặc tên localhost

Hệ thống phân cấp của các nhãn trong một tên miền đầy đủ

Tên miền được tạo thành từ các nhãn và phân cách nhau bằng dấu chấm (.), ví dụ

example.com Tên miền còn được chia theo cấp độ như tên miền top level, tên miền cấp 1, cấp 2

Trang 13

Tên miền được định nghĩa trong các RFC 1035, RFC 1123, và RFC 2181 Một tên miền bao gồm một hoặc nhiều phần, gọi là các nhãn (label), chúng cách nhau bởi dấu chấm (.), ví dụ example.com.

Hệ thống phân giải tên miền tính theo hướng từ phải sang trái Ví dụ www.example.com thì nhãn example là một tên miền con của tên miền com, và www là tên miền con của tên miền example.com Cây cấu trúc này có thể có tới 127 cấp

Máy chủ tên miền chứa thông tin lưu trữ của Không gian tên miền Hệ thống phân giải tên miền được vận hành bởi hệ thống dữ liệu phân tán, dạng client-server Các nốt của hệ dữ liệu này là các máy chủ tên miền Mỗi một tên miền sẽ có ít nhất một máy chủ DNS chứa thông tin của tên miền đó Các thông tin của Máy chủ tên miền sẽ được lưu trữ trong các zone Có hai dạng NS là là primary và secondary

Hệ thống phân tầng Không gian tên miền trên lớp Internet, tổ chức theo zone, phục vụ

bởi một name server

c Cơ chế phân giải tên miền của DNS

Các máy chủ phân giải tên miền theo cơ chế từ cao xuống thấp

Theo lý thuyết, các máy chủ tên miền có thẩm quyền đã đủ dùng để vận hành hệ thống Internet Tuy nhiên, nếu chỉ có máy chủ tên miền thẩm quyền, mỗi truy vấn DNS phải bắt đầu

Trang 14

đi từ root zone, và mỗi hệ thống người dùng phải vận hành một phần mềm để làm nhiệm vụ phân giải Để giảm lượng băng thông trên Internet, DNS cho phép các máy chủ DNS lưu Cache các kết quả mà nó đã từng truy vấn.

Phần client của DNS gọi là DNS resolver

- Truy vấn non-recursive: DNS resolver client truy vấn DNS server để tìm record của tên miền chưa trên server đó

- Tham gia đầy đủ các buổi training của công ty

- Làm các bài thực hành, kiểm tra về kiến thức đã học

Trang 15

Kết quả:

- Hiểu được các khải niệm tên miền và DNS

- Hiểu được cơ chế phân giải tên miền

4.4 Nghiên cứu giải pháp bảo mật đường truyền dữ liệu trên internet

Thời gian: 2 tuần.

Nội dung: Các kiến thức về một số thuật toán mã hóa, băm và các phương pháp truyền

tải dữ liệu an toàn

a Mã hóa khóa đối xứng

i Mã hóa khối - Mã hóa AES

Vào những năm 1990, nhận thấy nguy cơ của mã hóa DES là kích thước khóa ngắn, cóthể bị phá mã trong tương lai gần, Cục tiêu chuẩn quốc gia Hoa Kỳ đã kêu gọi xây dựng mộtphương pháp mã hóa mới Cuối cùng một thuật toán có tên là Rijndael được chọn và đổi tênthành Andvanced Encryption Standard hay AES Có thể nói rằng mã hóa AES với khóa có kíchthước 256 bit là “an toàn mãi mãi” bất kể những tiến bộ trong ngành kỹ thuật máy tính

Giống như DES, mã hóa AES là một mã khối gồm nhiều vòng Khác với DES, mã hóaAES không phải là một mã hóa Feistel Thuật toán AES khá phức tạp, ở đây chúng ta chỉ nêu ramột số đặc điểm chính của AES:

- Cho phép lựa chọn kích thước khối mã hóa là 128, 192 hay 256 bit

- Cho phép lựa chọn kích thước của khóa một cách độc lập với kích thước khối: là

128, 192 hay 256 bit

- Số lượng vòng có thể thay đổi từ 10 đến 14 vòng tùy thuộc vào kích thước khóa

Độ an toàn của AES làm cho AES được sử dụng ngày càng nhiều và trong tương lai sẽchiếm vai trò của DES và Triple DES

ii Mã hóa dòng - Mã hóa RC4

RC4 được dùng trong giao thức SSL để bảo mật dữ liệu trong quá trình truyền dữ liệugiữa Web Server và trình duyệt Web Ngoài ra RC4 còn được sử dụng trong mã hóa WEP củamạng Wireless LAN

RC4 có các đặc tính sau:

- Đơn vị mã hóa của RC4 là một byte 8 bit

- Mảng S và T gồm 256 số nguyên 8 bit

- Khóa K là một dãy gồm N số nguyên 8 bit với N có thể lấy giá trị từ 1 đến 256

- Bộ sinh số mỗi lần sinh ra một byte để sử dụng trong phép XOR

Hai giai đoạn của RC4 là:

Trang 16

- Giai đoạn khởi tạo:

- Giai đoạn sinh số:

Quá trình sinh số của RC4 cũng sinh ra dãy số ngẫu nhiên, khó đoán trước, vì vậy RC4đạt được mức độ an toàn cao theo tinh thần của mã hóa One-Time Pad Mã hóa RC4 hoàn toànđược thực hiện trên các số nguyên một byte do đó tối ưu cho việc thiết lập bằng phần mềm vàtốc độ thực hiện nhanh hơn so với mã khối

b Mã hóa khóa bất đối xứng – Mã hóa RSA

Phương pháp RSA là một phương pháp mã hóa khóa công khai RSA được xây dựng bởicác tác giả Ron Rivest, Adi Shamir và Len Adleman tại học viện MIT vào năm 1977, và ngàynay đang được sử dụng rộng rãi Về mặt tổng quát RSA là một phương pháp mã hóa theo khối.Trong đó bản rõ M và bản mã C là các số nguyên từ 0 đến 2i với i số bit của khối Kích thướcthường dùng của i là 1024 bit RSA sử dụng hàm một chiều là vấn đề phân tích một số thànhthừa số nguyên tố

Để thực hiện mã hóa và giải mã, RSA dùng phép lũy thừa modulo của lý thuyết số Cácbước thực hiện như sau:

- Chọn hai số nguyên tố lớn p và q và tính N = pq Cần chọn p và q sao cho

M < 2i-1 < N < 2i Với i = 1024 thì N là một số nguyên dài khoảng 309 chữ số

- Tính n = (p - 1)(q - 1)

- Tìm một số e sao cho e nguyên tố cùng nhau với n

- Tìm một số d sao cho e.d ≡ 1 mod n (d là nghịch đảo của e trong phép modulo n)

Ngày đăng: 05/09/2021, 21:06

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