Author Archives: opendocs

[Setting | AWS] Simple Email Service 설정

AWS에서 제공하는 Simple Email Service를 설정하고 시스템에서 메일이 발송이 필요할 경우 활용하도록 하자.


작성일 : 2019-08-07

1> 설정메뉴로 이동

  • 서비스 > 고객 참여 > Simple Email Service 선택
  • 미국 서부 (오레곤) 선택 – (원하는 지역으로 선택)
  • Identity Management > Email Address 선택

2> 발송시 사용될 이메일 인증

  • Verify a New Email Address 선택
  • 이메일 입력
  • 입력된 메일로 인증 URL이 발송됨
  • 브라우저에서 인증 URL로 이동하면 축하메시지와 함께 인증이 완료됨

3> Verification Status 의 값이 verified 로 바뀌었음을 확인


4> 다량의 메일 발송을 위한 설정

  • 최초 인증시 메일발송량이 200개로 제한 됨
  • Email Sending > Sending Statistics 선택 > Request a Sending Limit Increase 선택
  • Create case > Service limit increase 선택 > 아래사항입력 > Submit 선택
  • 아래 설정값 입력
Case classification
>> Limit Type : SES Sending Limits
>> Mail Type(optional) : System Notification
>> 나머지는 기본값
Requests
>> Region : US West (Oregon)
>> Limit : Desired Daily Sending Quota
>> New Limit value : 10000
Case description
>> Use case description : To sign up and send announcements

5> AWS 승인을 기다림

  • 접수완료 후 24시간 정도 후 승인메일을 받게됨

6> SMTP 발송 설정

  • 설정을 통해 SMTP 발송계정 발급
  • Email Sending > SMTP Settings > Create My SMTP Credentials 선택
  • IAM User Name 입력 > 생성 버튼 클릭
  • 자격 증명 다운로드 클릭 > credentials.csv 파일 다운로드
  • 생성된 계정 & 서버설정 정보를 통해 이메일 발송

[Source | C++] 키워드 목록

C++키워드의 경우 변수명으로 사용이 불가능하다. 키워드 목록을 정리해보자.


작성일 : 2021-04-20


asmautobool
breakcasecatch
 charclassconst
const_cast continue default
 deletedodouble
dynamic_castelseenum
 explicitexportextern
falsefloatfor
 friendgotoif
inlinentlong
 mutablenamespacenew
operatorprivateprotected
 publicregisterreinterpret_cast
returnshortsigned
sizeofstaticstatic_cast
structswitchtemplate
thisthrowtrue
trytypedeftypeid
typenameunionunsigned
usingvirtualvoid
volatilewchar_twhile

[Concept | Encription] 암호화 유형

암호화의 종류와 장단점을 정리하고 시스템 개발에 어떤 유형이 적용되는지 알아보자.


작성일 : 2017-03-04
수정일 : 2021-04-15

1> 암호화의 종류

유 형 특 징 종 류
단방향 해쉬함수 암호화키 없음 SHA, HAS-160, MD5
양방향 대칭키 블록암호 암호화키 == 복호화키 DES, AES, SEED, HIGHT
스트림암호 A5/1, A5/2, A5/3
비대칭키 암호화키 != 복호화키 RSA, EIGamal, 전자서명

2> 단방향 암호화 – 해쉬함수

① Encryption : 송신자는 해쉬함수를 이용해 평문을 암호화 한다.
② Transmit : 암호문을 수신자에게 전송한다.
③ Compare : 전송된 암호문과 저장된 암호문을 비교한다.
※ 암호문을 복호화 하는것은 불가능하다.

장점
* 암호화키를 사용하지 않으므로 공유절차 없이 보안을 유지할 수 있음
단점
* 복호화가 필요한 경우에는 사용이 불가능함
사용예
  사용자 개인정보를 암호화 하여 디비에 저장하고 인증시 암호화된 값으로만 비교

3> 양방향 암호화

3-1> 대칭키 암호화 (비밀키 암호화)

암호화 키를 생성하여 송신자(A)와 수신자(B)가 공유하는 방식.
① Create Private Key And Share : 암호화키를 생성하여 서로 공유한다.
② Encryption : 공유된 암호화키를 이용해 평문을 암호화 한다.
③ Transmit : 암호문을 수신자에게 전송한다.
④ Decryption : 공유된 암호화키를 이용해 암호문을 복호화 한다.

장점
* 암호화 연산 속도가 빨라 효율적으로 시스템 구축가능
단점
* 암호화 / 복호화를 위해 키가 공유되어야 하므로 노출되기 쉬움
* 키가 노출될 우려 때문에 개발 버전업 또는 일정 주기로 변경관리 해주어야 함
  (노출될 우려가 전혀 없다면 최초 생성된 키를 계속 사용하기도 함)

3-1-1> 블록 암호

고정된 크기의 블롣단위로 암·복호화 연산을 수행하며 각 블록의 연산에는 동일한 키가 이용된다. 전치와 환자를 반복시켜 암호화하면 평문의 통계적 성질이나 암호 키와의 관계가 나타나지 않아 안전한 암호를 구성할 수 있다.

3-1-2> 스트림 암호

이진화된 평문 스트림과 이진 키스트림 수열의 XOR 연산으로 암호문을 생성하는 방식으로 주기, 선형 복잡도 등 안전성과 관련된 수학적 분석이 가능하고 알고리즘 구현이 쉬운 특징이 있다.


3-2> 비대칭키 암호화 (공개키 암호화)

송신자(A)는 수신자(B)의 공개키(Public Key)로 암호화하여 전송하고 수신자(B)는 비밀키(Secret Key)로 복호화함.
① Create Key Pair And Share Public Key : 키쌍을 생성하고 공개키를 공유한다.
② Encryption : 공유된 공개키로 평문을 암호화 한다.
③ Transmit : 암호문을 수신자에게 전송한다.
④ Decryption : 자신만 알고있는 비밀키를 이용해 암호문을 복호화 한다.

장점
* 다른 유저와 키를 공유하지 않더라도 암호화가 가능함.
* 공개키로 누구나 암호화를 할 수는 있지만 송신자만 보유한 비밀키가 없으면 복원이 불가함.
* 연산이 많고 복잡하나 공개키와 비밀키를 활용한 광범위한 인증이 제공됨.
단점
* 수학적인 난제를 기반으로 설계되어 연산비용이 높아 효율성이 떨어짐.

4> 자세한 설명은 [KISA 홈페이지] 참조