VPN (仮想プライベート ネットワーク) についての話

ここに画像の説明を挿入

VPNの概念

ここに画像の説明を挿入

  • VPN (Virtual Privacte Network) 仮想プライベート ネットワーク自体は壁を迂回するために生まれたものではありません
  • 当時は HTTPS が RFC に含まれていなかったため、当時は多くの人が HTTP プロトコルを使用してインターネットを閲覧していましたが、HTTP プロトコルの最大の欠点は平文での送信であり、HTTP ではデータの暗号化が規定されていなかったことが挙げられます。情報を平文で送信することは企業にとってリスクが大きすぎます。
    ここに画像の説明を挿入
  • 最も初期の VPN 技術プロトコル pptp ( Point-to-Point Tunneling Protocol ) は 1996 年に誕生し、仮想的なポイントツーポイント接続を確立することでリモート アクセスを実現します。PPTP は、IP、IPX、NetBEUI などの複数のプロトコルをインターネット上で送信できます。データのセキュリティを確保するために、データ送信は暗号化されます。
  • PPTP は比較的シンプルで実装が簡単な VPN ソリューションであり、Windows、Mac OS、Linux などのさまざまなオペレーティング システムで利用でき、多くのルーターやファイアウォールと互換性があります。ただし、PPTP で使用される暗号化アルゴリズムは安全ではないことが証明されているため、現在は推奨されていません。代わりに、OpenVPN や L2TP/IPSec などのより安全な VPN プロトコルが使用されます。
    ここに画像の説明を挿入

PPTP (Point-to-Point Tunneling Protocol) は、仮想プライベート ネットワーク (VPN) 用のプロトコルです。

  • 2000 年まで、VPN テクノロジーは企業内で使用されていました。出張中の従業員が会社のデータデータベースに一時的にアクセスする場合や、海外支社が本社と情報を共有し、データの転送や取得を行う必要がある場合に使用されますが、公共のインターネットを直接経由すると情報漏洩や盗難の可能性が高くなります。情報の暗号化には VPN テクノロジーが使用されます。
    ここに画像の説明を挿入
  • RFC は「Request for Comments」の略で、Internet Engineering Task Force (IETF) によって開発された標準文書です。
  • RFC は、ネットワーク プロトコル、手順、実践、および方法論に関する詳細情報を提供する、オープンで物議を醸している技術標準です。
  • RFC の主な目的は、技術コミュニティ間で情報とアイデアを共有し、プロトコルの開発と標準化を促進することです。RFC 文書は誰でも作成して提出することができ、インターネットの開発、設計、管理でよく参照されます。
  • 公衆インターネットはチャネルに相当し、VPN は暗号化および復号化機能を備えた第 2 チャネルに相当し、情報が第三者に傍受されたり盗まれたりすることを確実に防ぐことができます。
    ここに画像の説明を挿入

VPNの種類

  • VPN は、サイト間 VPNクライアント サイト (リモート ログイン VPN)の 2 つのタイプに分類されますVPN の中核は、パブリック ネットワークでデータが暗号化されることです

サイト間VPN

ここに画像の説明を挿入

  • サイトの場合、2 つ以上の端末の位置が比較的固定されており、リンクが中断されないことを意味します。データ パケットが VPN ハブに送信されるとき、データ パケットの送信元アドレスは、VPN ハブのアドレスにのみ変更されます。現在の VPN ハブのアドレスに変更すると、宛先アドレスは現在の VPN ハブのアドレスにのみ変更されます。宛先の VPN ハブのアドレスに変更すると、パケットが暗号化されます。中間者の観点からは、暗号化されたデータのみが 2 つのハブ間で転送されるため、実際の送信元アドレスと実際の宛先アドレスは隠蔽されます。(ただし絶対に安全というわけではありません)
    ここに画像の説明を挿入

クライアントサイトVPN

ここに画像の説明を挿入

  • リモート ログイン VPN はホーム オフィスのシナリオに適しています。このタイプは比較的柔軟性があり、長時間の接続を必要としない方法により適しています。一般的に、このタイプの VPN はブラウザと直接通信するか、追加のクライアント ソフトウェアをインストールできます。

  • リモート ログイン VPN には、フル トンネル モードとハーフ トンネル モードがあります。すべてのネットワークデータを社内ネットワークに送信したい場合はフルトンネルを使用できますが、在宅勤務の場合は釣りができる必要があるため、一般的には随伴モードを選択する人が多いでしょう。
    ここに画像の説明を挿入

VPN の仕組み

  • 技術的に言えば、一般の人々のネットワーク活動はほぼ透過的であり、たとえば、Google にアクセスしたい場合、まずブラウザに Google の URL を入力する必要があり、その後、データ要求は、ネットワーク サービス プロバイダーを介してネットワーク サービス プロバイダーに送信されます。ネットワーク サービス プロバイダーは、Google の goole.com Web サイトのドメイン名を DNS サーバー経由で Google サーバーに解決し、サーバーは必要な情報をコンピューターのブラウザーに送信します。
    ここに画像の説明を挿入

  • 基本的に、プロセス全体は Wi-Fi ルーター、ネットワーク サービス プロバイダー、Google サービスの 3 つのリンクを経由するため、このリンクによって個人情報が漏洩する可能性があります。

  • ファストフード レストラン、コーヒー ショップ、ホテルなどの場所では、公衆ネットワークを使用して情報を公開したり、インターネット サービス プロバイダーのリンクを使用して他の人に簡単に傍受されたり、次のようなものを閲覧したりできます。訪問者、訪問時間、使用した機器、IP アドレス、実際の地理的位置。この情報はネットワーク サービス プロバイダーにとって重要な利益源でもあります。さまざまなインターネット サービス プロバイダーが、最も厳格なプライバシー保護規制を設けていると主張していますが、それでも行動習慣に関する広告はまったく減少していないことがわかります。無料サービスを利用すると、実際には最大の商品であり、利益そのものになるという格言があります。

  • インターネット電子商取引の継続的な発展に伴い、現在、ほとんどの Web サイトでは ssl ts の暗号化プロトコル、つまり https が採用されています。ここで、入力した URL が HTTP である場合、ブラウザは正常に接続できません。https の機能は、当社と訪問した Web サイト間の通信情報を暗号化することです。たとえば、銀行カード番号、パスワードなどの情報を入力します。ショッピング Web サイトは暗号化されるため、ネットワークへのアクセスのセキュリティは大幅に向上しますが、それにもかかわらず、ネットワークへのアクセスのプライバシーはまだ保証されていません。
    ここに画像の説明を挿入

  • https ウェブサイトにアクセスする場合、ネットワーク サービス プロバイダーは完全なウェブ閲覧情報を取得することはできませんが、アクセスしたウェブサイトを知ることができ、VPN テクノロジーはこの問題を可能な限り解決しようとします。 VPN データは使用され、 VP クライアントWi-Fi ルーターネットワーク サービス プロバイダーWeb サイトまたはアプリケーション サーバーへのVPN サーバーになります

ここに画像の説明を挿入

  • まず、デバイスに VPN クライアントがインストールされて有効になると、デバイスから送信されるすべてのデータ トラフィックは VPN 暗号化によって処理されるため、公共の場所で公衆 Wi-Fi に接続している場合でも、第三者による暗号化が困難になります。送信される情報は暗号化されているため、当事者があなたのデータ情報を直接取得することはできません。ネットワークサービスプロバイダーでは、一部の暗号化されたデータしか閲覧できないため、VPNサーバーへの接続、WeChatへの接続時間、有料VPNサーバーのデータ通信量が必要となりますが、これに限定されており、これらの暗号化されたデータは、vpn サーバーを通じて復号化されます。VPN サーバーは、DNS ドメイン名を通じて解決し、アクセスする Web サイト サーバーにデータを送信します。VPN は、訪問したい Web サイトの実際の IP アドレスを隠し、VPN プロキシ サーバーの IP アドレスを使用するため、ルーター段階、ネットワーク サービス プロバイダー段階、Web サイト サーバー段階のデータは二重のセキュリティで保護されます。そしてプライバシー。

VPN の責任

ここに画像の説明を挿入

責任 1: 機密保持

  • 暗号化は機密性を保つためのもので、コンテナを通してデータが簡単に見られないようにします。暗号化にはアルゴリズムの使用が必要で、一般的に使用されるのは AES、3DES で、これら 2 つのアルゴリズムの名前には E が付いています。E は暗号化 (暗号化) を意味します。
    ここに画像の説明を挿入

威厳

  • 単純な暗号化ではデータを完全に送信することはできません。結局のところ、ハッカーはデータを理解できず、データをランダムに変更する可能性があります。データを取得できない場合は、データを取得させません。したがって、VPN のもう 1 つの義務は次のとおりです。データの整合性を保護するため。
    ここに画像の説明を挿入
  • VPN がデータの整合性を確保するために使用するアルゴリズムは HASH アルゴリズムです ( HASH は一連のアルゴリズムの総称です)。
  • ハッシュ アルゴリズム (ハッシュ アルゴリズム) は、ハッシュ アルゴリズムやダイジェスト アルゴリズムとも呼ばれ、任意の長さのメッセージを特定の固定長に圧縮するアルゴリズムです。
    ハッシュ アルゴリズムは、データの整合性チェック、パスワード、その他のセキュリティ面だけでなく、検索エンジンのインデックスやデータベース インデックスの最適化にもよく使用されます。
    ハッシュ アルゴリズムは、任意の長さのデータを、ハッシュ値 (Hash Value) またはメッセージ ダイジェスト (Message Digest) と呼ばれる固定長の要約情報に変換できます。一般的に使用されるハッシュ アルゴリズムには、MD5、SHA-1、SHA-256 などが含まれます。
    ここに画像の説明を挿入

認証済み

  • 最も重要なことは、通信している相手のことを知っているかどうかを知ることです。たとえば、誰かが従業員のコンピュータをハッキングし、VPN を使用して会社のイントラネットにログインした場合はどうなるでしょうか? これには、VPN の 3 番目の役割である認証が必要になります。
    ここに画像の説明を挿入
  • PSK アルゴリズムと RSA アルゴリズムはどちらも暗号化における一般的な暗号化アルゴリズムですが、アプリケーション シナリオと実装方法は異なります。
  • PSK は、事前共有キー (Pre-Shared Key) を指します。これは、共有キー暗号化とも呼ばれる対称暗号化アルゴリズムです。PSK 暗号化では、送信者と受信者が同じ暗号化キーを共有します。通信の前に、両者はキーをネゴシエートし、そのキーを暗号化と復号化に使用する必要があります。PSK は、ネットワーク通信やデバイス間の通信を保護するためによく使用されます。
  • 例: Java は PSK アルゴリズムを実装します
    • Java 標準ライブラリの Cipher クラスは AES 暗号化を実装しており、暗号化には pskEncrypt メソッドが使用され、復号化には pskDecrypt メソッドが使用されます。暗号化と復号化の際には同じキーを使用する必要があります。ここではキーとして単純な文字列を使用していますが、実際には、より複雑で安全なキーを使用する必要があります。

PSK アルゴリズムの実装 (兄貴専用)

/**PSK算法简单实现 */ 
import java.math.BigInteger; import java.util.Random;
	public class PSK {
    
    
	
	private BigInteger p;  //质数p
	private BigInteger q;  //质数q
	private BigInteger n;  //n = p * q
	private BigInteger phi;    //欧拉函数φ(n) = (p-1) * (q-1)
	private BigInteger e;  //公钥e
	private BigInteger d;  //私钥d
	
	public PSK(int numBits) {
    
    
	    //生成两个大质数p和q
	    p = new BigInteger(numBits, 100, new Random());
	    q = new BigInteger(numBits, 100, new Random());
	
	    //计算n和φ(n)
	    n = p.multiply(q);
	    phi = (p.subtract(BigInteger.ONE)).multiply(q.subtract(BigInteger.ONE));
	
	    //选择公钥e,要求1 < e < φ(n)且e与φ(n)互质
	    do {
    
    
	        e = new BigInteger(2 * numBits, new Random());
	    } while ((e.compareTo(phi) != -1) || (e.gcd(phi).compareTo(BigInteger.ONE) != 0));
	
	    //计算私钥d,使得d与e模φ(n)同余
	    d = e.modInverse(phi);
	}
	
	//加密
	public BigInteger encrypt(BigInteger message) {
    
    
	    return message.modPow(e, n);
	}
	
	//解密
	public BigInteger decrypt(BigInteger encrypted) {
    
    
	    return encrypted.modPow(d, n);
	}
	
	public static void main(String[] args) {
    
    
	    PSK psk = new PSK(1024);
	    BigInteger message = new BigInteger("123456789");
	    BigInteger encrypted = psk.encrypt(message);
	    BigInteger decrypted = psk.decrypt(encrypted);
	
	    System.out.println("明文:" + message);
	    System.out.println("加密后:" + encrypted);
	    System.out.println("解密后:" + decrypted);
	}
}

PSK アプリケーションのデモ

