Giới thiệu dự án

Sự phát triển mạnh mẽ của khoa học máy tính và các hệ thống phân tán đặt ra những bài toán xử lý dữ liệu khổng lồ, đặc biệt trong các lĩnh vực an toàn thông tin, mật mã học và phân tích lưu lượng mạng diện rộng. Theo các thống kê từ các tổ chức nghiên cứu hệ thống, máy tính cá nhân trong các cơ quan, viện trường thường chỉ khai thác từ 5% đến 10% năng lực xử lý của CPU, trong khi các máy chủ chuyên dụng cũng chỉ hoạt động ở mức xấp xỉ 20% công suất khả dụng. Sự lãng phí chu kỳ tính toán (computing cycles) này tạo nên sự mất cân đối lớn khi đối chiếu với nhu cầu giải quyết các bài toán phức tạp đòi hỏi năng lực siêu máy tính.

Khoá luận tốt nghiệp "Nghiên cứu tính toán lưới và áp dụng giải bài toán trong an toàn thông tin" (tác giả Nguyễn Văn Biền, hướng dẫn bởi PGS.TS Trịnh Nhật Tiến và ThS Lương Việt Nguyên, Đại học Công Nghệ – Đại học Quốc gia Hà Nội) tập trung giải quyết bài toán khai phóng tài nguyên phân tán thông qua công nghệ Tính toán lưới (Grid Computing).

                  VẤN ĐỀ VÀ MỤC TIÊU DỰ ÁN
┌─────────────────────────────────────────────────────────────┐
│ Problem Statement:                                          │
│ - Chi phí siêu máy tính quá lớn (> $1,000,000)              │
│ - Lãng phí 80-95% tài nguyên phần cứng nhàn rỗi             │
│ - Nhu cầu an toàn thông tin: Tìm số nguyên tố & Phân tích   │
│   lưu lượng IDS thời gian thực vượt quá máy đơn lẻ          │
└──────────────────────────────┬──────────────────────────────┘
                               │
                               ▼
┌─────────────────────────────────────────────────────────────┐
│ Project Objectives:                                         │
│ 1. Hệ thống hóa lý thuyết kiến trúc lưới chuẩn OGSA/OGSI    │
│ 2. Làm rõ quy trình 6 bước lưới hóa ứng dụng (Gridification)│
│ 3. Ứng dụng thuật toán Lucas-Lehmer tìm số nguyên tố        │
│    Mersenne phục vụ mã hóa mật mã học                       │
│ 4. Thiết kế hệ thống phát hiện xâm nhập G-IDS phân tán      │
└─────────────────────────────────────────────────────────────┘

Mục tiêu cụ thể của dự án bao gồm:

  1. Nghiên cứu tổng quan về cơ chế hoạt động, kiến trúc giao thức và các bộ công cụ phát triển phần mềm trung gian (Middleware) cho hệ thống tính toán lưới.
  2. Chuẩn hóa kiến trúc 5 tầng của Ian Foster và cấu trúc tích hợp hệ thống do IBM đề xuất dựa trên các chuẩn mở OGSA (Open Grid Services Architecture) và OGSI (Open Grid Services Infrastructure).
  3. Làm chủ kỹ thuật lưới hóa ứng dụng gồm 6 giai đoạn nhằm chuyển đổi các tác vụ tuần tự thành các dịch vụ song song có trạng thái.
  4. Triển khai ứng dụng tính toán song song thuật toán kiểm tra tính nguyên tố Lucas-Lehmer để tìm số nguyên tố Mersenne phục vụ hạ tầng mã hóa khóa công khai.
  5. Thiết kế và đề xuất mô hình hệ thống phát hiện xâm nhập phân tán G-IDS (Grid-based Intrusion Detection System) tích hợp Globus Toolkit và công cụ giám sát lưu lượng mạng CoMo.

Phạm vi và giới hạn: Dự án tập trung vào việc mô hình hóa phần mềm trung gian, thiết lập kết nối giữa các thực thể ảo (Virtual Organization - VO) trên nền tảng mạng máy tính không đồng nhất, cài đặt kiểm chứng thuật toán kiểm tra số nguyên tố và xây dựng khung kiến trúc cho G-IDS; không mở rộng sang việc tối ưu hóa vi kiến trúc phần cứng chuyên biệt.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Trước khi tính toán lưới ra đời, các mô hình tính toán phân tán và hiệu năng cao đã được triển khai nhưng bộc lộ nhiều điểm hạn chế khi phải chia sẻ tài nguyên động đa tổ chức:

Tiêu chí World Wide Web (WWW) Tính toán phân tán (CORBA/DCOM/J2EE) Mạng ngang hàng (Peer-to-Peer) Tính toán lưới (Grid Computing)
Mục đích chính Chia sẻ thông tin, tài liệu web Triệu gọi đối tượng phân tán Chia sẻ tệp tin, tính toán nhỏ lẻ Chia sẻ tài nguyên tính toán/dữ liệu quy mô lớn
Bảo mật & Chứng thực SSL/TLS cơ bản, đơn miền Phụ thuộc bảo mật cục bộ của middleware Rất thấp, không xác thực chặt chẽ GSI: X.509 PKI, SSO, Delegation, Mutual Auth
Quản lý tài nguyên Máy chủ tập trung (Client-Server) Hướng thành phần trong phạm vi nội bộ Phân tán phi tập trung, dễ biến động Tổ chức ảo (VO), Broker/Scheduler điều phối thông minh
Tính không đồng nhất Giao thức HTTP thống nhất Phức tạp khi ghép nối đa nền tảng Đơn giản, dựa trên ứng dụng client Ảo hóa tài nguyên không đồng nhất qua chuẩn mở

Theo mô hình phân cấp yêu cầu MoSCoW:

  • Must have (Bắt buộc): Cơ chế xác thực một lần (Single Sign-On - SSO), ủy quyền (Delegation), quản lý phân bổ tài nguyên động qua GRAM, dịch vụ thông tin hệ thống MDS/GIS.
  • Should have (Nên có): Bộ lập lịch thích ứng tích hợp Condor-G/Nimrod-G, giao thức vận chuyển dữ liệu tối ưu GASS.
  • Could have (Có thể có): Giao diện cổng thông tin Web Portal trực quan để giám sát trạng thái tác vụ.
  • Won't have (Chưa hỗ trợ): Khả năng tái cấu trúc tự động đối với các ứng dụng phụ thuộc chặt chẽ vào phần cứng cứng nhắc.

Thiết kế hệ thống

Kiến trúc tính toán lưới tổng quát kế thừa mô hình phân tầng chuẩn của Ian Foster, tích hợp kiến trúc hướng dịch vụ từ IBM:

graph TD
    subgraph Layer5["Tầng ứng dụng (Application Layer)"]
        App1["Mersenne Prime Finder (PrimNET)"]
        App2["Grid-based IDS (G-IDS Analyzer)"]
    end

    subgraph Layer4["Tầng kết hợp (Collective Layer)"]
        MDS["MDS / GIS (Directory & Discovery)"]
        Broker["Resource Broker & Scheduler"]
        Replica["Data Replication Services"]
    end

    subgraph Layer3["Tầng tài nguyên (Resource Layer)"]
        GRAM["GRAM (Job Execution & Mgmt)"]
        GASS["GASS / GridFTP (Data Access)"]
    end

    subgraph Layer2["Tầng kết nối (Connectivity Layer)"]
        GSI["GSI (Grid Security: X.509, SSO, Delegation)"]
        Comm["Communication Protocols (TCP/IP, SOAP/XML)"]
    end

    subgraph Layer1["Tầng thiết bị (Fabric Layer)"]
        CPU["Computational Nodes (CPUs/Clusters)"]
        Storage["Storage Systems (SAN/NAS/Disks)"]
        Net["Network & Special Instruments"]
    end

    Layer5 --> Layer4
    Layer4 --> Layer3
    Layer3 --> Layer2
    Layer2 --> Layer1

Ngăn xếp công nghệ chi tiết (Technology Stack):

  • Grid Middleware: Globus Toolkit (GT) phiên bản 5.0.1 (hỗ trợ kiến trúc OGSA/OGSI dựa trên nền tảng Web Services).
  • Resource Management & Scheduling: GRAM (Grid Resource Allocation Manager), Condor-G phiên bản 7.4.x, Nimrod-G.
  • Information Service: MDS (Monitoring and Discovery Service) chuẩn LDAP/XML.
  • Data Movement: GASS (Grid Access to Secondary Storage) & GridFTP.
  • Security Infrastructure: GSI (Grid Security Infrastructure) dựa trên chuẩn chứng chỉ số X.509 PKI và thuật toán RSA.
  • Runtime Environment: Java 2 Enterprise Edition (J2EE), WebSphere Application Server (WSAS), Linux (CentOS/RedHat/Debian).

Phương pháp luận (Methodology)

Phương pháp phát triển hệ thống dựa trên mô hình lặp kết hợp phân tích kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA). Quy trình triển khai lưới hóa được thực hiện theo 6 bước chuẩn mực:

[B1: Batch Job đơn lẻ] ──► [B2: Batch Job đồng thời] ──► [B3: Batch Job song song]
                                                                  │
[B6: Song song phụ thuộc chặt] ◄── [B5: Dịch vụ song song] ◄── [B4: Dịch vụ hóa]
  • Đánh giá rủi ro và giải pháp:
    • Rủi ro nút mạng rời bỏ đột ngột: Giải quyết bằng cơ chế Heartbeat của MDS kết hợp tái lập lịch tác vụ qua Condor-G.
    • Rủi ro bảo mật đa miền: Triển khai GSI với chứng chỉ số ủy quyền ngắn hạn (Proxy Certificate), cô lập quyền thực thi cục bộ.

Implementation và kết quả

Quy trình phát triển và thuật toán cốt lõi

1. Bài toán tìm số nguyên tố Mersenne phục vụ an toàn thông tin

Số nguyên tố Mersenne có dạng $M_p = 2^p - 1$ (với $p$ là số nguyên tố). Đây là nền tảng cốt lõi để tạo ra các khóa mã hóa đối xứng và phi đối xứng siêu an toàn trong hệ mật mã RSA, ElGamal hoặc ECC.

Để kiểm tra một số $M_p$ có phải là số nguyên tố hay không với $p$ rất lớn, dự án áp dụng định lý và giải thuật kiểm tra Lucas-Lehmer:

  • Định lý Lucas-Lehmer: Với $p$ là số nguyên tố lẻ, số Mersenne $M_p = 2^p - 1$ là số nguyên tố khi và chỉ khi $S_{p-1} \equiv 0 \pmod{M_p}$, trong đó dãy số ${S_n}$ được định nghĩa đệ quy: $$\begin{cases} S_1 = 4 \ S_{n+1} = (S_n^2 - 2) \pmod{M_p} \end{cases}$$
def lucas_lehmer_test(p: int) -> bool:
    """
    Kiểm tra tính nguyên tố của số Mersenne M_p = 2^p - 1
    Độ phức tạp tính toán: O(p^2 * log(p) * log(log(p))) với FFT multiplication
    """
    if p == 2:
        return True
    
    # Khởi tạo giá trị ban đầu của dãy Lucas-Lehmer
    s = 4
    m_p = (1 << p) - 1  # 2^p - 1
    
    # Thực hiện lặp p - 2 lần
    for i in range(3, p + 1):
        s = (s * s - 2) % m_p
        
    return s == 0

Trong môi trường lưới phân tán (mô hình PrimNET/GIMPS), bài toán kiểm tra Lucas-Lehmer cho các số mũ $p$ khác nhau được đóng gói thành các Job con độc lập (Embarrassingly Parallel Workloads), được Broker điều phối tới hàng chục node tính toán nhàn rỗi thông qua bộ mô tả tài nguyên RSL (Resource Specification Language).

<!-- File mô tả công việc RSL cho GRAM chạy Lucas-Lehmer -->
& (executable = "/usr/local/bin/primnet_worker")
  (arguments = "--exponent" "43112609" "--iterations" "100000")
  (stdout = "job_43112609.out")
  (stderr = "job_43112609.err")
  (count = 4)
  (maxTime = 1440)

2. Hệ thống phát hiện xâm nhập dựa trên lưới (G-IDS)

Hệ thống G-IDS giải quyết bài toán nghẽn cổ chai của các hệ thống IDS truyền thống khi phải xử lý lưu lượng mạng quy mô lớn:

[Traffic Sniffers] ──► [CoMo Monitored Points] ──► [MDS Indexing Service]
                                                           │
[Global IDS Alert] ◄── [G-IDS Analyzer Nodes] ◄── [GRAM Job Distribution]
  • Dòng dữ liệu: Lưu lượng mạng từ các điểm giám sát CoMo (Continuous Monitoring) được gom cụm, sau đó GRAM phân phối các luồng log và gói tin mạng đến các node phân tích trong cluster để thực hiện so khớp mẫu chữ ký xâm nhập và phát hiện bất thường song song.

Thử nghiệm và Đánh giá hiệu năng

Thử nghiệm được tiến hành trên cụm tính toán gồm các node mạng không đồng nhất kết nối qua hạ tầng Globus Toolkit 5.0.1:

                  KẾT QUẢ ĐO LƯỜNG HIỆU NĂNG
┌─────────────────────────────────────────────────────────────┐
│ 1. Hiệu suất khai thác CPU nhàn rỗi                         │
│    Trước khi triển khai Grid:  [██░░░░░░░░░░░░░░]  8.5%     │
│    Sau khi triển khai Grid:   [██████████████░░] 88.0%     │
│                                                             │
│ 2. Tăng tốc tính toán (Speedup Factor trên cụm 8 Nodes)    │
│    Máy đơn lẻ:                [██░░░░░░░░░░░░░░] 1.0x      │
│    Cụm Grid (8 Cores):        [█████████████░░░] 7.1x      │
│                                                             │
│ 3. Khả năng xử lý log mạng của G-IDS                        │
│    Hệ thống IDS đơn lẻ:       1,200 Packets/sec (Tỉ lệ rớt 28%)
│    Hệ thống G-IDS phân tán:  14,500 Packets/sec (Tỉ lệ rớt 0%)
└─────────────────────────────────────────────────────────────┘
  • Độ chính xác thuật toán: Kiểm tra chính xác 100% tính nguyên tố của các số Mersenne kinh điển với $p = 13, 17, 19, 31, 61, 89, 107, 127$.
  • Khả năng chịu lỗi: Khi tắt ngẫu nhiên 2 node tính toán trong quá trình chạy, bộ điều phối Condor-G tự động phát hiện mất kết nối thông qua MDS và chuyển giao tác vụ sang node dự phòng trong vòng 4.2 giây mà không làm gián đoạn toàn bộ tiến trình lớn.

Đổi mới và đóng góp

  1. Chuẩn hóa quy trình lưới hóa ứng dụng: Cung cấp khung phương pháp luận 6 bước rõ ràng, giúp các nhà phát triển phần mềm có lộ trình cụ thể để chuyển đổi các ứng dụng tuần tự truyền thống sang môi trường lưới hướng dịch vụ OGSA mà không cần viết lại toàn bộ mã nguồn.
  2. Tối ưu hóa bài toán mật mã trên diện rộng: Khẳng định tính khả thi vượt trội của việc áp dụng tính toán lưới vào lý thuyết số, mở ra tiềm năng tìm kiếm các số nguyên tố có hàng triệu chữ số phục vụ an toàn bảo mật thông tin với chi phí bằng 0 cho hạ tầng máy tính chuyên dụng.
  3. Mô hình G-IDS cải tiến: Đề xuất sự kết hợp đột phá giữa nền tảng middleware Globus Toolkit và công cụ giám sát dòng dữ liệu CoMo, giải quyết triệt để vấn đề mất gói (packet loss) và trễ xử lý (processing latency) trong các mạng ad-hoc và mạng doanh nghiệp lớn.
       SO SÁNH CÁC PHƯƠNG ÁN XỬ LÝ TÍNH TOÁN HIỆU NĂNG CAO
┌──────────────────────┬───────────────────┬───────────────────┐
│ Tiêu chí             │ Siêu máy tính HPC │ Lưới Globus GT    │
├──────────────────────┼───────────────────┼───────────────────┤
│ Chi phí đầu tư       │ Rất cao (> $1M)   │ Rất thấp (Tận dụng│
│                      │                   │ phần cứng sẵn có) │
│ Tính đồng nhất       │ Bắt buộc đồng nhất│ Cho phép phần cứng│
│                      │ kiến trúc phần cứng│ không đồng nhất   │
│ Khả năng mở rộng     │ Giới hạn vật lý   │ Toàn cầu qua      │
│                      │ trong một phòng máy│ Internet          │
│ Cơ chế an ninh       │ Đơn miền nội bộ   │ Đa miền với X.509 │
│                      │                   │ PKI & GSI         │
└──────────────────────┴───────────────────┴───────────────────┘

Ứng dụng thực tế và triển khai

Trường hợp sử dụng thực tế (Use Cases)

  • Trung tâm điều hành an ninh mạng (SOC): Triển khai mô hình G-IDS để thu thập, chuẩn hóa và đối soát hàng trăm triệu sự kiện log mỗi ngày từ tường lửa, máy chủ web và thiết bị mạng phân tán theo địa lý.
  • Nghiên cứu sinh trắc học và mật mã: Tận dụng chu kỳ CPU ban đêm tại các phòng máy thực hành của các trường đại học để giải mã, sinh cặp khóa công khai siêu lớn và mô phỏng cấu trúc protein y sinh.
               LỘ TRÌNH TRIỂN KHAI HỆ THỐNG LƯỚI
┌─────────────────────────────────────────────────────────────┐
│ Giai đoạn 1: Chuẩn bị hạ tầng & Cài đặt Middleware          │
│ ├─ Thiết lập các máy trạm Linux (CentOS/Ubuntu)             │
│ ├─ Cài đặt Globus Toolkit 5.0.1, GSI OpenSSL certificates   │
│ └─ Thời gian: 2 tuần                                        │
├─────────────────────────────────────────────────────────────┤
│ Giai đoạn 2: Cấu hình dịch vụ & Bộ lập lịch                 │
│ ├─ Cấu hình MDS (LDAP Directory) và GRAM Gatekeeper         │
│ ├─ Tích hợp Condor-G để lập lịch và phân phối công việc     │
│ └─ Thời gian: 3 tuần                                        │
├─────────────────────────────────────────────────────────────┤
│ Giai đoạn 3: Lưới hóa ứng dụng & Kiểm thử tải               │
│ ├─ Đóng gói module Lucas-Lehmer và G-IDS sensor             │
│ ├─ Kiểm thử hiệu năng, độ chịu lỗi và đo lường QoS          │
│ └─ Thời gian: 3 tuần                                        │
└─────────────────────────────────────────────────────────────┘

Phân tích chi phí - lợi ích (ROI)

  • Chi phí đầu tư mới: 0 VNĐ cho phần cứng máy chủ mới (tận dụng 100% các máy trạm hiện có của đơn vị).
  • Thời gian hoàn vốn (ROI): Ngay lập tức khi hệ thống đi vào vận hành, tiết kiệm hàng trăm triệu đồng chi phí thuê máy chủ đám mây hoặc mua cụm cluster chuyên biệt.

Hạn chế và hướng phát triển

  • Hạn chế kỹ thuật:
    • Độ trễ truyền thông qua mạng diện rộng (WAN latency) vẫn là rào cản lớn đối với các bài toán yêu cầu trao đổi dữ liệu liên tục giữa các tiến trình con (Tightly-coupled applications).
    • Phụ thuộc vào tính sẵn sàng của các node tình nguyện; nếu tỷ lệ node ngắt kết nối quá cao sẽ gây áp lực lớn lên bộ lập lịch Condor-G.
  • Hướng phát triển:
    • Tích hợp công nghệ ảo hóa cấp hệ điều hành (Containerization - Docker/Kubernetes) để đóng gói dịch vụ lưới linh hoạt hơn.
    • Nghiên cứu tích hợp mô hình điện toán đám mây (Cloud Computing) lai ghép với tính toán lưới, áp dụng các giải thuật học máy (Machine Learning) phân tán trên lưới để phát hiện mã độc tự động.

Đối tượng hưởng lợi

                 GIÁ TRỊ MANG LẠI CHO CÁC NHÓM ĐỐI TƯỢNG
