해시 (변조 및 손상 감지) 및 선택적으로 사용자 키로 암호화 된 파일을 읽고 쓰는 응용 프로그램이 있다고 가정 해보십시오. 응용 프로그램에는 필연적으로 데이터를 해시하고, 암호화하고 해독하는 컴파일 된 코드가 포함됩니다.암호화 및 암호 해독을 구현하는 응용 프로그램에 액세스하는 것이 더 쉽게 할 수 있습니까?
AES-256 및 SHA-256과 같이 엄격한 알고리즘을 사용한다고 가정하면 사용자가 컴파일 된 형식으로 응용 프로그램을 사용한다는 사실을 알 수 있습니다 (일부 알고리즘을 사용하면 알고리즘이 제대로 작동하지 않을 수 있습니다). 암호화를 해독하거나 가짜 해시를 생성하는 것이 더 쉽습니다.
사실 심각한 취약점 인 경우 취약성을 완화하기 위해 어떤 조치를 제안합니까?
"컴파일 된 코드 해시"란 무엇을 의미합니까? 코드를 해시로 컴파일하지는 않지만 컴파일 된 코드에서 md5sum 해시를 만드는 것과 같은 작업을 수행 할 수 있습니다. 이게 네가 말하는거야? 아, "컴파일 된 형태의 응용 프로그램"이란 무엇입니까? 암호화 된 양식을 의미합니까? – Eric
사용자 장치에서 실행되는 모든 코드를 리엔지니어링 할 수 있습니다. 그렇지 않으면 maschine이 해당 코드를 실행할 수 없습니다. 그러나 크래킹을 가능한 한 어렵게 만들 수는 있지만 충분한 노력으로 모든 것을 해독 할 수 있습니다. – MorbZ
죄송합니다. @Eric 님, 번역을 잃었습니다. 나는 "데이터의 해시를 계산하고 데이터를 암호화하고 해독하는 데 필요한 컴파일 된 코드를 응용 프로그램에 포함시켜야합니다." 아니요, 응용 프로그램을 암호화하려고하지 않았습니다. "컴파일 된 양식의 응용 프로그램"은 응용 프로그램 EXE 및 DLL 파일이 사용자 컴퓨터에 설치된 것을 의미합니다. – rossmcm