import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;

public class PSKExample {
    
    
    public static void main(String[] args) throws Exception {
    
    
        String message = "Hello, world!";
        String key = "mysecretkey";
        byte[] encrypted = pskEncrypt(message, key);
        byte[] decrypted = pskDecrypt(encrypted, key);
        System.out.println("Encrypted message: " + new String(encrypted));
        System.out.println("Decrypted message: " + new String(decrypted));
    }

    /**
     * 使用PSK算法对消息进行加密
     *
     * @param message 要加密的消息
     * @param key     密钥
     * @return 加密后的消息
     * @throws Exception 加密异常
     */
    public static byte[] pskEncrypt(String message, String key) throws Exception {
    
    
        // 将密钥转换为SecretKeySpec对象,使用AES算法
        SecretKeySpec secretKey = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
        // 创建Cipher对象,使用AES/ECB/PKCS5Padding加密模式
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
        // 使用密钥初始化加密模式
        cipher.init(Cipher.ENCRYPT_MODE, secretKey);
        // 对消息进行加密并返回结果
        return cipher.doFinal(message.getBytes("UTF-8"));
    }

    /**
     * 使用PSK算法对消息进行解密
     *
     * @param encrypted 加密后的消息
     * @param key       密钥
     * @return 解密后的消息
     * @throws Exception 解密异常
     */
    public static byte[] pskDecrypt(byte[] encrypted, String key) throws Exception {
    
    
        // 将密钥转换为SecretKeySpec对象,使用AES算法
        SecretKeySpec secretKey = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
        // 创建Cipher对象,使用AES/ECB/PKCS5Padding加密模式
        Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
        // 使用密钥初始化解密模式
        cipher.init(Cipher.DECRYPT_MODE, secretKey);
        // 对加密后的消息进行解密并返回结果
        return cipher.doFinal(encrypted);
    }
}


  • RSA アルゴリズムは、公開キー暗号化とも呼ばれる非対称暗号化アルゴリズムです。RSA 暗号化では、送信者は受信者の公開キーを使用して暗号化し、受信者は独自の秘密キーを使用して復号化します。RSA アルゴリズムは、主にデジタル署名と鍵の合意に使用されます。デジタル証明書では、デジタル証明書の署名は RSA アルゴリズムで完成されます。さらに、RSA アルゴリズムは、両方の通信当事者のセキュリティを確保するためのキー ネゴシエーション用の SSL/TLS プロトコルでも一般的に使用されています。

RSA アルゴリズムの実装 (兄貴専用)

import java.math.BigInteger;
import java.util.Random;

public class RSA {
    
    

    private BigInteger p;  //质数p
    private BigInteger q;  //质数q
    private BigInteger n;  //n = p * q
    private BigInteger phi;    //欧拉函数φ(n) = (p-1) * (q-1)
    private BigInteger e;  //公钥e
    private BigInteger d;  //私钥d

    public RSA(int numBits) {
    
    
        //生成两个大质数p和q
        p = new BigInteger(numBits, 100, new Random());
        q = new BigInteger(numBits, 100, new Random());

        //计算n和φ(n)
        n = p.multiply(q);
        phi = (p.subtract(BigInteger.ONE)).multiply(q.subtract(BigInteger.ONE));

        //选择公钥e,要求1 < e < φ(n)且e与φ(n)互质
        do {
    
    
            e = new BigInteger(2 * numBits, new Random());
        } while ((e.compareTo(phi) != -1) || (e.gcd(phi).compareTo(BigInteger.ONE) != 0));

        //计算私钥d,使得d与e模φ(n)同余
        d = e.modInverse(phi);
    }

    //加密
    public BigInteger encrypt(BigInteger message) {
    
    
        return message.modPow(e, n);
    }

    //解密
    public BigInteger decrypt(BigInteger encrypted) {
    
    
        return encrypted.modPow(d, n);
    }

    public static void main(String[] args) {
    
    
        RSA rsa = new RSA(1024);
        BigInteger message = new BigInteger("123456789");
        BigInteger encrypted = rsa.encrypt(message);
        BigInteger decrypted = rsa.decrypt(encrypted);

        System.out.println("明文:" + message);
        System.out.println("加密后:" + encrypted);
        System.out.println("解密后:" + decrypted);
    }
}

RSA アプリケーションのデモンストレーション: 署名の実装

- Java内置的RSA算法进行加密和解密,并添加了必要的注释以便其他开发者理解代码的作用和实现原理。其中,我们通过generateRSAKeyPair方法生成RSA密钥对,使用私钥对消息进行签名并通过公钥对签名进行验证。
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Signature;

public class RSAExample {
    
    
    public static void main(String[] args) throws Exception {
    
    
        // 生成RSA密钥对
        KeyPair keyPair = generateRSAKeyPair();
        // 获取公钥和私钥
        PublicKey publicKey = keyPair.getPublic();
        PrivateKey privateKey = keyPair.getPrivate();

        // 原始消息
        String message = "Hello, world!";

        // 使用私钥对消息进行签名
        byte[] signature = rsaSign(message.getBytes(), privateKey);

        // 使用公钥对签名进行验证
        boolean valid = rsaVerify(message.getBytes(), signature, publicKey);

        // 输出签名结果
        System.out.println("Signature: " + new String(signature));
        // 输出验证结果
        System.out.println("Valid: " + valid);
    }

    /**
     * 生成RSA密钥对
     *
     * @return RSA密钥对
     * @throws Exception 异常
     */
    public static KeyPair generateRSAKeyPair() throws Exception {
    
    
        // 创建KeyPairGenerator对象,使用RSA算法
        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
        // 初始化密钥大小为2048
        keyPairGenerator.initialize(2048);
        // 生成密钥对
        return keyPairGenerator.generateKeyPair();
    }

    /**
     * 使用私钥对消息进行签名
     *
     * @param message   要签名的消息
     * @param privateKey 私钥
     * @return 签名
     * @throws Exception 异常
     */
    public static byte[] rsaSign(byte[] message, PrivateKey privateKey) throws Exception {
    
    
        // 创建Signature对象,使用SHA256withRSA算法
        Signature signature = Signature.getInstance("SHA256withRSA");
        // 使用私钥初始化Signature对象
        signature.initSign(privateKey);
        // 更新要签名的消息
        signature.update(message);
        // 对消息进行签名并返回结果
        return signature.sign();
    }

    /**
     * 使用公钥对签名进行验证
     *
     * @param message   原始消息
     * @param signature 签名
     * @param publicKey 公钥
     * @return 验证结果
     * @throws Exception 异常
     */
    public static boolean rsaVerify(byte[] message, byte[] signature, PublicKey publicKey) throws Exception {
    
    
        // 创建Signature对象,使用SHA256withRSA算法
        Signature sig = Signature.getInstance("SHA256withRSA");
        // 使用公钥初始化Signature对象
        sig.initVerify(publicKey);
        // 更新要验证的消息
        sig.update(message);
        // 对签名进行验证并返回结果
        return sig.verify(signature);
    }
}

  • つまり、PSK アルゴリズムと RSA アルゴリズムはどちらも重要な暗号化アルゴリズムですが、適用シナリオと実装方法が異なります。PSK は主に対称暗号化シナリオで使用され、RSA アルゴリズムは主に非対称暗号化シナリオで使用されます。

VPN の 2 つのフレームワーク

ここに画像の説明を挿入

  • ネットワーク通信は本来、プロトコルの束で構成されており、フレームワークを形成することもできますが、VPN では主にIPSec と SSL/TLS という 2 つの主要なフレームワークが使用され、セキュリティの頭字語です2 つのフレームワークの内容は複雑ですが、中核となるのはセキュリティです。

SSL (Secure Sockets Layer) と TLS (Transport Layer Security) は、クライアントとサーバー間の暗号化通信を提供するために使用されるネットワーク セキュリティ プロトコルです。SSL は元々 Netscape によって開発され、後に TLS に置き換えられました。TLS は SSL のアップグレードされたバージョンであり、現在、Web ブラウザとサーバー間の安全な通信に広く使用されています。