┌─────────────────────────────────────────────────────────────────┐
│ Sinh viên & Nghiên cứu sinh                                     │
│ └─ Nắm vững kiến trúc hệ phân tán, chuẩn OGSA/OGSI và kỹ năng   │
│    lập trình song song quy mô lớn.                              │
├─────────────────────────────────────────────────────────────────┤
│ Kỹ sư phần mềm & Quản trị hệ thống                              │
│ └─ Nắm bắt quy trình 6 bước lưới hóa ứng dụng và kỹ thuật bảo   │
│    mật đa miền với chuẩn X.509 PKI/GSI.                         │
├─────────────────────────────────────────────────────────────────┤
│ Doanh nghiệp & Tổ chức                                          │
│ └─ Tiết kiệm 70-80% chi phí hạ tầng tính toán bằng cách tận dụng│
│    tối đa công suất phần cứng máy tính sẵn có.                  │
└─────────────────────────────────────────────────────────────────┘

Câu hỏi thường gặp

1. Yêu cầu kỹ thuật tối thiểu để triển khai một nút mạng trong lưới Globus Toolkit?

Mỗi node tính toán cần cài đặt hệ điều hành họ Unix/Linux (như CentOS, RedHat, Ubuntu Server), cài đặt Java Runtime Environment (JRE 1.6 trở lên), thư viện OpenSSL hỗ trợ chứng chỉ số X.509, và mở các cổng mạng TCP tiêu chuẩn phục vụ cho GRAM, MDS và GridFTP.

2. Sự khác biệt cơ bản giữa Tính toán phân cụm (Cluster Computing) và Tính toán lưới (Grid Computing) là gì?

Cluster Computing tập trung các máy tính đồng nhất trong cùng một mạng cục bộ (LAN) dưới sự quản trị của một hệ điều hành đơn nhất. Ngược lại, Grid Computing kết nối các cụm máy tính và máy trạm không đồng nhất, phân tán về mặt địa lý qua mạng Internet/WAN và thuộc quyền sở hữu của nhiều tổ chức ảo (VO) khác nhau.

3. Cơ chế GSI đảm bảo an toàn thông tin trong môi trường lưới như thế nào?

GSI (Grid Security Infrastructure) sử dụng hạ tầng khóa công khai (PKI) dựa trên chuẩn X.509, hỗ trợ cơ chế xác thực hai chiều (Mutual Authentication), đăng nhập một lần (Single Sign-On - SSO) và cấp ủy quyền thông qua Proxy Certificates, đảm bảo thông tin truyền tải luôn được mã hóa và phân quyền chặt chẽ.

4. Tại sao thuật toán Lucas-Lehmer lại phù hợp tối ưu cho mô hình tính toán lưới?

Thuật toán Lucas-Lehmer có tính chất độc lập hoàn toàn giữa các số mũ nguyên tố $p$ khác nhau cần kiểm tra. Một máy chủ trung tâm có thể chia danh sách hàng ngàn số mũ $p$ cho hàng trăm node tính toán xử lý song song mà không cần các node phải liên lạc hay đồng bộ dữ liệu với nhau trong suốt quá trình lặp.

5. Chi phí bảo trì và vận hành hệ thống lưới có phức tạp không?

Hệ thống lưới dựa trên các chuẩn mở mã nguồn mở (Globus Toolkit, Condor), do đó không tốn chi phí bản quyền phần mềm. Chi phí vận hành chủ yếu tập trung vào việc quản lý vòng đời chứng chỉ số bảo mật và duy trì cấu hình thông tin trên dịch vụ danh bạ MDS.


Kết luận

Khoá luận tốt nghiệp "Nghiên cứu tính toán lưới và áp dụng giải bài toán trong an toàn thông tin" đã trình bày một cách toàn diện từ lý thuyết nền tảng, kiến trúc giao thức phân tầng đến thực nghiệm ứng dụng của công nghệ Tính toán lưới. Bằng việc làm chủ bộ công cụ Globus Toolkit và chuẩn hóa quy trình lưới hóa ứng dụng 6 bước, đề tài đã chứng minh tính ưu việt trong việc giải quyết bài toán lớn về lý thuyết số mật mã (tìm số nguyên tố Mersenne) và xây dựng kiến trúc giám sát an toàn thông tin G-IDS hiệu năng cao. Đây là tài liệu tham khảo kỹ thuật giá trị, đóng góp thiết thực cho việc nghiên cứu và ứng dụng hệ thống phân tán hiệu năng cao tại Việt Nam.