KR102140374B1 - 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체 - Google Patents

블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체 Download PDF

Info

Publication number
KR102140374B1
KR102140374B1 KR1020180088660A KR20180088660A KR102140374B1 KR 102140374 B1 KR102140374 B1 KR 102140374B1 KR 1020180088660 A KR1020180088660 A KR 1020180088660A KR 20180088660 A KR20180088660 A KR 20180088660A KR 102140374 B1 KR102140374 B1 KR 102140374B1
Authority
KR
South Korea
Prior art keywords
program
cache
cache memory
user terminal
blockchain
Prior art date
Application number
KR1020180088660A
Other languages
English (en)
Other versions
KR20200013447A (ko
Inventor
이정현
김규호
신용구
이선준
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Priority to KR1020180088660A priority Critical patent/KR102140374B1/ko
Publication of KR20200013447A publication Critical patent/KR20200013447A/ko
Application granted granted Critical
Publication of KR102140374B1 publication Critical patent/KR102140374B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 소프트웨어인 가상화폐 지갑을 이용하기 위해 요구되는 비밀번호와 개인키의 노출을 방지할 수 있도록 구현한 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체에 관한 것으로, 블록체인 네트워크로부터 트랜잭션이 수신되는 경우, 사용자 단말기의 방화벽 작동 유무를 확인하는 단계; 방화벽의 작동이 확인되면, 사용자 단말기에서 실행 중인 프로그램별로 시스템 메모리와 CPU의 점유율을 확인하는 단계; 임계점 미만으로 점유율이 떨어질 때까지 확인된 점유율에 따라 실행 중인 프로그램을 종료시키는 단계; 확인된 점유율이 임계점 미만이거나 실행 중인 프로그램의 종료로 점유율이 임계점 미만이 되면, 사용자 단말기의 캐시 메모리의 사용을 중단시키는 단계; 블록체인 네트워크로부터 수신된 트랜잭션으로부터 트랜잭션 정보를 추출하여 사용자 단말기 상의 블록체인 지갑에 저장(fetch)하는 단계; 및 트랜잭션 정보의 저장이 완료되면, 중단된 캐시 메모리의 사용을 재개하는 단계를 포함한다.

Description

블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체{DEVICE AND METHOD FOR PREVENTING CACHE SIDE CHANNEL ATTACK OF BLOCKCHAIN WALLET SYSTEM, RECORDING MEDIUM FOR PERFORMING THE METHOD}
본 발명은 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체에 관한 것으로, 더욱 상세하게는 소프트웨어인 가상화폐 지갑을 이용하기 위해 요구되는 비밀번호와 개인키의 노출을 방지할 수 있도록 구현한 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체에 관한 것이다.
전자 지갑이라 함은, 디지털화된 가치를 안전하게 활용할 수 있도록 모바일 기기상에 구현한 전자 지불 시스템의 한 종류로, 영어로는 ‘e-Wallet’이나 ‘Digital Wallet’이라고 한다.
신용 결제뿐만 아니라 멤버십·포인트·쿠폰 등 다양한 결제 방식을 자유롭게 선택할 수 있기 때문에 스마트폰 혁명이 초래한 모바일 경제 시대의 새로운 결제 방식으로 각광받고 있다.
이러한 기존의 전자 지갑의 경우, 하드웨어에 종속적인 로컬 부분의 보안에는 전혀 신경을 쓰고 있지 않는 것이 현실이다.
기존의 전자 지갑의 보안 정책을 보면, 네트워킹적인 부분에 해당하는 보안 이슈를 중점으로 다루고 있으며, 로컬에서 발생하는 사고의 경우 개인과실로 처리하는 것이 일반적이었다.
그러나, 전문가가 아닌 일반 사용자들이 이러한 로컬에서 발생되는 해킹 부분에 신경을 쓰기란 쉽지 않다.
물론, 로컬에서 발생하는 사고의 대부분은 OS 보안 정책에 의해 방어되기도 하지만 그렇지 않은 공격 또한 존재하는데, 부 채널 공격은 이러한 공격 종류 중 1 가지라고 할 수 있다.
일반적으로 알려진 부 채널 공격이라는 보안 공격은, 컴퓨터 하드웨어의 메모리에 적재되어 있는 캐시 메모리에서 정보가 새어 나감으로써 발생한다.
최근의 블록체인 관련 암호화폐에 대한 관심이 높아짐에 따라 암호화폐가 거래되는 거래소에서 특정 계정이 탈취당하거나 거래소가 아닌 개인이 사용하고 있던 암호화폐 지갑이 탈취된 사례 또한 늘어나고 있다.
암호화폐에 대한 관심이 증가함에 따라 투입된 자금이 늘어난 현 상황에 맞게 보다 더 안전한 보안체계가 필요한데, 그 중에서도 특히 막대한 금액이 들어있는 전자 지갑을 안전하게 관리할 수 있는 지갑의 구현이 절실한 상황이다.
한국등록특허 제10-1867268호 한국공개특허 제10-2016-0175040호
본 발명의 일측면은 API 함수를 사용하기 전에 강제로 캐시의 사용을 중단함으로써, 소프트웨어인 가상화폐 지갑을 이용하기 위해 요구되는 비밀번호와 개인키의 노출을 방지할 수 있도록 구현한 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체를 제공한다.
본 발명의 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법은, 블록체인 네트워크로부터 트랜잭션이 수신되는 경우, 사용자 단말기의 방화벽 작동 유무를 확인하는 단계; 방화벽의 작동이 확인되면, 사용자 단말기에서 실행 중인 프로그램별로 시스템 메모리와 CPU의 점유율을 확인하는 단계; 임계점 미만으로 점유율이 떨어질 때까지 확인된 점유율에 따라 실행 중인 프로그램을 종료시키는 단계; 확인된 점유율이 임계점 미만이거나 실행 중인 프로그램의 종료로 점유율이 임계점 미만이 되면, 사용자 단말기의 캐시 메모리의 사용을 중단시키는 단계; 블록체인 네트워크로부터 수신된 트랜잭션으로부터 트랜잭션 정보를 추출하여 사용자 단말기 상의 블록체인 지갑에 저장(fetch)하는 단계; 및 트랜잭션 정보의 저장이 완료되면, 중단된 캐시 메모리의 사용을 재개하는 단계를 포함한다.
일 실시예에서, 상기 실행 중인 프로그램을 종료시키는 단계는, 실행 중인 복수 개의 프로그램들에 의한 점유율이 임계점 이상이면, 점유율이 높은 프로그램으로부터 순차적으로 종료시킬 수 있다.
일 실시예에서, 상기 캐시 메모리의 사용을 중단시키는 단계는, 추출된 트랜잭션 정보를 블록체인 지갑에 저장하기 위해 필요로 하는 캐시 메모리 레벨의 범위를 지정하거나 고정할 수 있다.
일 실시예에서, 상기 캐시 메모리의 사용을 중단시키는 단계는, 트랜잭션 정보를 추출하거나 추출된 트랜잭션 정보를 블록체인 지갑에 저장하는 것과 관련된 캐시 메모리만을 중단시킬 수 있다.
일 실시예에서, 상기 캐시 메모리의 사용을 중단시키는 단계는, 캐시 메모리로의 접근을 위해 사용되는 API(Application Programming Interface) 함수를 호출하기 전에 캐시 메모리의 사용을 강제로 중단시킬 수 있다.
일 실시예에서, 상기 트랜잭션 정보는, 가상화폐의 입금(in), 출금(out) 및 가격(price) 정보 중 적어도 하나의정보를 포함할 수 있다.
일 실시예에서, 상기 실행 중인 프로그램을 종료시키는 단계 이전에, 프로그램을 종료한 후 해당 프로그램의 재실행 여부를 사용자로부터 선택받는 단계를 더 포함할 수 있다.
본 발명의 다른 실시예에 따른 컴퓨터로 판독 가능한 기록 매체에는, 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다.
본 발명의 일 실시예에 따른 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치는, 블록체인 네트워크로부터 트랜잭션을 수신받는 통신부; 상기 통신부에서 트랜잭션이 수신될 경우, 사용자 단말기의 방화벽 작동 유무를 확인하는 방화벽 확인부; 상기 방화벽 확인부에서 방화벽의 작동이 확인되면, 사용자 단말기에서 실행 중인 프로그램별로 시스템 메모리와 CPU의 점유율을 확인하는 점유율 확인부; 임계점 미만으로 점유율이 떨어질 때까지 상기 점유율 확인부에서 확인된 점유율에 따라 실행 중인 프로그램을 종료시키는 프로그램 제어부; 상기 점유율 확인부에서 확인된 실행 중인 프로그램의 점유율이 임계점 미만이거나 상기 프로그램 제어부에 의해 실행 중인 프로그램의 종료로 점유율이 임계점 미만이 되면 사용자 단말기의 캐시 메모리의 사용을 중단시키며, 트랜잭션 정보가 블록체인 지갑에 저장되면 중단된 캐시 메모리의 사용을 재개시키는 메모리 제어부; 및 상기 통신부에서 수신된 트랜잭션으로부터 트랜잭션 정보를 추출하여 사용자 단말기 상의 블록체인 지갑에 저장(fetch)하는 트랜잭션 저장부를 포함한다.
상술한 본 발명의 일측면에 따르면, 소프트웨어로 구동되는 가상화폐 지갑을 이용하기 위해 요구되는 비밀번호와 개인키가 노출되지 않는 안전한 가상화폐 지갑을 구현할 수 있다.
또한, 사용자 단말기 상에서 사용되고 있는 시스템 메모리 또는 CPU의 점유율에 따라 실행 중인 프로그램을 자동으로 종료함으로써, 사용자 단말기의 성능 저하를 미연에 방지할 수 있다.
도 1은 일반적인 소프트웨어 지갑을 설명하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치의 개략적인 구성이 도시된 도면이다.
도 3은 본 발명의 일 실시예에 따른 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법을 설명하는 순서도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
도 1은 일반적인 소프트웨어 지갑을 설명하는 도면이다.
도 1을 참조하면, 일반적인 소프트웨어 지갑은, 블록체인 네트워크로부터 트랜잭션을 수신한 후, 트랜잭션으로부터 수입(in), 지출(out) 또는 가격(price) 등의 트랜잭션 정보를 뽑아내어 지갑에 해당 정보를 저장(fetch)시킴으로써 구현된다.
이러한 정보 저장 과정은, 개인용 컴퓨터 또는 스마트폰 등과 같은 사용자 단말기 상에서 진행되는 작업이기 때문에 필연적으로 캐시 메모리가 사용될 수밖에 없는데, 이때 사용자 단말기에 저장된 캐시 메모리는 부 채널 공격(side channel attack) 등과 같은 해킹 공격에 쉽게 노출될 수 있다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치의 개략적인 구성이 도시된 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치(10)는, 통신부(100), 방화벽 확인부(200), 점유율 확인부(300), 프로그램 제어부(400), 메모리 제어부(500) 및 트랜잭션 저장부(600)를 포함한다.
통신부(100)는, 유선 또는 무선 통신망을 이용하여 블록체인 네트워크로부터 트랜잭션을 수신받으며, 트랜잭션의 수신 여부에 대하여 방화벽 확인부(200)로 통지하고, 수신받은 트랜잭션을 트랜잭션 저장부(600)로 전달한다.
여기서, 트랜잭션(Transaction)이란, 하나의 작업을 수행하기 위해 필요한 데이터베이스의 연산들을 모아놓은 것으로, 데이터베이스에서 논리적인 작업의 단위를 지칭한다.
방화벽 확인부(200)는, 통신부(100)로부터 트랜잭션이 수신되었다고 통지가 되면, 사용자 단말기의 방화벽 작동 유무를 확인하고, 방화벽이 작동하고 있는 경우 방화벽 작동을 점유율 확인부(300)로 통지한다.
일 실시예에서, 방화벽 확인부(200)는, 통신부(100)로부터 트랜잭션이 수신되었다고 통지 시에 사용자 단말기의 방화벽이 작동하고 있지 않은 경우, 사용자 단말기의 보안을 위해 방화벽을 구동시킬 수 있다.
점유율 확인부(300)는, 방화벽 확인부(200)로부터 방화벽이 작동하고 있다고 통지받은 경우, 사용자 단말기에서 실행 중인 프로그램별로 시스템 메모리와 CPU의 점유율을 확인하며, 프로그램별로 시스템 메모리와 CPU의 점유율에 관련된 정보를 포함하는 점유율 정보를 생성시켜 프로그램 제어부(400)로 전달한다.
프로그램 제어부(400)는, 점유율 확인부(300)로부터 전달되는 점유율 정보를 판독하며, 판독한 점유율 정보에 따라 사용자 단말기의 성능 저하를 방지할 수 있도록 사용자 단말기의 성능저하를 일으키는 임계점 미만으로 점유율이 떨어질 때까지 실행 중인 적어도 하나의 프로그램을 종료시킨다.
일 실시예에서, 프로그램 제어부(400)는, 임계점을 시스템 메모리 또는 CPU의 점유율의 약 40% 내지 60%, 예를 들어 50% 등으로 설정하여 두며, 해당 임계점의 만족 여부에 따라 실행 중인 적어도 하나의 프로그램을 종료시킬 수 있다.
일 실시예에서, 프로그램 제어부(400)는, 실행 중인 복수 개의 프로그램들에 의한 점유율이 임계점 이상이면, S140에서 확인된 점유율이 높은 프로그램으로부터 순차적으로 종료시킬 수 있다.
메모리 제어부(500)는, 점유율 확인부(300)에서 확인된 실행 중인 프로그램의 점유율이 임계점 미만이거나 프로그램 제어부(400)에 의해 실행 중인 프로그램의 종료로 점유율이 임계점 미만이 되면 사용자 단말기의 캐시 메모리의 사용을 캐시 메모리로의 접근을 위해 사용되는 API(Application Programming Interface) 함수를 호출하기 전에 중단시킨다.
일 실시예에서, 메모리 제어부(500)는, 추출된 트랜잭션 정보를 블록체인 지갑에 저장하기 위해 필요로 하는 캐시 메모리 레벨의 범위를 지정하거나 고정하거나, 트랜잭션 정보를 추출하거나 추출된 트랜잭션 정보를 블록체인 지갑에 저장하는 것과 관련된 캐시 메모리만을 중단시킴으로써, 전체 캐시 메모리의 사용이 불필요하게 중단됨으로 인해 발생될 수 있는 사용자 단말기 상의 성능 저하 또는 작동 오률를 방지할 수 있다.
블록체인에서 사용되는 전자 지갑의 경우, 트랜잭션을 수신하고 트랜잭션의 정보를 추출하는 과정이 컴퓨터에서 일어나는 작업이기 때문에 자연스레 캐시 메모리(cache memory, 컴퓨터 속에 장착되어 속도를 빠르게 하는 임시 메모리)가 사용될 수밖에 없다.
이때, 캐시 메모리에 저장된 캐시는, 부 채널 공격(side channel attack, 알고리즘의 약점을 찾거나(암호 해독과는 다름) 무차별 공격을 하는 대신에 암호 체계의 물리적인 구현 과정의 정보를 기반으로 하는 공격 방법) 등과 같은 해킹 공격에 쉽게 노출될 수이다.
이에 따라, 본 발명에서는, 프로그램 제어부(400)를 통한 프로그램 종료를 통해 컴퓨터의 성능 저하를 방지하면서도, 메모리 제어부(500)를 이용하여 캐시의 사용을 강제로 제한하여 캐시의 저장을 일시적으로 중단시켜 부 채널 공격을 원천적으로 차단할 수 있으며, 이를 통해 보다 안전하게 블록체인 지갑 환경을 제공할 수 있다.
그리고, 메모리 제어부(500)는, 트랜잭션 저장부(600)에 의해 트랜잭션 정보가 블록체인 지갑에 저장되면, 중단된 캐시 메모리의 사용을 재개시킴으로써, 사용자 단말기의 원활한 구동을 유도한다.
트랜잭션 저장부(600)는, 통신부(100)로부터 트랜잭션을 전달받으며, 전달받은 트랜잭션으로부터 트랜잭션 정보를 추출하여 사용자 단말기 상의 블록체인 지갑에 저장(fetch)한다.
이때, 트랜잭션 정보는, 가상화폐의 입금(in), 출금(out) 및 가격(price) 정보 중 적어도 하나의 정보를 포함할 수 있으며, 가상화폐와 관련된 정보이면 그 명칭이나 종류에 제한됨이 없이 포함 가능하다.
암호화폐 지갑 또한 결국 하나의 프로그램이기 때문에 보안 이슈에서 벗어날 수 없다.
현재 존재하는 다양한 보안 솔루션들의 경우에는, 트랜잭션을 처리하는 네트워크적인 보안문제 해결에 중점을 두어 해결하고 있었고, 로컬 부분에서 발생될 수 있는 보안 문제 등은 모두 사용자의 과실로 책임을 돌리고 있다.
이에 따라, 상술한 바와 같은 구성을 가지는 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치(10)는, 사용자 단말기 상의 로컬 영역에서 메모리 제어부(500)에 의해 캐시 메모리를 사용을 일시적으로 중지시킴으로써, 소프트웨어로 구동되는 가상화폐 지갑을 이용하기 위해 요구되는 비밀번호와 개인키가 노출되지 않는 안전한 가상화폐 지갑의 사용을 구현할 수 있다.
또한, 사용자 단말기 상에서 사용되고 있는 시스템 메모리 또는 CPU의 점유율에 따라 실행 중인 프로그램을 프로그램 제어부(400)를 이용하여 자동으로 종료시킴으로써, 사용자 단말기의 성능 저하를 미연에 방지할 수 있다.
상술한 바와 같은 구성을 가지는 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치(10)는, 운영체제(Operation System; OS), 즉 시스템을 기반으로 다양한 소프트웨어를 실행하거나 제작할 수 있다. 상기 운영체제는 소프트웨어가 장치의 하드웨어를 사용할 수 있도록 하기 위한 시스템 프로그램으로서, 안드로이드 OS, iOS, 윈도우 모바일 OS, 바다 OS, 심비안 OS, 블랙베리 OS 등 모바일 컴퓨터 운영체제 및 윈도우 계열, 리눅스 계열, 유닉스 계열, MAC, AIX, HP-UX 등 컴퓨터 운영체제를 모두 포함할 수 있다.
상술한 바와 같은 구성을 가지는 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치(10)의 각 구성에 의한 캐시 부 채널 공격 방지 방법은 도 3 이하의 방법 설명에서 후술한다.
도 3은 본 발명의 일 실시예에 따른 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법을 설명하는 순서도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 개인별 고유 인지 주파수 동조 방법은, 우선 블록체인 네트워크로부터 트랜잭션이 수신되면(S110), 사용자 단말기의 방화벽 작동 유무를 확인하여, 방화벽이 작동하고 있지 아니하면(S120의 No의 경우) 방화벽을 구동하고, 방화벽이 작동하고 있으면(S120의 Yes의 경우) 사용자 단말기에서 실행 중인 프로그램별로 시스템 메모리와 CPU의 점유율을 확인한다(S140).
사용자 단말기의 성능 저하를 방지하기 위해, 상술한 단계 S140에서 확인한 실행 중인 프로그램의 시스템 메모리와 CPU의 점유율이 사용자 단말기의 성능저하를 일으키는 임계점 이상이면(S150의 No의 경우) 상술한 단계 S140에서 확인된 점유율이 임계점 미만으로 떨어질 때까지(S150의 Yes의 경우) 실행 중인 프로그램을 종료시킨다(S160).
일 실시예에서, 실행 중인 프로그램을 종료시키는 단계(S160)는, 실행 중인 복수 개의 프로그램들에 의한 점유율이 임계점 이상이면, S140에서 확인된 점유율이 높은 프로그램으로부터 순차적으로 종료시킬 수 있다.
상술한 단계 S140에서 확인된 점유율이 임계점 미만이거나, 상술한 단계 S160에 의해 실행 중인 프로그램의 종료로 점유율이 임계점 미만이 되면, 사용자 단말기의 캐시 메모리의 사용을 중단시킨다(S170).
일 실시예에서, 캐시 메모리의 사용을 중단시키는 단계(S170)는, 추출된 트랜잭션 정보를 블록체인 지갑에 저장하기 위해 필요로 하는 캐시 메모리 레벨의 범위를 지정하거나 고정할 수 있다.
일 실시예에서, 캐시 메모리의 사용을 중단시키는 단계(S170)는, 트랜잭션 정보를 추출하거나 추출된 트랜잭션 정보를 블록체인 지갑에 저장하는 것과 관련된 캐시 메모리만을 중단시킴으로써, 전체 캐시 메모리의 사용이 불필요하게 중단됨으로 인해 발생될 수 있는 사용자 단말기 상의 성능 저하 또는 작동 오류를 방지할 수 있다.
일 실시예에서, 캐시 메모리의 사용을 중단시키는 단계(S170)는, 캐시 메모리로의 접근을 위해 사용되는 API(Application Programming Interface) 함수를 호출하기 전에 캐시 메모리의 사용을 강제로 중단시킬 수 있다.
상술한 단계 S170에서 캐시 메모리의 사용이 중단되면, 블록체인 네트워크로부터 수신된 트랜잭션으로부터 트랜잭션 정보를 추출하여 사용자 단말기 상의 블록체인 지갑에 저장(fetch)한다(S180).
이때, 트랜잭션 정보는, 가상화폐의 입금(in), 출금(out) 및 가격(price) 정보 중 적어도 하나의 정보를 포함할 수 있다.
상술한 단계 S180에서 트랜잭션 정보의 저장이 완료되면, 중단된 캐시 메모리의 사용을 재개한다(S190).
상술한 바와 같은 단계를 가지는 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법은, 실행 중인 프로그램을 종료시키는 단계(S160) 이전에, 프로그램을 종료한 후 해당 프로그램의 재실행 여부를 사용자로부터 선택받는 단계를 더 포함할 수 있다(설명의 편의상 도면에는 도시하지 않음).
상술한 바와 같은 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법은, 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CDROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
최근들어 블록체인에 대한 관심이 증대되면서 블록체인 해킹 사례가 증가하고 있는데, 일반적인 블록체인 해킹 사례는 사용자의 부주의와 과실 또는 개발자의 실수로 발생하지만, 캐시 부 채널 공격(Cache Side Channel Attack) 등과 같은 컴퓨터 구조적 문제로 발생하는 해킹 사례도 존재한다.
많은 돈이 오가는 가상화폐 시장에서 보안은 매우 중요한 바, 본 발명을 통해 아직까지 보호되고 있지 않은 캐시 부 채널 공격 등과 같은 컴퓨터의 구조적인 문제에 대한 취약점을 보호함으로써, 가상화폐와 밀접한 관계를 가지고 있는 가상화폐 거래소들에게 유용하게 이용될 수 있을 것이라 예상되고, 이를 통해 해당 가상화폐 거래소를 이용하는 사용자들에게 월 또는 연 단위의 사용료를 부가하여 사업화를 진행할 수 있을 것이라 예상된다.
10: 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치
100: 통신부
200: 방화벽 확인부
300: 점유율 확인부
400: 프로그램 제어부
500: 메모리 제어부
600: 트랜잭션 저장부

Claims (9)

  1. 블록체인 네트워크로부터 트랜잭션이 수신되는 경우, 사용자 단말기의 방화벽 작동 유무를 확인하는 단계;
    방화벽의 작동이 확인되면, 사용자 단말기에서 실행 중인 프로그램별로 시스템 메모리와 CPU의 점유율을 확인하는 단계;
    임계점 미만으로 점유율이 떨어질 때까지 확인된 점유율에 따라 실행 중인 프로그램을 종료시키는 단계;
    확인된 점유율이 임계점 미만이거나 실행 중인 프로그램의 종료로 점유율이 임계점 미만이 되면, 사용자 단말기의 캐시 메모리의 사용을 중단시키는 단계;
    캐시 메모리의 사용이 중단되면, 블록체인 네트워크로부터 수신된 트랜잭션으로부터 트랜잭션 정보를 추출하여 사용자 단말기 상의 블록체인 지갑에 저장(fetch)하는 단계; 및
    트랜잭션 정보의 저장이 완료되면, 중단된 캐시 메모리의 사용을 재개하는 단계를 포함하는, 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법.
  2. 제1항에 있어서, 상기 실행 중인 프로그램을 종료시키는 단계는,
    실행 중인 복수 개의 프로그램들에 의한 점유율이 임계점 이상이면, 점유율이 높은 프로그램으로부터 순차적으로 종료시키는, 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법.
  3. 제1항에 있어서, 상기 캐시 메모리의 사용을 중단시키는 단계는,
    추출된 트랜잭션 정보를 블록체인 지갑에 저장하기 위해 필요로 하는 캐시 메모리 레벨의 범위를 지정하거나 고정하는, 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법.
  4. 제3항에 있어서, 상기 캐시 메모리의 사용을 중단시키는 단계는,
    트랜잭션 정보를 추출하거나 추출된 트랜잭션 정보를 블록체인 지갑에 저장하는 것과 관련된 캐시 메모리만을 중단시키는, 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법.
  5. 제1항에 있어서, 상기 캐시 메모리의 사용을 중단시키는 단계는,
    캐시 메모리로의 접근을 위해 사용되는 API(Application Programming Interface) 함수를 호출하기 전에 캐시 메모리의 사용을 강제로 중단시키는, 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법.
  6. 제1항에 있어서, 상기 트랜잭션 정보는,
    가상화폐의 입금(in), 출금(out) 및 가격(price) 정보 중 적어도 하나의정보를 포함하는, 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법.
  7. 제1항에 있어서,
    상기 실행 중인 프로그램을 종료시키는 단계 이전에, 프로그램을 종료한 후 해당 프로그램의 재실행 여부를 사용자로부터 선택받는 단계를 더 포함하는, 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법.
  8. 제1항에 따른 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  9. 블록체인 네트워크로부터 트랜잭션을 수신받는 통신부;
    상기 통신부에서 트랜잭션이 수신될 경우, 사용자 단말기의 방화벽 작동 유무를 확인하는 방화벽 확인부;
    상기 방화벽 확인부에서 방화벽의 작동이 확인되면, 사용자 단말기에서 실행 중인 프로그램별로 시스템 메모리와 CPU의 점유율을 확인하는 점유율 확인부;
    임계점 미만으로 점유율이 떨어질 때까지 상기 점유율 확인부에서 확인된 점유율에 따라 실행 중인 프로그램을 종료시키는 프로그램 제어부;
    상기 점유율 확인부에서 확인된 실행 중인 프로그램의 점유율이 임계점 미만이거나 상기 프로그램 제어부에 의해 실행 중인 프로그램의 종료로 점유율이 임계점 미만이 되면 사용자 단말기의 캐시 메모리의 사용을 중단시키며, 트랜잭션 정보가 블록체인 지갑에 저장되면 중단된 캐시 메모리의 사용을 재개시키는 메모리 제어부; 및
    캐시 메모리의 사용이 중단되면, 상기 통신부에서 수신된 트랜잭션으로부터 트랜잭션 정보를 추출하여 사용자 단말기 상의 블록체인 지갑에 저장(fetch)하는 트랜잭션 저장부를 포함하는, 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치.
KR1020180088660A 2018-07-30 2018-07-30 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체 KR102140374B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180088660A KR102140374B1 (ko) 2018-07-30 2018-07-30 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180088660A KR102140374B1 (ko) 2018-07-30 2018-07-30 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체

Publications (2)

Publication Number Publication Date
KR20200013447A KR20200013447A (ko) 2020-02-07
KR102140374B1 true KR102140374B1 (ko) 2020-07-31

Family

ID=69570011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180088660A KR102140374B1 (ko) 2018-07-30 2018-07-30 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체

Country Status (1)

Country Link
KR (1) KR102140374B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100594870B1 (ko) * 2004-05-25 2006-07-03 배기봉 비정상 파일 및 프로세스의 탐지 제거 방법
JP2009217384A (ja) * 2008-03-07 2009-09-24 Nec Corp キュー管理装置、制御プログラム、ジョブ処理システムおよび制御方法
KR101867268B1 (ko) * 2017-10-13 2018-06-18 주식회사 올아이티탑 보안 및 해킹 방지기능을 구비하는 디지털 가상화폐의 거래방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5117383B2 (ja) * 2005-06-30 2013-01-16 アイメック マルチプロセッサシステムのためのメモリ配列
KR100921728B1 (ko) * 2007-04-11 2009-10-15 (주)씽크에이티 로그 분석을 이용한 금융 거래 서비스 시스템 및 그 방법
CN103092700B (zh) * 2013-02-01 2016-09-28 华为终端有限公司 内存清理方法、装置和终端设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100594870B1 (ko) * 2004-05-25 2006-07-03 배기봉 비정상 파일 및 프로세스의 탐지 제거 방법
JP2009217384A (ja) * 2008-03-07 2009-09-24 Nec Corp キュー管理装置、制御プログラム、ジョブ処理システムおよび制御方法
KR101867268B1 (ko) * 2017-10-13 2018-06-18 주식회사 올아이티탑 보안 및 해킹 방지기능을 구비하는 디지털 가상화폐의 거래방법

Also Published As

Publication number Publication date
KR20200013447A (ko) 2020-02-07

Similar Documents

Publication Publication Date Title
US20220006617A1 (en) Method and apparatus for data storage and verification
US20160232344A1 (en) Method for re-adjusting application permission and user terminal for performing the same method
CN111292091B (zh) 一种校验方法、装置以及设备
WO2010123565A1 (en) System and method for protecting against malware utilizing key loggers
US10373135B2 (en) System and method for performing secure online banking transactions
CN105122260A (zh) 到安全操作系统环境的基于上下文的切换
US10672214B2 (en) Method for securing an electronic device, and corresponding electronic device
EP3270318A1 (en) Dynamic security module terminal device and method for operating same
CN104794388A (zh) 应用程序存取保护方法及应用程序存取保护装置
KR101795450B1 (ko) 보안 터널 기반 인증 방법 및 장치
CN111245620B (zh) 一种在终端中的移动安全应用架构及其构建方法
US20170083906A1 (en) Token assurance level based transaction processing
US11411947B2 (en) Systems and methods for smart contract-based detection of authentication attacks
JP2012094146A (ja) 特に資源の利用に関する利用者の認証によって保護された関数の実行を制御する方法及びシステム
KR20140112785A (ko) 금융서비스 제공 시스템 및 그 방법, 그리고 이에 적용되는 장치
CN104732391A (zh) 使用虚拟卡的支付终端、支付后台和支付方法
KR102140374B1 (ko) 블록체인 지갑 시스템의 캐시 부 채널 공격 방지 장치 및 방법, 상기 방법을 수행하기 위한 기록 매체
CN109145602B (zh) 一种勒索软件攻击的防护方法及装置
EP4322095A1 (en) Resource transfer
US20140215592A1 (en) Method, apparatus and system for user authentication
CN111741115B (zh) 一种业务处理方法、装置、系统及电子设备
US20190005490A1 (en) Authentication method
KR20160102915A (ko) 모바일 가상화 기반의 스마트워크용 보안 플랫폼 관리 장치
WO2015117326A1 (zh) 一种实现远程支付的方法、装置及智能卡
CN111949951A (zh) 一种账号管控方法、系统、存储介质和电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant