암호화 URL 매개 변수
플러그인은 웹 프로그램에 액세스할 때 Get 메서드 또는 Post 메서드를 사용하여 데이터를 제출할 수 있습니다. HTTP 프로토콜 사양에 따라 매개 변수는 항상 다음 형식으로 제출됩니다 (각 매개 변수 이름/매개 변수 값 쌍은 "amp;;" 로 표시) 기호 구분):
매개변수 이름 1= 매개변수 값 1 amp; 매개변수 이름 2= 매개변수 값 2 amp; 매개변수 이름 3= 매개변수 값 3...
SSL 을 사용하지 않으면 모든 매개변수 이름과 매개변수 값이 네트워크를 통해 일반 텍스트로 웹 서버로 전송됩니다. 이는 안전하지 않습니다. 플러그인과 웹 프로그램 간의 통신 보안을 보장하기 위해 플러그인은 매개 변수를 제출하기 전에 각 매개 변수 값을 Rijndael 암호화 알고리즘을 사용하여 암호화하고 Base64 인코딩을 사용하여 읽을 수 있는 문자열 형식으로 변환할 수 있습니다.
Rijndael 암호화 알고리즘은 AES(Advanced Encryption Standard) 를 구현하는 효율적인 대칭 암호화 알고리즘으로 암호화 및 암호 해독에 두 가지 기본 매개 변수인 초기 벡터와 키가 있으며 웹 프로그램은 암호 해독 시 플러그인측 설정과 동일한 초기 벡터와 키를 사용해야 합니다
다음은 암호화 및 암호화되지 않은 예제입니다.
A. 암호화되지 않음: Username=testamp;; Password=123456amp;; ClientIP=192.168.0.200amp;; 현재 시간 = 2005-07-06+233 a513a 29
B. 암호화: username = ztlbwgvwks 5 y v98n 9 CGO 2fw 3d 3damp; Password = vbschk 4dj x7z2 zfuatu 9zq 3d 3damp; 현재 시간 = mpnifqrivbv2xzi 3d2f pli 62 bzwr 9 bkhs 4y6 T2 bns2 qir 43d
사용 중인 웹 프로그램 언어에 따라 웹 프로그램 측에서 동일한 알고리즘을 사용하여 각 매개변수 값을 해독해야 하므로 특정 언어의 알고리즘 구현을 찾아야 합니다. 매개 변수 값을 해독하는 과정은
의 세 단계로 구성됩니다1. Base64 알고리즘을 사용하여 매개변수 값을 바이트 배열로 변환합니다.
2. Rijndael 알고리즘을 사용하여 1 에서 얻은 바이트 배열을 다른 바이트 배열로 해독합니다.
3. 2 에서 얻은 바이트 배열을 특정 문자 집합으로 문자열로 변환하여 원본 데이터를 얻습니다.
플러그인 설치 디렉토리의 "GVODClassLib.dll" 파일에는 암호화 및 암호 해독을 위한 알고리즘 구현 클래스인 CryptoUtility 가 포함되어 있으며, Decrypt 메서드는 Base64 로 인코딩된 암호문을 원본 문자열로 직접 해독합니다. 웹 프로그램이 ASP.NET 으로 작성된 경우 파일을 복사할 수 있습니다
Lt; @ pagelanguage = "c #" gt;
Lt; @ import namespace = "com.gvod" gt;
Lt;
//키 정의, 암호화할 때 사용한 키로 바꿔주세요
String key = "oet xf/YY al D2 n flv w4 ksmspqiozpksrl+medvlbazuq =";
//초기 벡터를 정의합니다. 암호화할 때 사용하는 초기 벡터로 변경하십시오
String iv = "cz3 exgtemein 8 pxkflizwg = =";
//키 길이를 정의하십시오. 암호화할 때 사용하는 키의 길이
로 변경하십시오Intkey length = 256;
//CryptoUtility 클래스의 인스턴스 생성
Crypto utility util = new crypto utility (키, iv, 키 길이);
//암호 해독 사용자 이름
Stringusername = util.decrypt (request ["username"]);
//암호 해독
Stringpassword = util.decrypt (request ["password"]);
//기타 매개변수 암호 해독
...
Gt;