티스토리 뷰
gpg 암호화 및 복호화 (gpg encryption & decryption) - 파일 암호화 및 복호화
지난 포스팅에서는 외장 드라이브 및 자료 저장용 드라이브를 BitLocker를 이용하여 드라이브 전체를 암호화시키는 방법에 대해서 알아봤습니다. 이번에는 드라이브 전체 암호화가 아닌 파일 개별적인 암호화에 대해서 살펴보도록 하겠습니다.
hwp, xls, doc 파일과 같은 경우, 프로그램 자체에서 암호를 설정하여 보호할 수 있는 기능이 있습니다. 그러나 txt, php, jpg, cfg 등등의 파일은 암호를 설정할 수 없습니다.
그래서 serial no, recovery code 등을 txt 파일에 저장해두면 해당 파일이 외부로 유출되었을 때 내용이 고스란히 노출될 수 있습니다. 물론 zip로 압축을 하면서 압축 프로그램에서 제공하는 암호 기능을 사용하여 txt 파일에 저장된 내용을 보호할 수 있지만 gpg라는 무료 프로그램을 사용하면 txt 파일뿐만 아니라 php, cfg, 사진 파일, 동영상을 비롯하여 모든 파일을 암호화시켜 보호할 수 있습니다.
랜섬웨어의 경우 해커가 희생자의 파일을 허가 없이 암호화하여 희생자가 파일을 사용할 수 없게 되는데요, gpg는 사용자가 직접 생성한 public, secret key 및 비밀번호를 사용하여 원하는 파일을 암호화 & 복호화 하는 방법입니다.
gpg key 생성 (gpg --full-key-gen)
Windows 10(WSL2), Microsoft Store에서 설치한 Kali Linux 및 Ubuntu Linux에는 gpg가 기본으로 설치되어 있습니다.
GUI 환경에 익숙한 사용자의 경우 추가로 gpa 프로그램을 설치해 주시면 GUI 환경에서 gpg 암호화 및 복호화 기능을 사용할 수 있습니다. Kali GUI 설치법은 제 블로그에서 "Kali"로 검색하셔서 참고하시기 바랍니다.
sudo apt-get install gnupg2 gpa
gpg --full-gen-key
설치가 완료되었다면 gpg --help 명령어를 사용하여 설치된 gpg의 버전 및 명령어 사용법을 먼저 확인해 보세요.
암호화 및 복호화를 위해서는 가장 먼저 key pairs(public key 및 secret key)를 생성시켜 줘야 합니다.
명령어 gpg --full-gen-key 를 입력하고 key 생성을 시작합니다.
(1) RSA and RSA (default) 를 선택하시면 됩니다. Your selection? 에 1을 입력하고 Enter를 누릅니다.
1024 ~ 4096 bits 사이에서 RSA keys를 생성할 수 있는데요, 보안을 위해 4096 bits로 설정해 줍니다. 물론, 기본값을 사용하셔도 됩니다.
생성된 keys의 만료일을 설정해 주는 메뉴입니다.
0을 입력해서 만료일이 없도록 사용합니다. 주, 월, 년 단위로 만료되게 keys를 생성할 수 있습니다. 만료되면 다시 keys를 갱신시켜줘야 하니 이 부분은 잘 생각해 보시고 목적에 맞게 설정하세요.
Real name에 사용할 이름을(실명이 아니라도 됨), Email address에 암호화에 사용할 email 주소 입력하고 o 를 입력합니다.
gpg에서는 여러개의 keys를 등록시켜서 사용할 수 있습니다. 각각의 keys를 별도로 사용할 수 있기 때문에 이 Real name 또는 Email address를 사용하여 암호화나 복구화를 하게 됩니다.
비밀번호 설정 창에서 비밀번호를 입력합니다.
public key 및 secret key가 잘 생성되었습니다.
public key는 사용자가 암호화 한 E-mail이나 파일을 확인할 수 있도록 타인에게 제공할 수 있는 key입니다.
하지만 secret key는 타인에게 제공하지 말고 암호화를 시키는 본인만 가지고 있어야 할 key입니다.
public key 및 secret key 백업을 원하시면 gpa 프로그램을 사용하여 간편하게 백업할 수 있습니다.
물론 gpg --export 명령어를 사용해서 백업도 가능하지만 gpa(GUI 프로그램)이 더 간편합니다.
꼭 public key 및 secret key를 백업해두시고, 백업된 파일은 암호가 걸린 zip 파일로 생성하여 One drive - 개인 중요 보관소에 넣어두시면 좋습니다.(One drive 무료 사용자의 경우 파일 3개까지 개인 중요 보관소에 저장 가능)
gpg 파일 암호화하기 (gpg encryption)
wp-config.php 파일의 경우 mysql 비밀번호가 내부에 저장되기 때문에 외부에 노출되게 되면 mysql 아이디 및 비밀번호가 다 노출될 수 있습니다. 이런 파일에 gpg를 사용하여 암호화를 시켜주면 복호화 없이는 해당 내용을 확인할 수 없기 때문에 안전합니다.
암호화 명령어는 매우 간단합니다. gpg -e -r E-amil address [파일명]
형식으로 간단하게 암호화시킬 수 있습니다.
-e는 Encryption(암호화 옵션)
-r(Recipient) 로 gpg key를 생성할 때 설정해 준 E-mail address를 넣어주시면 됩니다.
cmd 명령어로 입력하는 방법이 어려우시면 gpa 명령어를 입력하여 GUI 환경에서 쉽게 암호화 & 복호화, key 관리, 백업 등을 할 수 있습니다.
gpa 프로그램을 실행시키고 "Key Manager"에서 사용할 Key를 선택합니다.
그리고 "Files" 메뉴를 선택합니다.
"Open" 메뉴를 선택하여 암호화시킬 파일을 불러옵니다. 1개 또는 여러 개 파일 동시에 암호화 가능함.
Encrypt 메뉴를 누릅니다.
Public keys를 선택하고, Sign, Armor를 체크하고 "OK"를 누릅니다.
비밀번호를 입력합니다.
자동으로 암호화된 파일이 생성됩니다.
gpg 복호화 하기 (gpg decryption)
복호화 하기 위해서는 옵션 -d를 사용하시면 됩니다. 단순히 암호화된 txt 파일의 내용을 확인만 하려면 -d 옵션만 넣어서 복호화 하시면 결과가 바로 화면에 출력되게 됩니다.
하지만 복호화하고 복호화 된 파일로 생성을 하려면 -d 옵션 뒤에 -o 또는 --output 저장할 파일명을 사용하여 출력될 파일 이름을 설정해 주시면 됩니다. 명령어 가장 마지막 부분에 암호화된 파일명을 입력해 줍니다.
암호 입력창이 뜨면 비밀번호를 입력해서 복호화를 완료합니다.
CLI 환경이 불편하시면 역시 gpa 프로그램(GUI 프로그램)에서 복호화 하시면 됩니다.
먼저 Key Manager에서 복호화에 사용할 Key를 선택합니다.
"Files" 메뉴를 선택하고 복호화할 파일을 open 합니다.
Decrypt 메뉴를 눌러서 복호화합니다.
Microsoft office 구독 요금이 비싸다 보니 저는 google office, naver office 프로그램을 주로 사용합니다. 암호화가 필요할 때 gpg를 사용해서 간단히 암호화를 시켜버리면 유료 프로그램 없이도 파일에 저장된 내용을 보호할 수 있습니다.
google office(google docs, google spreadsheet) 등도 비밀번호 관련 extension을 설치해서 비밀번호를 설정할 수 있다고 하지만, 개인적으로 컴퓨터에 여러 프로그램이나 extension 설치를 극도로 싫어하기 때문에 gpg를 사용합니다.
'Computer' 카테고리의 다른 글
한글문서 ODT 변환(HWP TO ODT) - LibreOffice에서 HWP 확인 방법 (2) | 2022.02.24 |
---|---|
피싱 링크의 위험성 및 피싱 링크 클릭 대응 방법 (0) | 2022.02.22 |
Surfshark VPN [가성비 VPN 추천] (3) | 2022.02.20 |
삼성노트북 카메라 및 마이크 활성화 [녹화/녹음 방지기능] (0) | 2022.02.18 |
브리지 VS NAT, HOST-ONLY 네트워크 어댑터 차이점(Briged VS NAT, Host-Only) (6) | 2022.02.10 |
BitLocker 사용법 (총정리) (5) | 2022.02.06 |
blogattach.naver.com 은 뭐지? (blogattach.naver.net) (0) | 2022.01.21 |
모르는 해외 결제 문자 - 스미싱 주의 (1) | 2022.01.12 |
- Windows defender application guard
- 폴더 암호화
- netstat 사용법
- 1일1식
- KEX Error
- Markdown Editor
- PDF 가리기
- Windows Pro 암호화
- pdf 비밀번호 설정
- 티스토리챌린지
- certutil
- 무료 오피스 프로그램
- 김해맛집
- 다이어트
- ftp server
- 간헐적단식
- 장유맛집
- 전라북도 맛집
- cloudflare dns
- FREE OFFICE SOFTWARE
- iA Writer
- Set Password for PDF
- 고추농사
- FTP SERVER PORT FORWARDING
- 무료 동기화 프로그램
- 무료 데이터 복구
- PDF 문서 만들기
- Kali Linux 활용법
- IP 추적 프로그램
- 오블완
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |