본문 바로가기
반응형

Development/Security15

[Security] X.509 인증서에 대하여 이번 포스팅은 x.509 인증서에 대하여 알아보도록 하겠습니다. 1. X.509 인증서 정의 CA가 인증서를 발급할 때, 인증서에 들어가는 항목의 종류와 항목의 값들을 CA 나름대로 기입한다면 인증서를 사용하는 사용자마다 다른 형식의 인증서를 가지고 있을 것이기 때문에 인증서의 내용을 이해하는데 문제가 있을 것입니다. 따라서 인증서를 작성함에 있어서 어떤 표준이 있어야 합니다. 현재 가장 널리 사용되고 있는 공개키 인증서의 표준은 X.509 형식 입니다. X.509라는 것은 표준 번호입니다. 그래서 이 형식대로 작성된 인증서를 X.509 라고 부르는 것입니다. X.509 인증서란 이름은 1988년에 CCITT에서 발행된 문서로부터 처음 알려지게 되었습니다. 현재 X.509 인증서는 버전 3까지 발표된 상.. 2019. 9. 2.
[Security] 대칭키 암호화 Padding 과 Mode 이번 포스팅은 대칭키 암호화에 대하여 좀 더 알아보도록 하겠습니다. 1. 패딩 (Padding) 패딩에 대하여 알아보기에 앞서 PKCS#5과 PKCS#7은 패딩(Padding)에 관련된 표준이라는 사실을 알아두고 시작하는 것이 좋습니다. "Padding"은 데이터를 특정 크기로 맞추기 위해 그 크기보다 부족한 부분을 뭔가로 채워넣는 작업을 가리키는 일반 용어입니다. PKCS#5는 Password 기반 암호화 표준(Password-based Encryption Standard)라고 명명되어 있고, 현대 공인인증 방식은 이 PKCS#5 표준에 따라 개인 Password를 그 근간으로 하고 있습니다. 즉, Password로 표현할 수 있는 Key를 사용하는 암호화 표준이라는 것입니다. Password란 우리가.. 2019. 8. 29.
[Security] Android KeyChain을 사용하여 대칭 키를 안전하게 저장 이번 포스팅은 Android KeyChain을 사용하여 대칭키를 안전하게 저장하는 방법에 대하여 알아보도록 하겠습니다. Android KeyChain API를 사용하여 대칭 키를 저장하는 안전한 방법은 다음과 같습니다. Part 1. Key 생성 및 저장 1. 대칭키를 생성합니다.2. Android Keystore에서 비대칭키를 생성합니다.3. 2번에서 생성한 비대칭키의 공개키(Public Key)를 사용하여 대칭키를 암호화합니다. encrypted_symmetric_key = public_encrypt (symmetric_key) 4. 앱 내에 암호화된 대칭키를 저장합니다. Part.2 대칭키를 사용 원문을 암복호화할 경우에 사용합니다. 1. Android KeyStore에서 비 대칭키의 개인키(Pri.. 2019. 8. 29.
[Security] 대칭키 암호화 이번 포스팅은 대칭키 암호화에 대하여 알아보도록 하겠습니다. 대칭키 암호 대칭키 암호(Symmetric key)란 암호문을 생성(암호화)할 때와 암호문으로부터 평문을 복원할 때 사용하는 키가 동일한 암호 시스템으로 일반적으로 알고 있는 암호 시스템입니다. 대칭키는 송신자와 수신자가 같은 키를 보유하고 그 키를 통해 송신자가 평문을 암호화해서 전송하면 수신자가 같은 키로 복호화합니다. 이러한 대칭키 암호 방식은 데이터를 변환하는 방법에 따라서 Block 암호와 Stream 암호로 구별합니다. 대칭키의 장점과 단점 장점 ▶ 키 크기가 상대적으로 작습니다. ▶ 암호 알고리즘 내부 구조가 단순하여, 시스템개발 환경에 유리합니다. ▶ 비대칭키에 비해 암호화와 복호화 속도가 빠릅니다. 단점 ▶ 교환 당사자간에 동일.. 2019. 8. 29.
[Security] PKCS 정의 이번 포스팅은 PKCS(Public Key Cryptography Standards)에 대하여 알아보도록 하겠습니다. 암호학에서 PKCS는  "공개 키 암호화 표준"을 의미합니다. 1990년대 초반부터 RSA Security LLC에서 고안하고 발표한 공개 키 암호화 표준  그룹입니다. 이 회사는  RSA 알고리즘  , Schnorr 서명 알고리즘 등 특허권이 있는 암호화 기술의 사용을 촉진하기 위한 표준을 발표하였습니다. 업계 표준은 아니지만, 최근 몇 년 동안 IETF 및 PKIX 실무 그룹과 같은 관련 표준 조직의 "표준 추적" 프로세스에 일부 표준이 적용되기 시작했습니다. PKCS 표준 요약 VersionNameCommentPKCS#12.2RSA 암호화 표준RFC 8017을참조하십시오. RSA .. 2019. 8. 29.
[Security] 중요한(민감한) 데이터 Access permission 이번 포스팅은 중요한(민감한) 데이터를 어떻게 Android 내에서 접근을 통제하고 요구 사항을 확인하는지 알아보도록 하겠습니다. 중요한(민감한) 데이터 Access permission 권한의 목적은 Android 사용자의 Privacy를 보호하는 것입니다. Android 앱은 특정 시스템 기능(예: 카메라, 인터넷 등)뿐만 아니라 민감한 사용자 데이터(예: 연락처, SMS 등)에 접근할 수있는 권한을 요청해야 합니다. 기능에 따라 시스템이 자동으로 권한을 부여하거나 사용자에게 요청을 승인하도록 요청 할 수 있습니다.Android 보안 아키텍처의 핵심 설계 포인트는 기본적으로 어떤 앱도 다른 앱, 운영 체제 또는 사용자에게 부정적인 영향을 미칠 수 있는 작업을 수행할 수 있는 권한을 가지고 있지 않다는 .. 2019. 8. 28.
반응형