PKPM 소프트웨어 암호화 개에 대한 질문/! ! ! !
1, 소프트웨어 개를 이해합니다. [먼저 소프트웨어 개를 간략하게 소개한 다음 다양한 소프트웨어 개들의 암호화 및 암호 해독에 대해 자세히 설명하겠습니다. ] 을 참조하십시오
암호화 개는 호스트 검사 프로그램과 키 (암호화 상자라고도 함) 를 포함하여 마이크로컴퓨터의 병렬 포트에 꽂힌 소프트웨어 보호 장치입니다. 호스트 검사기는 위에서 언급한 암호화 코드의 일부이며 암호화 상자는 암호를 저장하는 데 사용됩니다. 일반적으로 병렬 포트에 꽂힌 소프트웨어 개는 프린터의 정상적인 작동에 영향을 주지 않습니다. 2 개의 D 행 25 핀 커넥터, 1 공 1 모, 반접, 공용 커넥터 (DB25/M) 가 병렬 포트에 삽입되고, 암 커넥터 (DB25/F) 가 프린터를 연결할 수 있는 것과 같은 일반적인 암호화 상자의 모양입니다. 원래 병렬 포트와 같습니다. 소프트웨어 개 전체의 하드웨어 회로 기판은 이 5cm 정도 되는 암호화 상자 안에 있습니다.
회로 기판에 있는 공용 터미널 (DB25/F) 사이의 핀은 일대일 대응으로 직접 연결되어 병렬 포트 기능이 변경되지 않도록 합니다. 암호 또는 신호 암호화 및 변환을 저장하는 장치 및 기타 보조 부품은 이 25 개 회선을 통해 연결되며 애플리케이션은 특정 방식으로 통신하고 검사합니다. 디자인이 좋지 않은 경우를 제외하고는 프린터의 정상적인 작동에는 영향을 주지 않으며, 프린터가 작동할 때도 영향을 주지 않습니다.
프로그램이 불법으로 복제되는 것을 막기 위해 암호화 보호 조치는 일반적으로 두 부분으로 구성되어 있다. 첫째, 암호 데이터를 저장하는 전달자, 즉 키가 있어야 합니다. 둘째, 호스트 검사기, 즉 암호화 코드가 애플리케이션에 섞여 있습니다. 키는 암호 해독과 복제가 쉽지 않다는 것을 보증해야 한다. 예를 들어 암호화는 일반적으로 디스크로 할 때 암호화된 부분은 일반 도구로 복제할 수 없습니다. 또한 검사기가 특별한 방식으로 비밀번호를 읽을 때 애플리케이션의 정상적인 실행에 영향을 주지 않고 비밀번호를 쉽게 읽어야 합니다. 비밀번호가 잘못되었거나 키가 존재하지 않으면 호스트가 일시 중지, 재시작 또는 수동 조치를 취합니다.
소프트웨어 개 "시간"
소프트웨어 강아지의 발전은 몇 세대를 거쳐 200 1 연초에 4 세대로 발전했다.
1 세대는 메모리 기반 암호화 잠금입니다. 이것은 가장 오래된 암호화 자물쇠로, 안에는 메모리만 있고, 제조업자는 읽기/쓰기 잠금만 할 수 있다. 소프트웨어 개는 약간의 저항, 다이오드 등만 사용한다. 가장 많고, 검사 방법이 비교적 간단해서, 쉽게 해독된다. 흔히 볼 수 있는 것은 김천지의' 소프트웨어개', 로크를 깊이 생각하는 키프로 모델, 무지개 Cplus 등이다. 이 잠금의 주요 특징은 공급업체가 미리 자신의 기밀 데이터를 잠금에 설정한 다음 소프트웨어가 실행되는 동안 무작위로 읽을 수 있다는 것입니다. 이를 통해 해독기는 단순 반복 및 포트 데이터를 통해 해독할 수 없지만 해독기는 데이터 법칙을 더 자세히 분석하여 해결할 수 있습니다. 즉, 흔히 "입" 계층 데이터 분석이라고 합니다. 이 암호화 잠금의 원리는 매우 간단하며, 탈락하고 있는 제품이지만, 원자재 비용은 매우 낮고, 가격이 매우 낮더라도 이윤이 좋으며, 암호화 업체들은 일반적으로 이런 자물쇠를 포기하려 하지 않는다. 하지만 많은 제조업체들이 비용 때문에 채택해야 했기 때문에 이 자물쇠는 여전히 시장 점유율이 어느 정도 있다. (윌리엄 셰익스피어, 윈스턴, 원가, 원가, 원가, 원가, 원가, 원가)
2 세대는 알고리즘이 공개하지 않는 암호화 잠금이다. 하드웨어에 단일 칩 마이크로 컴퓨터, 즉 내장 CPU 가 추가되어 제조업체는 주로 알고리즘 기능을 사용하여 암호화합니다. 암호화 잠금은 일반적으로 카운트다운, 원격 업그레이드 등과 같은 보조 기능을 추가합니다. 암호화 개는 저전력 TTL, COMS 및 기타 논리 구성 요소를 사용하며 회로에서 일부 암호화 작업을 수행합니다. 검사를 할 때도 1 세대 암호화 개보다 절차가 더 많아 암호 해독의 난이도가 자연스럽게 높아졌다. 흔히 로크를 깊이 생각하는' 깊은 사고 I', 무지개 세계의 SuperPro 와 Micro Dog, 알라딘의 MemoHASP 등이 있다. 단일 칩 마이크로 컴퓨터를 사용하면 소프트웨어와 잠금 사이의 데이터 통신이 기밀 유지 프로토콜을 설정하고 데이터가 암호화되며 해독기가 데이터 내용과 규칙을 분석하기가 어렵습니다. 따라서 이 잠금의 데이터 분석은' 포트' 계층에 머물지 않고 해독기가' 함수' 계층, 즉 분석 소프트웨어의 함수 호출로 바뀌었다. 기능 계층의 데이터 분석에 저항하기 위해 이 잠금에는' 소프트' 와' 소프트' 가 모두 적용되는 전략이 있다.
"소프트" 는 구동 중인 역추적, 셸 암호화 등의 소프트웨어 작업으로, 해독기가 기능 계층에서 시뮬레이션하기가 어렵다는 것을 의미합니다. 모든 사람은 운영 체제와 마이크로컴퓨터 시스템에 대한 정확한 이해에 의존한다. 누구도 이길 수 없다. 그 결과 암호화 드라이버가 지속적으로 업데이트되고 확장되었다.
"하드" 는 암호화 잠금 장치의 알고리즘 기능으로 암호 해독의 난이도를 크게 높였으며, 암호화 장치의 손에 있는 도구이다. 암호화기는 알고리즘의 매개 변수, 즉 얼마나 많은 알고리즘이 포함되어 있는지, 알고리즘의 내용은 알 수 없습니다. 이로 인해 공급업체의 알고리즘 사용이 제한되거나 알고리즘 결과를 미리 기록한 다음 소프트웨어가 실행되는 동안 (코드 테이블 사용) 검사를 수행할 수 있습니다. 또는 소프트웨어에서 적어도 두 번 변환하여 결과를 비교하십시오. 해독기가 이 데이터를 가로채면 통계 분석을 통해 암호 해독 목적을 달성할 수 있습니다.
3 세대 암호화 잠금 장치, 소위 "프로그래밍 가능한" 암호화 잠금 장치. 1999 년 초 베이징 신슬로크를 대표해 3 세대 암호화 잠금을 출시했고,' 프로그래밍 가능한' 암호화 잠금 개념의 도입은 소프트웨어 암호화 기술의 발전이었다. "프로그래밍 가능한" 암호화 잠금은 사용자가 소프트웨어의 중요한 코드나 모듈을 암호화 보호 장치로 "마이그레이션" 하여 소프트웨어와 암호화 잠금을 실제로 원활하게 연결할 수 있도록 설계되었습니다. 그러나 비용 제한으로 인해 초기 "프로그래밍 가능한" 암호화 잠금에서 사용 된 저급 마이크로 컨트롤러 중 일부는 프로그래밍 가능성에 큰 제약을 가했습니다. 주로 1, 알고리즘 변환의 복잡성이 높지 않습니다. 2, 명령어 코딩 공간이 작고 3, 프로그램 영역 공간이 작습니다. 이러한 제한으로 인해 사용자는 "프로그래밍 가능한" 암호화 잠금을 사용하여 이상적인 고강도 암호화 체계를 실현할 수 없습니다. 소프트웨어 개는 PAL (프로그램 가능 어레이 논리), PEEL (프로그램 가능 전기 지울 수 있는 논리 장치), GAL (범용 어레이 논리) 등의 프로그램 가능 장치를 사용하지만, 현재 유행하는 시기는 직렬 전기 지울 수 있는 prom 이다. 이러한 장치는 암호 컴파일의 유연성과 키를 만든 후 프로그램에 삽입하고 체크 인할 수 있는 편리함 때문에 암호 해독이 크게 어려워졌습니다. 사용 관점에서 볼 때, PAL, PEEL, GAL 등의 논리 장치는 데이터만 읽을 수 있고, 언제든지 데이터를 쓸 수 없고, 비밀번호를 재설정하는 것은 번거로울 수 있다. EEPROM 칩은 자유롭게 읽고 쓸 수 있기 때문에 소프트웨어 개에 사용할 수 있는 유연성이 매우 크다. 예를 들어, 각 소프트웨어 개에 암호를 설정하여 암호 해독의 어려움을 증가시킬 수 있습니다. 또한 EEPROM 장치의 전기적 성능으로도 소프트웨어 개가 되기에 매우 적합합니다. 따라서이 장치는 소프트웨어 개 디자인에 널리 사용되었으며 당시 소프트웨어 개 제조업체의 선호 칩이었습니다. 일반 RAM 메모리처럼 읽고 쓸 수 있으며 (읽기와 쓰기는 직렬), 전원이 꺼져도 데이터를 그대로 유지할 수 있습니다. 일반적으로 사용되는 EEPROM 모델은 93C46 이며 구조는 64× 16 비트입니다. 즉, 93C46 의 용량은 64 16 비트이고 처리당 데이터는 16 비트입니다 Microchip, ATMEL, CSi 등의 브랜드인 93C46 과 같은 일부 93C46 은 128×8bit 또는 64× 16bit 모드로 전환하여 부드러움을 만들 수 있습니다 물론 더 큰 용량의 93C56, 93C66 등 EEPROM 칩이나 더 작은 용량의 93C06, 93C26 을 사용하는 사람도 있다. 암호화 개는 마이크로컴퓨터의 병렬 포트에 꽂혀 있기 때문에 확인 프로그램은 병렬 포트의 I/O 주소를 통해 EEPROM 을 읽고 씁니다. 특정 읽기 및 쓰기 방법은 하드웨어 회로 및 EEPROM 의 타이밍과 관련이 있으므로 일반적인 검사 절차는 하드웨어 회로에 대한 것입니다. 그러나 이 절차들은 대체로 같다.
4 세대 소프트웨어는 3 세대 소프트웨어 개를 바탕으로 PIC 16C5X 와 같은 단일 칩 하나면 충분합니다. 이 칩에는 읽은 키 데이터를 암호화하고 변환하여 논리 분석기에 대항할 수 있는 특수 알고리즘 프로그램이 있습니다. 소프트웨어 개는 이미 4 세대로 발전하여 매우 성숙했다고 할 수 있다. 이 기술에서 소프트웨어 개 개발회사는 자신의 회로 설계에 가입하여 자신의 제품 특색을 형성했다.
평소 흔히 볼 수 있는 개는 주로' 양개' (외국 개) 와' 토개' (집개) 이다. 이곳의' 양개' 는 주로 미국 무지개와 이스라엘 HASP 를 가리키며,' 토개' 는 주로 금천지 (현재 미국 무지개합자, 무지개 천지라고 함), 신사, 건세를 포함한다. 일반적으로' 서양개' 는 소프트웨어 인터페이스, 껍데기, 추적 방면에서' 토개' 만큼 좋지는 않지만, 하드웨어 측면에서는 절대' pj' (pj 가 어렵다고 말해야 함) 가 불가능하다. 그리고' 토개' 는 소프트웨어 방면에서 확실히 세계 1 위이고, 소음, 소음과 같은 많은 기술이다.
오늘날 개들의 기술은 빠르게 발전하고 있으며, 애플리케이션마다 다른 유형이 있습니다. 예를 들면 다음과 같습니다.
강한 개: 자유 정의 알고리즘을 이용한 고강도 암호화 기법
마이크로 개: 마이크로 컨트롤러 환경에서의 고강도 암호화 기법
USB 개: USB 커넥터가 있는 마이크로 도그 완전 호환 제품입니다.
소프트웨어 개: 독립 실행형 환경을위한 저비용 암호화 체계
네트워크 개: 네트워크 환경 암호화 체계
카드 개: 네트워크 환경에서의 암호화 체계
소프트웨어 개는 다양한 암호화 기술을 사용합니다. 현재보다 진보 된 암호화 기술은 다음과 같습니다.
AS 기술: API 함수 호출은 셸 암호화와 결합되어 셸이 손상되어도 암호화 프로그램이 제대로 작동하지 않습니다.
역추적:
A. 데이터 교환 임의 소음 기술: 논리 분석기 분석 및 다양한 디버깅 도구의 공격에 효과적으로 저항합니다.
B 미로 기술: 프로그램 입구와 출구 사이에 대량의 판단 점프 간섭을 포함하고, 실행 순서를 동적으로 변경하고, 개의 역추적 능력을 높인다.
반대 * * 즐거움: 병렬 * * 즐길 수 있는 장치는 하드웨어 보이콧을 할 수 있고, 개발자는 개를 즐길 것인지 여부를 선택할 수 있다.
암호: 소프트웨어 개발자는 32 비트 암호를 설정할 수 있습니다. 비밀번호가 잘못되면 저장소 영역을 읽거나 쓸 수 없습니다.
시간문: 일부 개 내부에는 시간문이 있어 각종 작업은 정해진 시간 내에 완성해야 합니다. 개가 정상적으로 작동하는 데는 시간이 오래 걸리지만 추적하는 데는 시간이 오래 걸린다. 정해진 시간이 지나면 개는 잘못된 결과를 반환합니다.
단일 칩 마이크로 컴퓨터: 하드웨어 내장 단일 칩 마이크로 컴퓨터, 경화 된 단일 칩 마이크로 컴퓨터 소프트웨어는 개가 복제 할 수 없도록 외부에서 읽을 수 없도록 보장합니다.
메모리: 개발자에게 중요한 데이터, 구성 매개변수 등의 정보를 저장하기 위한 20 바이트 정전 유지 메모리를 제공합니다.
시장에서 몇 가지 일반적인 소프트웨어 개 소개
무지개 천지: 국내에서는 맏이로 간주되어야 하는데, 1 세대부터 4 세대까지 제품이 있지만, 그 주력 제품은 3 세대 미개 (TD-MH) 로 간섭 칩이 있어 언제든지 쓸데없는 간섭 신호를 생성할 수 있고, 더 효과적인 대항논리분석기입니다. 4 세대 강개 (CS-QA) 가 있지만 문제가 많은 것 같아서 USB 인터페이스 암호화 잠금장치는 미견과 호환됩니다. 무지개 천지의 암호화 강도가 높지 않다. 가장 간단한 pj 방법은 개 한 마리를 마음대로 사서 개 안에 복사하면 해결할 수 있다.
사념록: 유명한 곳이기도 합니다. 200 1 초까지 주요 제품은 4 세대 심사고 ⅲ 암호화 개입니다. 그 특징은 사용자가 개 안에 자신의 알고리즘을 정의할 수 있어 보호 능력을 크게 향상시킬 수 있다는 것이다. 그러나 CPU 기능이 충분히 강하지 않고, 알고리즘에 구멍이 있으며, 하나의 암호화 방법만 제공하므로 해독할 수도 있고 하드웨어를 통해 원래 개를 복제할 수도 있다. 이러한 개 암호화 제품에는 Pkpm 구조 계산 소프트웨어, 분석가 주식 소프트웨어, square CAD 소프트웨어 등이 있습니다.
ⅲ n 차 블랙 박스 모델 방법에 대한 고찰:
Shensi II 의 N 차 블랙 박스 모델 방법은 단순한 메모리가 아니라 Shensi II 의 독특한 완전 프로그래밍 가능성을 통해 Shensi II 잠금 장치가 입력 및 출력에 높은 수준의 블랙 박스 제어 모델의 특성을 보여줍니다. 호출 코드가 실행될 때마다 잠금의 저장은 작업 변수 및 매개 변수로 사용되어 잠금 상태를 변경하면 후속 호출에 영향을 줍니다. 사용자 정의 코드에는 사양 및 특성이 없으며 동일한 코드에 대한 두 번의 호출도 서로 다른 유용한 결과를 반환합니다. 이것이' 심도 깊은 사고 III' 의 독특함이다.
위의 암호화 예제는 이식을 위해 복잡하고 예측할 수 없는 함수 관계를 찾기 위해 암호화 장치가 필요하지 않습니다.
0 차 블랙 박스 모델을 사용하는 경우 입력과 출력은 직접 대응 y=f(x 1, x2) 입니다. 여기서 x 1, x2 는 현재 입력이고 y 는 현재 출력입니다. 이때 함수 관계가 비교적 간단하다면 해밀기에 의해 쉽게 해독될 수 있다. 예를 들면 반복법, 보간법, 목록법 등이다. 이로 인해 암호화 장치가 암호 해독과 시뮬레이션을 방지하기 위해 복잡한 기능을 찾도록 강요합니다. 그러나 잠금안의 자원이 제한되어 있어 소프트웨어 이식은 거의 불가능하다. 이제 n 차 블랙박스 모델이 채택되어 입력 출력의 대응 관계가 복잡해졌습니다. yn = f (yn- 1, yn-2, yn-3, ..., y 1,; ...
이렇게 복잡한 관계에 직면하여 해독기는 중간 호출을 간단히 취소할 뿐, 이후 결과에 오류가 발생할 수 있습니다. 간단한 함수 관계라도 이런 고차원적인 블랙박스 과정에 의해 숨겨질 수 있어 추측하기 어렵다. 이렇게 하면 고급 블랙 박스 모델 방법을 사용하여 응용 프로그램에서 암호화 개체로 사용할 수 있는 공식이나 함수를 쉽게 찾을 수 있습니다.
N 차 블랙박스 모델 방법을 사용하는 동안에도 코드 테이블 방법을 사용할 수 있습니다 (예: 예제의 첫 번째 호출).
그러나 이 코드 테이블 방법의 다른 암호화 포인트는 상호 연관되어 있으며 전체 암호 해독을 통해 암호화 강도를 크게 높여야 합니다. 기존의 0 차 블랙박스 모델을 사용할 때 서로 다른 암호화 지점이 서로 연결되지 않고, 한 번에 하나씩 해독만 하면 복잡성은 N 차 블랙박스 모델과 비교할 수 없습니다. 복잡한 함수의 경우 잠금에 리소스가 충분하지 않지만 N 차 모델의 방법으로 암호화할 수 있습니다. 복잡한 함수를 y=(a-b)*(a+b)+c 와 같은 간단한 함수의 연산 조합으로 바꿀 수 있습니다. 먼저 (A-B) 와 (a+b) 를 계산한 다음 결과를 곱한 다음 c 를 추가할 수 있습니다.
엄밀히 말하면, N 차 모델은 해결할 수 없습니다 (현재는 이론적일 뿐입니다. 이 점을 기억하십시오). N 번째 출력은 이전 n- 1 개의 입력과 출력에 종속되고 이전 n- 1 개의 출력은 부분적으로 또는 완전히 숨겨져 있을 수 있기 때문입니다.
신 4 II 에는 N 차 또는 임의 순서의 블랙박스 모델을 프로그래밍하여 구현할 수 있는 완전한 명령어 시스템이 있으며, 각 호출은 상호 연관되어 있으며 중간 결과는 절대 숨길 수 있습니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 성공명언) 제대로 사용한다면, 이론적으로는 풀 수 없다. (나의 이론은 풀 수 없는 것이 아니다.)