본문 바로가기

Programming/VBA(Excel, Powerpoint)

비밀번호에 의해 보호된 엑셀 파일 보호 해제 방법(Excel 97 - 2016)

반응형

엑셀 파일을 저장할 때 비밀번호를 지정하면, 비밀번호를 암호화 키로해서 파일 전체가 암호화된다.

 

  • 열기 암호: 파일 전체가 암호화된다.
  • 쓰기 암호: 파일을 수정 후 저장하려고 할 때 인증용으로 사용

암호를 지정하는 방법은 : "다른 이름으로 저장 - 도구 - 일반 옵션"에서 사용할 암호를 입력 후 "확인"클릭

 


스펙상으로, 파일 암호화에 사용될 수 있는 방법은 4가지. (출처: MS사의 MS-OFFCRYPTO 문서)

  • XOR
  • RC4
  • CAPI or CryptoAPI
  • ECMA-376

 


실제 엑셀 버전별 사용된 암호화 알고리즘은,

  • Excel 97 - 2003: RC4 사용
    • RC4 알고리즘 자체의 취약성으로, password를 모르고도 Decryption 가능 (참조)
  • Excel 2007 - 2013: AES-128 사용
    • 이론적으로는, 무작위 대입 공격으로는 깨기 힘듦
    • 그러나, 여러 허점이 있어서, password를 몰라도 쉽게 암호화된 파일을 열 수 있음
      • password가 저장된 부분을 삭제해서 깨는 방법: 해당 방법 설명한 웹 페이지
      • password가 실제는 2바이트 hash값으로 저장되어 있는(너무 작은 사이즈) 허점 이용해서, hash 값 유추해서 깨는 방법(Excel 2007, Excel 2010만 가능.  Excel 2013부터는 hash값이 커져서 이 방법으로는 깰 수 없음): 설명된 페이지 
  •  Excel 2016 - Excel 2019: AES-256 사용
    • Excel 2016의 경우, 위의 Excel 2007-2013 까지에서의 password 저장된 부분을 삭제하는 방법 이용해서 암호화 깰 수 있음 
    • Excel 2019부터는 zip 패키지 자체가 암호화되기에, 아직까지는 쉽게 깨는 방법이 없는 것 같다. GPU를 이용해서 Brute-Force로 패스워드를 유추하는 방법 밖에.

-끝-

반응형