조회 수 4192 추천 수 0 댓글 0
Atachment
첨부 '6'
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

모바일 앱을 개발하다 보면 보안상 취약성을 발견할 수 있다. 앱에서 사용되는 환경 파일, 중요한 데이터의 기록 파일이나 DB 파일들이 노출되고 있다. iExplorer와 같은 프로그램을 사용하면 앱 내부에 있는 파일들을 자유롭게 PC로 복사해서 변경 후 다시 iPhone에 복사할 수 있다. 이런 보안상 취약점을 보강하기 위해서는 중요 데이터는 암호화하고 사용시 복호화 하도록 구현해야 한다.

 

데이터를 저장할 때 암호화하여 저장하면 외부에서 접근이 가능하더라도 데이터의 접근에 제한을 둘 수 있다. 물론, 암호화 알고리즘 자체도 해킹될 수 있지만 단기간 될 수 있는 것은 아니며 평문으로 저장되는 것보다는 보안을 높일 수 있다.

 

MD5나 SHA와 같이 해시 알고리즘을 통해서 간단히 데이터를 비교할 수도 있지만 해시 함수는 특성상 복호화 할 수 없는 단방향 암호이기 때문에 우리는 양방향 암호화를 위해서 AES 등 쌍방향 암호화 방법을 사용하는 것이 좋다.

AES(Advanced Encrtption Standard)는 미국 정부에서 표준으로 지정된 블록 암호 방식이다. 이 전에는 DES 대칭키 암호를 사용했지만 DES의 56bit 암호 비트가 현재 컴퓨팅 능력에 비해서 적고 여러 취약점이 발견되어 존 데이먼과 빈센트 라이먼(Rijndael)에 의해서 개발되었다. AES는 128bit를 가지고 있고, 128bit 이상의 32배수 길이의 키를 사용할 수 있다.

 

Objective-C에서 AES256 암호화, 복호화에 대한 코드를 검색하면 많은 자료들이 검색될 것이다. 하지만, 암호 방식이 공개된 것일 뿐 암호화 키가 없이 암호화 방식만 가지고 복호화 하는 것은 어렵기 때문에 공개된 소스코드를 가지고 암호화 메소드를 구현할 수 있다.

 

1. 프로젝트 설정

- 샘플 싱글뷰 프로젝트 생성

- Security.framework 프로젝트에 포함

- #import <CommonCrypto/CommonCryptor.h> 헤더 포함

aes_01.png

 

2. encryptByAES256WithKey:data: 메소드 작성

aes_02.png

 

3. decryptByAES256WithKey:data: 메소드 작성

aes_03.png

 

4. 결과 화면

aes_04.png

 

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
201 Develop [c++] 현승이가 준 P2P 프로그램 소스 ㅋㅋ file hooni 2013.04.23 12105
200 Develop [c++] 기초강좌 #03(함수의 매개변수 전달) hooni 2003.04.23 12138
199 Develop [ios] GCD 변수 사용 예제 hooni 2013.10.01 12152
198 Develop 참고하고 지울 자료.. 집에서 바야지.. ㅋㅋ file hooni 2013.04.23 12177
197 Develop [c] 문자열 자르는 함수(strtok) 예제 hooni 2013.04.23 12209
196 Develop SVN 명령어 (SVN command) hooni 2014.02.28 12223
195 Develop [php] 하루 전 날짜 쉽게 구하기. hooni 2013.12.25 12311
194 Develop [c++] 자료구조(링크리스트,스택,큐)와 후위 표기 계산기 샘플 ㅋㅋ 4 file hooni 2013.04.23 12356
193 Develop [ios] 네트워크 인디케이터(NetworkActivityIndicator) 작동 file hooni 2014.01.24 12523
192 Develop [php] php5.3부터는 eregi()대신 preg_match()를 사용 hooni 2013.11.18 12529
191 Develop [c] flooding 알고리즘 미로 찾기(도스용) 소스코드 9 file hooni 2003.04.23 12589
190 Develop [api] 인스타그램에서 최신 이미지 가져오기 (Using Instagram API) 20 file hooni 2018.04.05 12646
189 Develop [c++] Win32 API 기본 출력인 MessageBox() 함수 사용 예제.. file hooni 2013.04.23 12710
188 Develop [html] HTML5 튜토리얼 링크 ㅋㅋ hooni 2013.04.23 12826
187 Develop [doc] UI개발시 유용한 소프트웨어 (개발 및 디버깅 툴) hooni 2013.04.23 12935
186 Develop [c] 다중연결 서버 만들기 #1 - fork() 사용 file hooni 2013.04.23 12948
Board Pagination Prev 1 ... 39 40 41 42 43 ... 53 Next
/ 53