비밀키 암호방식, 대칭키 암호방식이라고 하며 비밀 정보를 교환하고자 하는 상호 암호통신망 가입자가 사전에 비밀 공통키 K를 제삼자에게 노출되지 않게 나누어 가진 다음, 암호통신을 필요로 할 때 평문M을 암호 알고리즘 E와 공통키 K로 암호문 C를 생성시켜 공중통신 채널을 통해서 전달하고 암호문 C를 수신한 가입자는 복호화 알고리즘 D와 공통키 K로 평문 M을 얻는 방법으로 오래전부터 사용되어 온 암호방식으로 암호화키와 복호화키가 동일하며 공개키방식보다 암호화 및 복호화 속도가 빠르다. 128비트 이상의 키 길이를 가지면서 안전성이 널리 인정된 암호 알고리즘을 사용하여야 한다. 또한, 국가·공공기관용 표준 블록암호인 ARIA를 지원할 수 있어야 한다. 대한민국 행정전자서명에서 사용하는 암호화 알고리즘은 다..
데이터에 대한 무결성은 메시지 인증 코드(MAC - Message Authentication Code), 또는 전자서명을 이용하여 제공한다. 인증서와 비밀키가 이미 발급된 사용자의 경우에는 전자서명 알고리즘을 사용하여 데이터에 대한 무결성을 제공할 수 있지만, 그렇지 않은 경우에는 패스워드에 기반한 메시지 인증 코드 방식을 사용한다. 패스워드에 기반인 인증코드 방식을 알고리즘 식별자(Algorithm Identifier)로 기술할 때에는 이 방식을 명확히 기술해 주는 인자들에 대한 설명이 포함되어야 한다. 본 상세서에서는 메시지 인증 알고리즘으로 해쉬 함수를 이용한 MAC, 즉 HMAC의 사용, 또는 SEED를 이용한 MAC의 사용을 권장한다. HMAC HMAC은 메시지의 무결성과 함께 메시지의 출처 인..
행정전자서명 프로파일 및 알고리즘 상세서 분석 중 정보처리기사, 정보보안기사 등 전산 유관 시험의 용어 설명이 잘 되어 있어 게시글로 옮긴다. 국가기술검정 시험이다보니 국가에서 규정한 용어집을 참고한다. 출처 : "행정전자서명 프로파일 및 알고리즘 상세서"(https://gpki.go.kr/pds/WebTrustAction.action) ANSI(American National Standards Institute) : 미국에서의 임의(Voluntary)표준 활동을 관리 조정하고, 표준의 적합성여부에 따라 미국국가표준(ANS:American National Standard)으로서 승인여부를 결정하는 비영리 민간단체로써 직접 표준을 개발하지는 않으나, 각 기구들의 표준과정을 관리하여 여러 기구들이 작성․처리..
HTTP Cookie에 대하여 HTTP 쿠키(웹 쿠키, 브라우저 쿠키)는 서버에서 사용자의 웹 브라우저로 전송한 작은 데이터 조각이다. 브라우저는 나중에 보낼 요청에 대비하여 저장해둔다. HTTP 통신은 상태를 저장하지 않는 stateless 통신이기 때문에 동일한 연결에 대해 연속적인 요청이 발생하지 않는다. 예를 들어 쇼핑몰을 이용할 때 장바구니에 담긴 물건 정보를 통신할 때마다 유지하지 않는다. 이렇게 상태를 저장하지 않는 대신에 쿠키를 이용하여 '세션'을 저장한다. 헤더에 쿠키를 사용하도록 설정하여 HTTP 쿠키가 패킷에 추가되어 각 HTTP 요청에 대해서 동일한 컨텍스트인지, 어떠한 상태를 가지고 있었는지 나타낼 수 있다. 쿠키는 크게 세 가지 목적으로 동작한다. 세션 관리(Session man..
Preview 웹 브라우저들은 다양한 위치에 사용자 데이터를 저장한다. 사용자가 가진 권한, 특성, 클라이언트 측 설정 값(팝업 허용 여부, 자동로그인 설정 여부) 등 여러가지 값들을 저장해 두고 웹 페이지 방문 및 필요할 떄마다 이용한다. 데이터가 보관되는 위치에 따라 보관 기간, 오프라인 사용 가능 여부가 다르다. 이 글은 클라이언트에 저장되는 데이터의 종류와 특징에 대해서 알아본다. 그리고 공격자의 입장에서 이러한 데이터를 안전하게 사용할 수 있는 방법은 있는지 알아본다. Client-side storage? 먼저 웹은 정적(Static)과 동적(Dynamic)페이지로 구분한다. 정적 페이지는 단순 HTML 요청과 응답으로 구성되고, 동적 페이지는 사용자 요청 값을 포함한 다양한 값들을 가공, 랜더..
개요 Flutter에서 textFormField 를 통해 사용자에게 값을 입력받은 후 바깥을 터치했을 때 키보드를 내려서 다른 버튼입력을 받고 싶을 때 사용한다. GetstureDetector() 와 함께 onTap 메소드에 FocusScope.of(context).unfocus();를 사용하면 된다. GestureDetector( onTap: (){ FocusScope.of(context).unfocus(); }, child: Stack( children: [ //배경 Positioned( child: Container( height: 300, ... ) ) ] ), ) 원하는 구역을 터치했을 때 키보드가 사라진다. 출처 : 코딩셰프(https://www.youtube.com/channel/UC_2ge..