Lặp lại quá trình này bất cứ khi nào một trong những kết nối với mộtmạng mới, hoặc thiết lập các bộ định thời trong quá trình lặp đi lặp lại trước hếthạn.Ví dụ bảo mật riêng cho IPV6 Như
Trang 1NGHIÊN CỨU CÁC VẤN ĐỀ BẢO MẬT NÂNG CAO
VỚI Ipv6
4 Nghiên cứu các vấn dề bảo mật nâng cao với IPv6
4.1 Nghiên cứu các tùy chọn bảo mật riêng cho IPV6 (Privacy Addresses)
Ipv6 cung cấp một số lựa chọn địa chỉ khác nhau để hỗ trợ bảo mật Bảomật địa chỉ có thể được thực hiện bằng cách theo dõi các ứng dụng của ngườidùng, hoặc từ các thông tin từ bên ngoài Phần này sẽ nói rõ hơn về privacyaddressing trong IPv6, sự khác biệt giữa IPv6 và IPv4
Theo RFC 4291, các thiết bị tự động cấu hình địa chỉ định danh duy nhấttoàn cầu theo cách thức định danh IEEE EUI-64 Điều này cung cấp cho chocard mạng một địa chỉ duy nhất gọi là địa chỉ MAC, nó không bị thay đổi ngay
cả khi được chuyển sang mạng khác
Một giao diện chấp nhận các kết nối gửi đến một DNS không thể có mộtđịa chỉ tin tưởng, nhưng nó vẫn còn có thể sử dụng các địa chỉ khác nhau chocác kết nối gửi đi Trong RFC 4941, phần mở rộng bảo mật cho StatelessAddress Autoconfiguration trong IPv6 được định nghĩa để tạo ra và thay đổi địachỉ tạm thời như vậy Các yêu cầu quan trọng là trình tự các địa chỉ tạm thời mộtgiao diện lựa chọn phải được hoàn toàn không thể đoán trước và có xác suấtthấp ít trùng với sự lựa chọn được thực hiện bởi các giao diện khác
Các phương pháp được đề xuất trong RFC 4941 hoạt động như sau:
Lấy thông tin về định danh giao diện mà có thể được sử dụng mà không
Chạy lệnh Duplicate Address Detection (DAD)
Thiết lập thời gian sống thích hợp và tham gia nhóm multicast của núttương ứng với định danh giao diện
Tiếp tục sử dụng định danh giao diện trước cho các kết nối liên tục, nhưngkhông phải cho những cái mới
Trang 2Lặp lại quá trình này bất cứ khi nào một trong những kết nối với mộtmạng mới, hoặc thiết lập các bộ định thời trong quá trình lặp đi lặp lại trước hếthạn.
Ví dụ bảo mật riêng cho IPV6
Như một ví dụ về bảo mật sự riêng tư giải quyết hình trên cho thấy mộtgiao diện Ethernet / 24 với một địa chỉ IPv4 không thể định tuyến chung, / 64trên toàn cầu có khả năng định tuyến địa chỉ IPv6 được tạo ra với sự riêng tưgiải quyết, trên toàn cầu có khả năng định tuyến thứ hai / 64 địa chỉ IPv6 dựatrên địa chỉ IEEE, và liên kết địa chỉ IPv6 địa phương dựa trên địa chỉ IEEE củanó
Đối với một số lý do, cơ chế bảo mật mở rộng nên được sử dụng với việcchăm sóc, nếu nó được sử dụng ở tất cả:
- Bảo mật được thực sự cung cấp bao nhiêu là vấn đề Đặc biệt là trên các mạng nhỏ không thay đổi nhiều, bất cứ ai có thể quan sát lưu lượng truy cập mạng cũng có thể tương quan hoạt động tương đối chính xác bất kể
có hoặc không có địa chỉ thay đổi định kỳ Một người quan sát thậm chí
có thể có thể xác định mức độ thường xuyên mỗi giao diện là tạo ra địa chỉ mới
- Trên một số mạng, các quản trị viên có thể muốn có kiểm soát tốt hơn những gì được kết nối và tương ứng với địa chỉ được sử dụng Chính sách
an ninh địa phương có thể ra lệnh cho mục đích kiểm toán, pháp y, tất cả
Trang 3các địa chỉ phải được Trung ương giao và đăng nhập.Trong những trường hợp như vậy, tốt hơn là không để cho phép các địa chỉ riêng tư hoặc tự động cấu hình địa chỉ không quốc tịch, nhưng yêu cầu sử dụng DHCPv6 cho các bài tập địa chỉ.
- Nhìn chung, chính sách an ninh doanh nghiệp không mở rộng quyền của truyền thông tư nhân để một người dùng trên một máy tính doanh nghiệp hoặc truy cập vào mạng doanh nghiệp.Trong những trường hợp này, các mục tiêu của pháp y và an ninh có thể được xem như là quan trọng hơn sovới mục tiêu bảo vệ sự riêng tư của người dùng trong khi sử dụng
Internet Đây là một quyết định chính sách cần được trái lên đến các bộ phận cá nhân hoặc cơ quan
- Thực hành tốt mạng là để áp dụng lọc xâm nhập, đó là, không cho phép các gói tin mà không có địa chỉ nguồn hợp lệ vào cốt lõi của mạng.Một sốphân phối các cuộc tấn công tấn công từ chối dịch vụ (DDOS) đã sử dụng địa chỉ nguồn giả mạo với các tiền tố hợp lệ Địa chỉ riêng tư có thể được khó khăn để phân biệt từ các địa chỉ được sử dụng trong các cuộc tấn công mà không có các biện pháp bổ sung như giới hạn tốc độ hoặc hoàn tất con đường ngược lại kiểm tra
Đối với những lý do này, các địa chỉ riêng tư không nên được bật theomặc định, và cần được xem xét cẩn thận từng trường hợp cụ thể để cho dù đó làgiá trị sử dụng.Trong nhiều trường hợp nơi doanh nghiệp đang hoạt động mạngriêng của mình, DHCPv6 địa chỉ có thể được ưa thích hơn
4.2 Tạo khóa xác thực trong IPV6 (Cryptographically generated Address)
Trong IPv6, có thể tạo một khóa dùng làm chữ ký điện tử (public
signature key) cho mỗi một địa chỉ IP Địa chỉ này được gọi là địa chỉ được tạo
mã hóa CGA (Cryptographically Generated Address) [7] Tính năng này gia tăng mức độ bảo vệ được dùng trong cơ chế phát hiện bộ định tuyến lân cận (neighbourhood router discovery mechanism) cho pháp người dùng cuối cung cấp bằng chứng sở hữu (proof of ownership) địa chỉ IP của mình Tính năng nàyhoản toàn mới ở phiên bản IPv6 và nó đem lại các lợi điểm sau:
- CGA khiến cho việc giả mạo (spoof) và đánh cắp địa chỉ trong IPv6 khó khăn hơn
- Cho phép các thông điệp được đảm bảo tính nguyên vẹn bằng chữ ký điện tử
- Không yêu cầu phải nâng cấp hay thay đổi hệ thống mạng
Trang 4Tạo khóa xác thực từ cặp khóa Public-Private
Quá trình gồm 4 bước như sau:
Phía người gửi:
- Tạo ra một cặp khóa và địa chỉ tương ứng
- Chèn khóa công khai trong một gói tin và ký tên với khóa riêng
Phía người nhận:
- Kiểm tra địa chỉ nguồn tương ứng với khóa công khai
- Xác minh chữ ký với khóa công khai
4.3 Nghiên cứu Bảo mật IPSec cho địa chỉ IPv6
4.3.1 Tổng quan về giao thức bảo mật IPSec
IPSec thực hiện mã hóa và xác thực ở lớp mạng Nó cung cấp một giảipháp an toàn dữ liệu từ đầu cuối-đến-đầu cuối trong bản thân cấu trúc mạng(ví
dụ khi thực hiện mạng riêng ảo VPN) Vì vậy vấn đề an toàn được thực hiện màkhông cần thay đổi các ứng dụng cũng như các hệ thống cuối Các gói mã hóa
có khuôn dạng giống như gói tin IP thông thường, nên chúng dễ dàng được địnhtuyến qua mạng Internet mà không phải thay đổi các thiết bị mạng trung gian,qua đó cho phép giảm đáng kể các chi phí cho việc triển khai và quản trị IPSeccung cấp bốn chức năng quan trọng sau:
Bảo mật(mã hóa)- Confidentiality: Người gửi có thể mã hóa dữ liệu trướckhi truyền chúng qua mạng Bằng cách đó, không ai có thể nghe trộm trênđường truyền Nếu giao tiếp bị ngăn chặn, dữ liệu không thể đọc được
Trang 5 Toàn vẹn dữ liệu- Data integrity: Người nhận có thể xác minh các dữ liệuđược truyền qua mạng Internet mà không bị thay đổi IPSec đảm bảo toànvẹn dữ liệu bằng cách sử dụng checksums (cũng được biết đến như là mộtgiá trị băm).
Xác thực- Authentication: Xác thực đảm bảo kết nối được thực hiện vàcác đúng đối tượng Người nhận có thể xác thực nguồn gốc của gói tin,bảo đảm, xác thực nguồn gốc của thông tin
Antireplay protection: xác nhận mỗi gói tin là duy nhất và không trùnglặp
IPSec là một nền(Frame work) kết hợp giao thức bảo mật và cung cấpmạng riêng ảo với các dữ liệu bảo mật, toàn vẹn và xác thực Làm việc với sựtập hợp của các chuẩn mở được thiết lập để đảm bảo sự bảo mật dữ liệu, đảmbảo tính toàn vẹn dữ liệu, và chứng thực dữ liệu giữa các thiết bị tham gia vàomạng VPN Các thiết bị này có thể là các host hoặc là các security gateway(routers, firewalls, VPN concentrator, ) hoặc là giữa 1 host và gateway nhưtrong trường hợp remote access VPNs
Các giao thức chính sử dụng trong IPSec:
IP Security Protocol (IPSec)
o Authentication Header (AH): cung cấp tính toàn vẹn phi kết nối vàchứng thực nguồn gốc dữ liệu cho các gói dữ liệu IP và bảo vệchống lại các cuộc tấn công replay
o Encapsulation Security Protocol (ESP): cung cấp tính năng bảomật, chứng thực nguồn gốc dữ liệu, tính toàn vẹn phi kết nối vàdịch vụ chống replay
Message Encryption
o Data Encryption Standard (DES): Được phát triển bởi IBM DES
sử dụng 1 khóa 56-bít, đảm bảo hiệu năng mã hóa cao DES là một
hệ thống mã hóa khóa đối xứng
o Triple DES (3DES): là một biến thể của DES 56-bít Hoạt độngtương tự như DES, trong đó dữ liệu được chia thành các khối 64bít 3DES thực thi mỗi khối ba lần, mỗi lần với một khóa 56 bít độclập 3DES cung cấp sức mạnh khóa đáng kể so với DES
Message Integrity (Hash) Functions
Trang 6o Hash-based Message Authentication Code (HMAC) : là một thuậttoán toàn vẹn dữ liệu đảm bảo tính toàn vẹn của bản tin Tại đầucuối, bản tin và một khóa chia sẻ bí mật được gửi thông qua mộtthuật toán băm, trong đó tạo ra một giá trị băm Bản tin và giátrị băm được gửi qua mạng Hai dạng phổ biến của thuật toánHMAC như sau:
Message Digest 5 (MD5): là một hàm băm để mã hóa với giátrị băm là 128 bít MD5 biến đổi một thông điệp có chiều dàibất kỳ thành một khối có kích thước cố định 128 bít Thôngđiệp đưa vào sẽ được cắt thành các khối 512 bít, thông điệpsau đó được độn sao cho chiều dài của nó chia chẵn cho 512
Secure Hash Algorithm-1,2 (SHA-1,2): Sử dụng một khóa
160 bít, 224 bít…
Peer Authentication
o Rivest, Shamir, and Adelman (RSA) Digital Signutures: là một hệthống mật mã khóa bất đối xứng Nó sử dụng một chiều dài khóa là
512 bít, 768 bít, 1024 bít hoặc lớn hơn IPsec không sử dụng RSA
để mã hóa dữ liệu Chỉ sử dụng RSA để mã hóa trong giai đoạn xácthực ngang hàng
o RSA Encrypted Nonces
và các thuật toán mã hóa trước và trong suốt phiên giao dịch
o Internet Security Association and Key Management Protocol(ISAKMP)
Chế độ vận hành
IPsec có thể được hoạt động theo chế độ chuyển giao(transport mode) từmáy chủ này đến máy chủ khác cũng như chế độ đường hầm (tunnelmode) trong mạng
Trang 7o Chế độ chuyển giao: chỉ có trọng tải (dữ liệu được truyền) của góitin IP mới được mã hóa và/hoặc chứng thực Trong quá trìnhRouting cả IP header đều không bị chỉnh sửa hay mã hóa Transportmode sử dụng trong tình huống giao tiếp host to host.
o Chế độ Tunnel: Trong chế độ tunnel, toàn bộ gói tin IP sẽ được mãhóa và/hoặc chứng thực Sau đó nó được đóng gói vào một gói tin
IP mới với tiêu đề IP mới Chế độ tunnel được sử dụng để tạoVirtual Private Network (mạng riêng ảo) phục vụ cho việc liên lạcgiữa các mạng, liên lạc giữa máy chủ và mạng (ví dụ như truy cậpngười sử dụng từ xa), và giữa các máy chủ
IPSec chế độ Tunnel mode
4.3.2 Giao thức bảo mật IPSec trong mạng IPv6
IP Security (IPSec) là tiêu chuẩn của IETF (Internet Engineering TaskForce) nhằm cung cấp bảo mật cho mạng Internet IPSec đảm bảo tính toàn vẹn,xác thực và bảo mật IPSec được tích hợp sẵn trong IPv4 và IPv6 và được địnhnghĩa trong cùng các RFC Chức năng này chủ yếu có cả trong môi trường IPv4
và IPv6 nhưng tính năng IPSec là bắt buộc trong IPv6 Điều này có nghĩa mọiđiểm kết nối IPv6 đều phải kích hoạt IPsec và phải luôn sử dụng tính năng này,
do đó mạng Internet IPv6 được bảo mật tốt hơn mạng Internet IPv4 cũ
Mào đầu gói tin IPv6: Header của IPv6 đơn giản và hợp lý hơn IPv4.
IPv6 chỉ có 6 trường và 2 địa chỉ, trong khi IPv4 chứa 10 trường và 2 địa chỉ,IPv6 header có kích thước cố định Trong khi IPv4 header có kích thước thayđổi Với kích thước cố định thì một router có thể xử lý gói tin một cách hiệu
Trang 8Chiều dài phần mào đầu: Mào đầu IPv4 có một trường chiều dài không
cố định đó là Tùy chọn(Option) Trường này được sử dụng để thêm các thôngtin về các dịch vụ tùy chọn khác nhau trong IPv4(Ví dụ như thông tin liên quanđến mã hóa) Do đó, chiều dài của mào đầu IPv4 thay đổi tùy theo tình trạng Vì
sự thay đổi đó, các bộ định tuyến điều khiển giao tiếp dựa trên những thông tintrong phần mào đầu không thể biết trước chiều dài của mào đầu Điều này cảntrở việc tăng tốc xử lý gói tin Gói tin IPv6 có hai dạng mào đầu: mào đầu cơbản và mào đầu mở rộng Phần mào đầu cơ bản có chiều dài cố định 40 byte,chứa những thông tin cơ bản trong xử lý gói tin IPv6 Những thông tin liên quanđến dịch vụ mở rộng kèm theo được chuyển hẳn tới một phân đoạn khác gọi làmào đầu mở rộng Cấu trúc gói tin IPv6:
Cấu trúc gói tin IPv6
Định dạng các trường mào đầu: Cấu trúc mào đầu của IPv6 header gồm
giao thức IP đang được sử dụng và nó có giá trị là 6 với IPv6
tương tự trường Dạng dịch vụ (Type of Service) của IPv4 Trường này được sử dụng để biểu diễn mức độ ưu tiên của gói tin, mỗi điểm kết nối IPv6 có thể đánh dấu gói tin với từng loại dữ liệu, ví dụ gói tin nên được truyền với tốc độ nhanh hay thông thường
lập trong IPv6 Trường này được sử dụng để chỉ định gói tin thuộc một dòng(Flow) nhất định giữa nguồn và đích, yêu cầu bộ định tuyến IPv6 phải có cách xử lý đặc biệt Bằng cách sử dụng trường này, nơi gửi gói tin
có thể xác định một chuỗi các gói tin, ví dụ gói tin của dịch vụ thoại VoIPthành một dòng và yêu cầu chất lượng cụ thể cho dòng đó Khi một routerxác định dòng lưu lượng lần đầu, nó sẽ nhớ dòng lưu lượng đó, cũng như
Trang 9các xử lý đặc biệt ứng với lưu lượng này, và khi các lưu lượng khác thuộcdòng này đến, nó sẽ xử lý nhanh hơn là xử lý từng packet.
trường total length của IPv4, xác định tổng kích thước của gói tin IPv6 bao gồm cả phần mào đầu mở rộng (không chứa header)
chỉ định đến mào đầu mở rộng đầu tiên của gói tin IPv6, đặt sau mào đầu
cơ bản hoặc chỉ định tới thủ tục lớp trên như TCP, UDP, ICMPv6 khi trong gói tin IPv6 không có mào đầu mở rộng
được sử dụng để tránh cho packet được định tuyến vòng vòng trong
mạng Trường này giống như trường TTL (Time-To-Live) của IPv4
Định dạng gói tin IPv6
Các trường mào đầu mở rộng:
Mào đầu mở rộng (extension header) là đặc tính mới của thế hệ địa chỉIPv6
Những thông tin liên quan đến dịch vụ kèm theo được chuyển hẳn tới mộtphân đoạn khác gọi là header mở rộng, mỗi header mở rộng được nhận dạng bởitrường Next Header Các header mở rộng được đặt giữa IPv6 header và headercủa các giao thức lớp trên, được sử dụng để mang các thông tin tuỳ chọn ở lớpmạng (Network layer) trong gói tin Một gói tin IPv6 có thể chứa một hay nhiềuheader mở rộng , được đặt sau mào đầu cơ bản Các mào đầu mở rộng được đặtnối tiếp nhau theo thứ tự quy định, mỗi dạng có cấu trúc trường riêng Thông
Trang 10thường, các mào đầu mở rộng được xử lý tại đích Tuy nhiên cũng có dạng màođầu mở rộng được xử lý tại mọi bộ định tuyến mà gói tin đó đi qua, đó là dạngmào đầu mở rộng Từng bước (Hop by Hop) Mỗi header mở rộng sẽ có giá trịđại diện cho nó Ví dụ: TCP (6); UDP (7); Routing header (43); Fragmentheader (44); ESP (50); AH (51); ICMP (58) [1].
Các giá trị của trường Next Header
Mào đầu cơ bản và mọi mào đầu mở rộng IPv6 đều có trường mào đầutiếp theo (Next Header) chiều dài 8 bít Trong mào đầu cơ bản, trường NextHeader sẽ xác định gói tin có tồn tại mào đầu mở rộng hay không Nếu không cómào đầu mở rộng giá trị của trường sẽ xác định phần mào đầu của tầng cao hơn(TCP hay UDP…) phía trên của tầng IP Nếu có, giá trị trường Next Header chỉ
ra loại mào đầu mở rộng đầu tiên theo sau mào đầu cơ bản Tiếp theo, trườngNext Header của mào đầu mở rộng thứ nhất sẽ trỏ tới mào đầu mở rộng thứ hai,đứng kế tiếp nó Trường Next Header của mào đầu mở rộng cuối cùng sẽ có giátrị xác định mào đầu tầng cao hơn
Trang 11Mào đầu mở rộng của địa chỉ IPv6
Khi gói đi từ nguồn đến đích, các trạm trung gian không được phép xử lýcác Extension Header đến khi đến trạm đích Và việc xử lý các Header này cũngphải diễn ra theo đúng tuần tự mà các Header sắp xếp trong gói tin IPv6 Khôngbao giờ được phép xảy ra trường hợp trạm đích quét qua toàn bộ gói tin và chọn
ra một Header nào đó để xử lý trước Trường hợp ngoại lệ là trường hợp by-hop Extension Header, sự hiện diện của Hop-by-hop Extension Header buộcgói tin phải bị kiểm tra bởi tất cả các trạm trung gian trên đường từ nguồn đếnđích, bao gồm cả trạm nguồn và đích Vì vậy, Hop-by-hop Extension Headerluôn phải đứng sau IPv6 Header Sự hiện diện của Extension Header này đượcchỉ thị bởi giá trị 0 trong Next-Header của IPv6 Header Kích thước của cácExtension Header có thể tùy ý, nhưng luôn là bội số của 8 octet Nếu trong góitin có chứa nhiều Extension Header, chúng được sắp xếp theo thứ tự sau:
Hop- IPv6 Header
Hop-by-Hop Options Header
Destination Options Header : Được xử lý bởi trạm đích đầu tiên trong IPv6 Header và những trạm còn lại được chỉ ra trong Routing Header