데이터 전송 암호화 암호 방식의 개요

일반적으로 HTTP 데이터 교환 처리, 데이터는 암호화 된 형태로 전송되는 데이터의 암호화는 현재의 웹 부분에서 일반적해질 것이다

대칭 암호화

단일 암호 키 암호화를 사용하는 방법은, 동일한 암호화 키를 동시에 또한 단일 키 암호화로 공지 된 대칭 암호화 암호화 방법 호출 정보를 해독하는 데 사용할 수 있습니다.
이 암호화 알고리즘은 주요 이점은 데이터 전송을 위해 아닙니다, 또한 일반적이다, 해커가 키를 얻기 위해 한 번, 데이터가 유출되고, 심지어는 데이터 전송 프로세스에서 조작 할 수 있다고 말했다
: 예
마이크로 채널 지불 서명 알고리즘
원시 데이터 :
appid:wxd930ea5d5a258f4f
mch_id:10000100
device_info:1000
body:test
nonce_str:ibuaiVcKdpRxkhJA
부호 서명은 암호화되어 상기
와 암호 알고리즘은 다음
키 = 값 형태의 변수에 따라, 1 및 정렬 다음 파라미터 이름 ASCII의 사전 편찬에 따라
stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";
여기에 접속 처리에 송신 할 데이터가 어느 가장 기본적인 혼란이다
접합 API 키 : 2 번째 단계
stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d" //注:key为商户平台设置的密钥key sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7" //注:MD5签名方式
즉, 데이터에 부가 마찬가지로 대칭 키를 키 송신 될, 다음 데이터 SHA256 또는 MD5 비가역적인 암호화 알고리즘과 다른 공정 인 암호화,이 때 얻은 결과는 서명 데이터이다.
3이 할 수있는 마지막 전송 될 데이터로 다시 서명을 추가하는
<xml> <appid>wxd930ea5d5a258f4f</appid> <mch_id>10000100</mch_id> <device_info>1000</device_info> <body>test</body> <nonce_str>ibuaiVcKdpRxkhJA</nonce_str> <sign>9A0A8659F005D6984697E2CA0A9CF3B7</sign> </xml>
데이터를 취득 후, 수신 측이 시간을 동일하고도 서명 비교 동일한 서명으로 서명을 획득하는 단계 이전에 이름을 제외한 데이터를 산출 데이터는 다른 서명 기술 데이터가, 직접 반송 불량 변경되었는지, 유효하다.
이 방법의 장점은 알고리즘이 간단하고 효과가 있다는 것입니다, 단점은 키 손상되면 공격자가 가로 채거나 게이트웨이 라우팅 결국 데이터, 데이터 파괴를 수정할 수 있다는 것입니다.
물론,이 대칭 암호화 키에 의해 생성 된 바로 마이크로 채널 지불은, 암호화는 이해하기 간단 표준 알고리즘에 의해 완전한 데이터 전송, 할 수있다, 수행되지 말한다.
물론,이 마이크로 채널은 전송 또는 일반 사이에 대칭 암호화 서명 검증을위한 데이터 전송을 지불

비대칭 암호화

비대칭 암호화 알고리즘은 암호화 및 암호 해독을위한 두 개의 키를 요구 모두 비밀 키는 공개 키 (공개 키로서 언급 된 공개 키) 및 개인 키 (비밀 키, 짧은 개인 키).
송신자는 비밀 키, 공개 키에 의해 데이터를 암호화하고, 비밀 키, 공개 키 알고리즘은 특정 사양을 갖는 사이 수신자는 물론, 복호화한다. 물론,이 암호화 방법은 비교적 간단한 종류이며, 내 개인 키 암호화를 수행 양측은, 당신은, 해독하는 데이터 전송의 더 나은 시스템 인 비대칭 키,하지만 디자인 중간 때문에 모두 공개 키를 사용할 수 있습니다 개인 - 공개 키 변환 프로세스, 그래서 변환이 상대적으로 느려집니다 많은 양의 데이터 때문에,이 방법으로 일반 데이터 암호화 및 암호 해독을 필요가 없습니다.

하이브리드 암호화

상기 고정 키가 노출 된 후 전면 양쪽의 경우에 기초하여 대칭 또는 비대칭 키를 처리하기 때문에 하이브리드 암호화 방식, 즉 매우 높은 기밀성이며, 데이터는 금한다 (물론 이 경우의 확률은 병용 하이브리드 암호화가 완전히 개의 상이한 암호화 방식에서 이용되는) 매우 작다.
예 : 데이터 전송을 위해 A와 B를 가정하자 :
A B는 데이터를 전송한다
. (1), A는 난수를 생성하여 상기 가정 123456하는 B 비대칭 암호화 난수 1이며
2 B A 암호문 후의 다음, 평문으로 복호화하여 얻어진, 상기 공개 키는 다음 자신 ABCDEF 가정 난수, 비대칭 암호화하여 전송 난수 생성한다
. (3), B는 암호문의 복호화 이전 123456 다음 ABCDEF을주고, 랜덤 알고리즘 정렬 가정, 우리는 키에 의해 전송되는 암호화 된 데이터를 대칭 따라서 합성 키를 획득 123456ABCDEF가이고, B로 전송된다
. (4), B가 동일한 분류 알고리즘, 대칭 암호화 암호 의해 ㄱ 평문을 획득하기 위해 상기 데이터를 복호화 키를 통해 다음 패스.
이 방법의 장점은 모든 변경의 실제 키 데이터 전송, 양측이 실제 데이터가 여기에 대한 심층적 너무 많이 수행되지 않으며, 정렬 알고리즘 물론,이 알고리즘은 더 최적화 할 수 있음을 확인 명백하다 이해는, 대칭 암호화 효율이 부분은 비대칭 암호화 효율보다 훨씬 높은이지만, 비록 효율성의 관점에서,이 알고리즘은 실제로 더 당황 때문에 더 HTTP 요청의 중간, 그래서 전체하지만, 낮은 효율을보다 . 그것은 하나 개의 HTTP 요청 자원 조금 큰보다 더 걸리기 때문에이 암호화 방법을 사용하는 데이터의 매우 엄격한 비밀 미만에 적합, 일반적으로 권장되지 않습니다.

 

추천

출처www.cnblogs.com/whymoney1000/p/11221897.html