SSL/TLS フレームワークには次の部分が含まれています。

  1. ハンドシェイク プロトコル (ハンドシェイク プロトコル): クライアントとサーバー間の安全な接続を確立するために使用されます。ハンドシェイク中に、クライアントとサーバーは暗号化アルゴリズムのネゴシエーション、キーの生成、ID の検証などを行います。

  2. 記録プロトコル (記録プロトコル): 確立された安全な接続を介してデータを送信するために使用されます。データは送信される前に暗号化、圧縮され、MAC が付加されます。

  3. Cipher Suite (Cipher Suite): 暗号化アルゴリズム、鍵交換アルゴリズム、MAC アルゴリズムなどが含まれます。クライアントとサーバーは、ハンドシェイク中にどの暗号スイートを使用するかをネゴシエートします。

  4. デジタル証明書: サーバーの身元を確認するために使用されます。サーバーはデジタル証明書を提供する必要があり、クライアントはハンドシェイク プロセス中にデジタル証明書の有効性を検証します。

  5. セッション (セッション): クライアントとサーバー間の接続を維持するために使用されます。ハンドシェイク プロセス中にセッション ID が生成され、クライアントとサーバーはそのセッション ID を使用して以前の安全な接続を復元し、ハンドシェイク プロセスの繰り返しを回避できます。

  6. セキュリティパラメータ (Security Parameters): 暗号化キー、MAC キー、初期化ベクトルなどが含まれます。ハンドシェイク中に、クライアントとサーバーはセキュリティ パラメーターをネゴシエートします。

  • SSL/TLS フレームワークの実装には、Java の JSSE、Python の ssl、OpenSSL など、さまざまなプログラミング言語とライブラリを使用できます。開発者は、独自のニーズに応じて適切な実装方法を選択できます。

IPSec (インターネット プロトコル セキュリティ) フレームワークは、IP データ パケットのセキュリティを保護するために使用されるプロトコルであり、データ暗号化、認証、整合性保護などのセキュリティ サービスを提供できます。IPSec は、アプリケーション プログラムに関係なく、ネットワーク層でセキュリティ保護を提供でき、IP プロトコルを使用するすべてのアプリケーション プログラムを保護できます。

IPSec フレームワークには次の部分が含まれています。

  1. セキュリティ アソシエーション (SA): 暗号化アルゴリズム、認証アルゴリズム、キーなどを含む、IPSec セキュリティ サービスのパラメータのセットを記述するために使用されます。

  2. セキュリティ アソシエーション データベース (SAD): セキュリティ アソシエーションを保存するために使用されます。

  3. セキュリティ ポリシー データベース (SPD): どのデータ パケットを安全に処理する必要があるか、セキュリティ処理の実行方法などを含むセキュリティ ポリシーを保存するために使用されます。

  4. キー管理プロトコル (KMP): セキュリティ アソシエーションのキーのネゴシエーションと管理に使用されます。

  5. 認証ヘッダー (認証ヘッダー、AH): IP データ パケットの完全性保護と認証サービスを提供するために使用されますが、暗号化サービスは提供されません。

  6. カプセル化セキュリティ ペイロード (ESP): IP データ パケットの暗号化、整合性保護、および認証サービスを提供するために使用されます。

  • IPSec の実装には、Java の JCE、Python の pycrypto、OpenSSL など、さまざまなプログラミング言語とライブラリを使用できます。開発者は、独自のニーズに応じて適切な実装方法を選択できます。

  • これら 2 つのフレームワークを使用する必要があるのはなぜですか?
    • SSL/TLS は https の s の略で、Web を閲覧するときに使用する SSL/TLS であるため、クライアントからサイトへの VPN は一般に SSL/TLS を使用します。はい、とても便利です。
    • IPses は両方のタイプの VPN に適用でき、クライアント間 VPN とサイト間 VPN で使用できますが、ほとんどはサイト間 VPN で使用されます。
      ここに画像の説明を挿入

VPN に関する誤解

  • ISP はインターネット サービス プロバイダー (インターネット サービス プロバイダー) であり、インターネット アクセス サービスを提供する企業または組織を指します。ISP は、ブロードバンド、ダイヤルアップ、光ファイバー、DSL などを提供することでユーザーにインターネット アクセス サービスを提供し、ユーザーがインターネットにアクセスしてオンライン アクティビティを実行できるようにします。ISP は、電子メール、Web サイト ホスティング、ドメイン名登録などの他のサービスも提供する場合があります。
    ここに画像の説明を挿入
  • まず、ターゲットアドレスが変更されたデータが ISP (インターネットサービスプロバイダー) ネットワークを介して VPN サーバーに送信され、VPN サーバーがデータを復号化して実サーバーに送信するという、ユーザーとの間に目に見えないチャネルが確立されます。 VPN サーバー、つまり VPN は Virtual Private Network の略です。
  • このプロセスのリスク: VPN がユーザーを裏切って、ユーザーが実際にアクセスしている Web サイトを明らかにする可能性があります。VPN がユーザーを裏切らない場合でも、ドメイン名を解決するときは、まず ISP に特定の Web サイトのアドレスを問い合わせる必要があります。設定したサーバーは引き続き ISP によって提供されるため、ISP はアクセスしたい Web サイトに引き続きアクセスできます。

  • 一般に、HTTPS を使用して Web ページにアクセスするのは安全です。ハッカーはユーザーが Web サイトにアクセスしていることを知っていますが、ユーザーが実際に送信してアクセスするコンテンツを取得することはできません。

VPN の合法性と法的知識

  • 私たちの国は VPN の個人使用をどのように規制していますか? 回避シグナルは確立されていない、回避サービスは提供されていない、単に購入するためのツールであり、利益を得る誘惑はなく、海外サイトで不適切な発言は行われていませんが、違法ではありませんか?
  • 司法実務の観点から、2019年から2023年までの浙江省の処罰を例にとると、壁の破壊(不正設置・使用等)に対する処罰が約50件あるため、主に2019年と20年間に集中しているという結果となった。違法な国際ネットワークの)複数の作品。出発点は、営利行為が存在しないことを示しており、これは国際ネットワークのための違法なチャネルの無許可の確立と使用を構成し、最終的に公安によって処罰されました。刑罰の執行方法は、その場で戒告または1,000元の罰金および警告となる。友達の中には心配して怖がり始めている人もいますか?
    ここに画像の説明を挿入
    • 回避とは、対応する IP をバイパスして、コンテンツのブロック、ドメイン名のフィルター、トラフィック制限のハイジャックなどを行い、ネットワーク コンテンツへのアクセスを実現することを指します。私の国では、ネチズンが壁の回避と呼んでいるものは、一般に、我が国の法的管理を回避し、海外のサーバーで関連するWebページのコンテンツを閲覧することを指します。例えば、VPNソフトを使って海外のWebサイトにアクセスする場合、中国国内で回避ソフトを使用する限り、目的が何であれ違法行為となります。私の国は、コンピュータ情報ネットワークは、直接の国際ネットワーキングのために国の公衆電気通信ネットワークによって提供される国際入出力チャネルを使用しなければならないことを明確に規定しており、いかなる組織や個人も国際ネットワーキングのために他のチャネルを確立したり使用したりしてはなりません。
  • まず第一に、学術的な観点から、多くの専門技術者や法学者を含む全員が協力して、機械の使用が「中華人民共和国行政管理暫定規則第 6 条」に準拠していることを実証しています。 「コンピュータ情報ネットワークの国際ネットワーキング」は、規定により郵政省の全国公衆電気通信網が提供する国際入出力チャネルを使用する必要があるため標準化されていませんが、現在は国内の主要 3 つの通信網を経由するのみです。チャイナモバイル、チャイナユニコム、チャイナテレコムの3社が適用する海外サーバードッキングサービスは合法ですが、形式的にその壁を回避することは違法なのでしょうか?この説明によると、確かにその通りです。
  • ただし、ここでの回線は物理的な回線、つまり自分でネットワークケーブルを引いて外国に行く場合は私設と呼ばれ、違法になります。VPN は単なるデータの委託であり、VPN を使用して海外の Web サイトにアクセスする場合とはルールや規制が異なります。(ここを見てください。幸運になり始めている友達もいます)
  • 技術者の努力は本当に規定を単純にコピーするものではないことがわかります。しかし実際には、壁を乗り越えるために国民個人が利用することが違法かどうか、それ自体明確な法規定はなく、曖昧な形でしか利用されていないただし、行政罰が課せられた場合、壁越しのウェブ閲覧だけでなく、その他の違法行為も対象となり、最終的には捜査と処罰につながる可能性があるが、逮捕される可能性は排除されない。インターネットサーフィン。

要約する

  • 一般のネットユーザーとして、私たちは VPN の役割と重要性を認識し、同時に VPN を合法的に使用する必要性と緊急性を明確にする必要があります。私たちは、VPN を悪用しないこと、不法に壁を突破しないこと、法律や規制を遵守すること、個人のプライバシーと情報セキュリティを保護することを積極的に訴えなければなりません。同時に、ネットワークの監視を強化し、サイバー犯罪と闘い、ネットワークのセキュリティと秩序を維持するために政府を支援する必要もあります。VPN を合理的に使用し、調和のとれた自由で安全なサイバー空間を構築するために協力していきましょう。

おすすめ

転載: blog.csdn.net/yang2330648064/article/details/131137893