KR101023100B1 - 유에스비 뱅킹 장치 - Google Patents

유에스비 뱅킹 장치 Download PDF

Info

Publication number
KR101023100B1
KR101023100B1 KR1020080095714A KR20080095714A KR101023100B1 KR 101023100 B1 KR101023100 B1 KR 101023100B1 KR 1020080095714 A KR1020080095714 A KR 1020080095714A KR 20080095714 A KR20080095714 A KR 20080095714A KR 101023100 B1 KR101023100 B1 KR 101023100B1
Authority
KR
South Korea
Prior art keywords
memory
banking
data
usb
program data
Prior art date
Application number
KR1020080095714A
Other languages
English (en)
Other versions
KR20100036471A (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 KR1020080095714A priority Critical patent/KR101023100B1/ko
Publication of KR20100036471A publication Critical patent/KR20100036471A/ko
Application granted granted Critical
Publication of KR101023100B1 publication Critical patent/KR101023100B1/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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/0772Physical layout of the record carrier
    • G06K19/07732Physical layout of the record carrier the record carrier having a housing or construction similar to well-known portable memory devices, such as SD cards, USB or memory sticks
    • 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3227Aspects of commerce using mobile devices [M-devices] using secure elements embedded in M-devices
    • 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3229Use of the SIM of a M-device as secure element

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 USB 뱅킹 장치에 관한 것으로서, USB 규격에 대응하는 적어도 하나 이상의 USB 커넥터(USB Connector)와, 데이터 저장 가능 메모리와, 상기 메모리에 저장된 데이터를 상기 USB 커넥터를 통해 소정의 단말장치와 통신하는 USB 뱅킹 장치는 상기 메모리는 소정의 뱅킹 프로그램 데이터가 저장되는 메모리 영역과 일반 데이터가 저장되는 메모리 영역으로 분할되는 것을 특징으로 하며, 상기 단말장치에 구비된 응용프로그램 중 상기 뱅킹 프로그램 데이터가 저장되는 메모리 영역에 접근하는 응용프로그램을 인증하는 인증 처리부와, 상기 인증 처리부에 의해 인증된 응용프로그램이 상기 뱅킹 프로그램 데이터가 저장된 메모리 영역에 접근하도록 제어하는 메모리 제어부와, 상기 메모리 제어부와 연계하여 상기 뱅킹 프로그램 데이터가 저장되는 메모리 영역에 접근하여 뱅킹 프로그램 데이터의 입출력을 처리하는 메모리 입출력부를 구비한다.
뱅킹, USB

Description

유에스비 뱅킹 장치{Device for USB Banking}
도 1은 본 발명의 실시 방법에 따른 USB 뱅킹 장치의 기기 구성 블록을 도시한 도면이다.
도 2는 본 발명의 실시 방법에 따른 단말장치의 간단한 기능 구성 블록을 도시한 도면이다.
도 3은 본 발명의 실시 방법에 따른 USB 뱅킹 장치의 기능 구성 블록을 도시한 도면이다.
도 4a와 도 4b는 본 발명의 일 실시 방법에 따라 USB 뱅킹 장치의 메모리 영역을 분할하는 실시예를 예시한 도면이다.
도 5a와 도 5b는 본 발명의 다른 일 실시 방법에 따라 USB 뱅킹 장치의 메모리 영역을 분할하는 실시예를 예시한 도면이다.
도 6a와 도 6b는 본 발명의 또다른 일 실시 방법에 따라 USB 뱅킹 장치의 메모리 영역을 분할하는 실시예를 예시한 도면이다.
도 7은 본 발명의 일 실시 방법에 따라 메모리 식별과 데이터 기록, 판독 및 소거를 위한 데이터 패킷 구조를 도시한 도면이다.
도 8은 본 발명의 일 실시 방법에 따른 뱅킹용 응용프로그램 또는 OTP용 응 용 프로그램 인증을 위한 데이터 패킷 구조를 도시한 도면이다.
도 9는 본 발명의 바람직한 일 실시 방법에 따른 USB 뱅킹 장치 초기화 과정을 도시한 도면이다.
도 10은 본 발명의 바람직한 일 실시 방법에 따른 USB 뱅킹 장치 동작 과정을 도시한 도면이다.
<도면의 주요부분에 대한 설명>
100 : USB 뱅킹 장치 105 : 제어기
110 : USB 커넥터 115 : 메모리
120 : 클록 소스 125 : USB 인터페이스
130 : 프로세서 135 : 프로그램 메모리
140 : 메모리 인터페이스 145 : 단말장치
본 발명은 USB 규격에 대응하는 적어도 하나 이상의 USB 커넥터(USB Connector)와, 데이터 저장 가능 메모리와, 상기 메모리에 저장된 데이터를 상기 USB 커넥터를 통해 소정의 단말장치와 통신하는 USB 뱅킹 장치에 있어서, 상기 메모리는 소정의 뱅킹 프로그램 데이터가 저장되는 메모리 영역과 일반 데이터가 저 장되는 메모리 영역으로 분할되며, 상기 단말장치에 구비된 응용프로그램 중 상기 뱅킹 프로그램 데이터가 저장되는 메모리 영역에 접근하는 응용프로그램을 인증하는 인증 처리부와, 상기 인증 처리부에 의해 인증된 응용프로그램이 상기 뱅킹 프로그램 데이터가 저장된 메모리 영역에 접근하도록 제어하는 메모리 제어부와, 상기 메모리 제어부와 연계하여 상기 뱅킹 프로그램 데이터가 저장되는 메모리 영역에 접근하여 뱅킹 프로그램 데이터의 입출력을 처리하는 메모리 입출력부를 구비하는 USB 뱅킹 장치에 관한 것이다.
정보통신 기술, 금융산업의 발전은 컴퓨터가 있는 어느 곳에서나 금융서비스를 이용할 수 있는 사용자 편의를 제공하고 있는 상황이다.
하지만, 정보통신 기술에 따라서 컴퓨터가 사람들에게 보급됨에 따라 이를 위해 일반적으로 Windows 시리즈의 OS(Operating System)를 이용하고 있고, Windows 시리즈에서는 Internet Explorer라는 브라우저를 제공하고 있는 상황이다.
하지만, Internet Explorer에서만 가능한 Active X는 사람들이 Internet Explorer를 이용하지 않을 경우, 설치가 불가능함으로 인하여 인터넷을 통해 금융거래 서비스를 이용할 수 없는 문제가 생기게 된다.
상기 문제점을 해결하기 위한 본 발명의 목적은, USB 규격에 대응하는 적어도 하나 이상의 USB 커넥터(USB Connector)와, 데이터 저장 가능 메모리와, 상기 메모리에 저장된 데이터를 상기 USB 커넥터를 통해 소정의 단말장치와 통신하는 USB 뱅킹 장치에 있어서, 상기 메모리는 소정의 뱅킹 프로그램 데이터가 저장되는 메모리 영역과 일반 데이터가 저장되는 메모리 영역으로 분할되며, 상기 단말장치에 구비된 응용프로그램 중 상기 뱅킹 프로그램 데이터가 저장되는 메모리 영역에 접근하는 응용프로그램을 인증하는 인증 처리부와, 상기 인증 처리부에 의해 인증된 응용프로그램이 상기 뱅킹 프로그램 데이터가 저장된 메모리 영역에 접근하도록 제어하는 메모리 제어부와, 상기 메모리 제어부와 연계하여 상기 뱅킹 프로그램 데이터가 저장되는 메모리 영역에 접근하여 뱅킹 프로그램 데이터의 입출력을 처리하는 메모리 입출력부를 구비하는 USB 뱅킹 장치를 제공함에 있다.
본 발명에 따른 USB 규격에 대응하는 적어도 하나 이상의 USB 커넥터(USB Connector)와, 데이터 저장 가능 메모리와, 상기 메모리에 저장된 데이터를 상기 USB 커넥터를 통해 소정의 단말장치와 통신하는 USB 뱅킹 장치는, 상기 메모리는 소정의 뱅킹 프로그램 데이터가 저장되는 메모리 영역과 일반 데이터가 저장되는 메모리 영역으로 분할되는 것을 특징으로 하며, 상기 단말장치에 구비된 응용프로그램 중 상기 뱅킹 프로그램 데이터가 저장되는 메모리 영역에 접근하는 응용프로그램을 인증하는 인증 처리부와, 상기 인증 처리부에 의해 인증된 응용프로그램이 상기 뱅킹 프로그램 데이터가 저장된 메모리 영역에 접근하도록 제어하는 메모리 제어부와, 상기 메모리 제어부와 연계하여 상기 뱅킹 프로그램 데이터가 저장되는 메모리 영역에 접근하여 뱅킹 프로그램 데이터의 입출력을 처리하는 메모리 입출력부를 구비하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 USB 뱅킹 장치에 있어서, 상기 인증 처리부는, 상기 응용프로그램으로부터 수신되는 인증 데이터에 대한 유효성을 인증하여 상기 뱅킹 프로그램 데이터가 저장되는 메모리 영역에 접근하는 것을 인증하는 것을 특징으로 한다.
본 발명에 따른 USB 뱅킹 장치에 있어서, 상기 메모리 제어부는, 상기 뱅킹 프로그램 데이터가 저장된 메모리 영역을 기본적으로 비활성화 시키고, 상기 인증 처리부를 통해 상기 뱅킹 프로그램 데이터가 저장된 메모리 영역에 대한 접근 요청에 대한 인증이 완료되면, 상기 뱅킹 프로그램 데이터가 저장된 메모리 영역을 임시 활성화 시키도록 제어하는 것을 특징으로 한다.
본 발명에 따른 USB 뱅킹 장치에 있어서, 상기 메모리 제어부는, 상기 뱅킹 프로그램 데이터가 저장되는 메모리 영역과 일반 데이터가 저장되는 메모리 영역을 논리적으로 서로 다른 메모리 주소 체계로 매핑하여 제어하는 것을 특징으로 한다.
이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동 작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다. 또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
또한, 이하 실시되는 본 발명의 바람직한 실시예는 본 발명을 이루는 기술적 구성요소를 효율적으로 설명하기 위해 각각의 시스템 기능구성에 기 구비되어 있거나, 또는 본 발명이 속하는 기술분야에서 통상적으로 구비되는 시스템 기능구성은 가능한 생략하고, 본 발명을 위해 추가적으로 구비되어야 하는 기능구성을 위주로 설명한다. 만약 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 하기에 도시하지 않고 생략된 기능구성 중에서 종래에 기 사용되고 있는 구성요소의 기능을 용이하게 이해할 수 있을 것이며, 또한 상기와 같이 생략된 구성요소와 본 발명을 위해 추가된 구성요소 사이의 관계도 명백하게 이해할 수 있을 것이다.
또한, 이하 실시예는 본 발명의 핵심적인 기술적 특징을 효율적으로 설명하 기 위해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 명백하게 이해할 수 있도록 용어를 적절하게 변형하여 사용할 것이나, 이에 의해 본 발명이 한정되는 것은 결코 아니다.
결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도면1은 본 발명의 실시 방법에 따른 USB 뱅킹 장치(100)의 기기 구성 블록을 도시한 도면이다.
보다 상세하게 본 도면1은 적어도 하나 이상의 USB(Universal Serial Bus) 커넥터와, USB 시스템 프로그램(예컨대, USB 드라이브 프로그램, 호스트 드라이버 프로그램) 및/또는 USB 응용프로그램을 구비한 개인 컴퓨터(Personal Computer; PC)를 포함하는 소정의 단말장치(145)에 USB 통신 규격을 기반으로 인터페이싱하는 USB 뱅킹 장치(100)의 기기 구성을 블록으로 도시한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 개인 컴퓨터와 상기 USB를 통해 인터페이싱하는 USB 뱅킹 장치(100)의 기기 구성에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면1에 도시된 실시 방법에 의해 한정되지 아니한다.
예컨대, 본 발명이 속하는 기술분야에서 통상의 기술지식을 가진 자라면, 본 도면에 도시된 실시 방법을 참조 및/또는 변형하여 USIM(Universal Subscriber Identify Module)이 구비된 휴대폰을 USB 뱅킹 장치(100)로 대채할 수 있으며, 이 경우 USIM을 이용한 인증과정이 더 포함되는 것이 바람직하다.
상기 단말장치(145)는 적어도 하나 이상의 USB 커넥터(110)와, USB 시스템 프로그램 및/또는 USB 응용프로그램을 구비한 개인 컴퓨터(Personal Computer; PC) 및/또는 노트북 등과 같은 유선 단말을 적어도 하나 이상 포함하여 이루어지는 것이 바람직하다.
도면1을 참조하면, 적어도 하나 이상의 USB 커넥터(110)와, USB 시스템 프로그램 및/또는 USB 응용프로그램을 구비한 소정의 단말장치(145)와 USB 통신 규격을 기반으로 인터페이싱하는 USB 뱅킹 장치(100)는, 상기 USB 규격에 대응하는 적어도 하나 이상의 USB 커넥터(110)(USB Connector)와, 적어도 하나 이상의 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(115)와, 상기 USB 커넥터(110)를 통해 상기 단말장치(145)와 USB 통신 규격을 기반으로 인터페이싱하며, 상기 메모리(115)에 저장된 적어도 하나 이상의 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 관리하고, 상기 메모리(115)로부터 소정의 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 추출하여 상기 USB 커넥터(110)를 통해 상기 단말장 치(145)로 제공하는 제어기(105)(Controller)를 구비하여 이루어지는 것을 특징으로 한다.
또한, 상기 USB 뱅킹 장치(100)는 상기 제어기(105) 및/또는 메모리(115)가 동작하는데 필요한 클록을 발생시키는 클록 소스(120)(Clock Source)를 더 구비하여 이루어지는 것을 특징으로 하며, 상기 클록 소스(120)는 수정 발진기(Crystal Oscillator) 또는 주파수 합성기(Frequency Synthesizer)와 같은 임의의 클록 발생 회로일 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
여기서, 상기 클록 소스(120)는 상기 제어기(105) 내에 구비되어도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.
또한, 상기 USB 커넥터(110)를 통해 입력되는 전원 이외에 배터리(도시생략)를 더 포함하여 이루어질 수 있으나, 이에 의해 본 발명이 한정되지 아니한다.
상기 USB 커넥터(110)는 물리적으로 타겟용 USB 커넥터(110)에 해당하는 타입 A(Type A), 및/또는 호스트용 USB 커넥터(110)에 대응하는 타입 B(Type B), 및/또는 OTG(On-The-Go)용 USB 커넥터(110)에 대응하는 미니-AB(Mini-AB) 중 적어도 하나 이상의 커넥터 규격을 따르는 것을 특징으로 하며, 전기적으로 상기 커넥터를 통해 상기 단말장치(145)로부터 입력되는 전원을 상기 제어기(105) 및/또는 메모 리(115) 및/또는 클록으로 인가하는 기능과, 또한 상기 커넥터를 통해 상기 단말장치(145)로부터 입력되는 전기신호를 상기 제어기(105)로 이송하는 기능과, 상기 제어기(105)로부터 입력되는 전기신호를 상기 물리적 커넥터를 통해 단말장치(145)로 이송하는 기능을 구비하여 이루어지는 것을 특징으로 한다.
상기 메모리(115)는 NAND 플래시 메모리(115)(예컨대, 메모리(115) 구조 상 비트 선과 접지선 사이에 셀이 직렬로 배치된 플래시 메모리(115)) 및/또는 NOR 플래시 메모리(115)(예컨대, 메모리(115) 구조 상 비트 선과 접지선 사이에 셀이 병렬로 배치된 플래시 메모리(115)), 또는 상기 NOR 플래시 메모리(115)로부터 변형된 AND 플래시 메모리(115), DINOR 플래시 메모리(115), VGA(Virtual Ground Array) 플래시 메모리(115) 중 적어도 하나 이상의 플래시 메모리(115)를 포함하여 이루어지는 것을 특징으로 하며, 실시 방법에 따라 상기 메모리(115)는 EEPROM(Electrically Erasable and Programmable Read Only Memory) 이어도 무방하다.
본 발명에 실시 방법에 따르면, 상기 메모리(115)는 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(115) 영역과 일반 데이터를 저장하는 메모리(115) 영역으로 논리적으로 분할되는 것이 바람직하며, 여기서 상기 일반 데이터가 저장되는 메모리(115) 영역은 상기 단말장치(145)에 구비된 적어도 하나 이상의 응용프로그램에서 접근하는 것이 가능하지만, 상기 뱅킹 프로그램 데이터 또 는 OTP 프로그램 데이터가 저장되는 메모리(115) 영역은 단말장치(145)에 구비된 적어도 하나 이상의 응용프로그램 중 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램만 접근하는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 메모리(115) 상에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(115) 영역에 저장되는 데이터는, 금융사에서 제공하는 하나 이상의 금융거래 서비스에 대응하는 적어도 하나 이상의 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 것이 바람직하며, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터는 당업자의 의도에 따라 소정의 암호화 방식(및/또는 암호화 알고리즘)을 통해 암호화될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
또한, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(115) 영역에 저장되는 데이터는, 상기 USB 뱅킹 장치(100)와 연결되는 단말장치(145)에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 실행하기 위한 소정의 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 저장하는 것이 가능하며, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램은 상기 USB 뱅킹 장치(100)에서 상기 단말장치(145)에 최초 접속하는 과정에서 상기 단말장치(145)로 제공되어 설치되는 것이 바람직하다.
또한, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(115) 영역에 저장되는 데이터는, 상기 USB 뱅킹 장치(100)에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 실행하기 위한 소정의 뱅킹 관련 프로그램을 저장하는 것이 가능하며, 상기 USB 뱅킹 장치(100)에 소정의 전원이 공급되는 경우, 상기 뱅킹 관련 프로그램은 상기 제어기(105)로 제공되어 실행되는 것이 바람직하다.
또한, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(115) 영역에 저장되는 데이터는, 상기 USB 뱅킹 장치(100)와 연결되는 단말장치(145)가 소정의 네트워크에 연결된 경우, 상기 단말장치(145)를 통해 네트워크 상의 서버(또는 단말)와 연동하여 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 대한 추가 구매, 반납, 교환 등을 지원하기 위한 정보를 저장하는 것이 가능하다.
상기 제어기(105)(Controller)는 USB 통신 규격을 기반으로 상기 단말장치(145)와 통신하기 위한 USB 인터페이스(125) 회로 구성의 전형을 포함하여 이루어지는 것을 특징으로 하며, 본 도면1에 도시된 구성 이외에 당업자의 의도에 따라 추가적인 구성이 더 포함될 수 있으나, 본 발명은 상기 추가되는 구성을 모두 포함하며, 본 도면1에 도시된 구성에 의해 본 발명이 한정되지 아니한다.
본 발명의 실시 방법에 따르면, 상기 제어기(105)는 프로세서(130)와 프로그램 메모리(135)를 포함하는 원칩(One Chip)과 이를 구성하는 회로를 포함하여 이루어진 실시 방법, 또는 프로세서(130)와 프로그램 메모리(135)를 포함하는 원칩을 포함하되 이를 구성하는 회로를 상기 원칩 외부에 포함하는 실시 방법, 또는 프로세서(130)와 이를 구성하는 회로를 내부에 포함하되 상기 프로그램 메모리(135)를 외부에 구성하는 실시 방법, 또는 상기 프로세서(130)와 프로그램 메모리(135) 및 이를 구성하는 회로를 각각 구성하는 실시 방법 등, 다양하게 실시되는 것이 가능하지만, 본 발명의 제어기(105)는 상술된 특정 실시 방법에 의해 한정되지 않으며, 또한 본 도면1에 도시된 실시 방법에 의해서도 한정되지 않는다.
본 발명의 바람직한 실시 방법을 따르는 도면1을 참조하면, 상기 제어기(105)는 상기 USB 커넥터(110)를 통해 상기 단말장치(145)와 제어기(105)를 인터페이싱하는 USB 인터페이스(125)와, 상기 메모리(115)와 제어기(105)를 인터페이싱하는 메모리 인터페이스(140)와, USB 통신에 필요한 연산처리 기능과 본 발명에 따른 메모리(115) 제어 및 관리 기능 및/또는 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용에 필요한 연산처리 기능을 수행하는 프로세서(130)와, 상기 프로세서(130)가 연산처리 하는 펌웨어(Firmware) 프로그램을 저장하는 프로그램 메모리(135)를 포함하여 이루어진다.
상기 USB 인터페이스(125)는 상기 USB 커넥터(110)와 상기 제어기(105) 사이 의 패킷 교환을 위한 회로 구성으로서, 상기 USB 커넥터(110)와 상기 제어기(105)를 전기적 및/또는 논리적으로 연결하는 버스(BUS)를 포함하여 이루어진다.
상기 메모리 인터페이스(140)는 상기 제어기(105)와 메모리(115) 사이의 명령 및/또는 정보 교환을 위한 회로 구성으로서, 상기 제어기(105)에서 칩 활성화, 판독 및 기록 신호와 같은 다양한 제어 신호를 상기 메모리(115)로 인가하여 상기 메모리(115)를 제어하는 제어 버스(control BUS)와, 상기 제어기(105)와 메모리(115) 간 정보 교환을 위한 주소 버스(Address BUS) 및/또는 데이터 버스(Data BUS)를 포함하여 이루어진다.
상기 프로세서(130)는 상기 USB 뱅킹 장치(100)에 구비되는 CPU(Central Process Unit)로서, 상기 USB 커넥터(110)를 통해 상기 단말장치(145)로부터 수신되는 명령을 처리하거나, 및/또는 상기 프로그램 메모리(135)에 정의된 펌웨어 프로그램의 기능을 처리하는 것을 특징으로 한다.
상기 프로그램 메모리(135)는 상기 USB 뱅킹 장치(100)에 구비되는 프로그램 저장용 메모리(115)로서, 하드웨어적으로 랜덤 액세스가 가능한 메모리(115) 구조를 포함하여 이루어지는 것을 특징으로 하며, 소프트웨어적으로 상기 USB 인터페이스(125) 및/또는 메모리 인터페이스(140)의 동작을 제어하는 기능과, 상기 USB 인터페이스(125)와 연동하여 상기 단말장치(145)와 통신하는 기능과, 상기 메모리 인 터페이스(140)와 연동하여 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스를 이용하기 위한 메모리(115)를 제어 및 관리하는 기능 및/또는 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용에 필요한 기능을 적어도 하나 이상 포함하는 펌웨어 프로그램을 저장하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 프로그램 메모리(135)는 ROM(Read-Only Memory) 및/또는 EPROM(Erasable Programmable Read-Only Memory) 및/또는 EEPROM(Electrically Erasable Programmable Read-Only Memory) 및/또는 NOR 계열을 메모리(115) 중 적어도 하나 이상의 비휘발성 메모리(115)를 포함하여 이루어지는 것이 바람직하며, 이 경우 상게 프로그램 메모리(135)에는 상기 USB 인터페이스(125) 및/또는 메모리 인터페이스(140)의 동작을 제어하는 기능과, 상기 USB 인터페이스(125)와 연동하여 상기 단말장치(145)와 통신하는 기능과, 상기 메모리 인터페이스(140)와 연동하여 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용을 위한 메모리(115)를 제어 및 관리하는 기능 및/또는 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용에 필요한 기능을 적어도 하나 이상 포함하는 펌웨어 프로그램이 저장 및 실행되는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 프로그램 메모리(135)는 RAM 및/또는 SRAM 및/또는 DRAM 중 적어도 하나 이상의 휘발성 메모리(115)를 포함하여 이루어지는 것이 가능하며, 이 경우 상기 USB 인터페이스(125) 및/또는 메모리 인 터페이스(140)의 동작을 제어하는 기능과, 상기 USB 인터페이스(125)와 연동하여 상기 단말장치(145)와 통신하는 기능과, 상기 메모리 인터페이스(140)와 연동하여 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용을 위한 메모리(115)를 제어 및 관리하는 기능 및/또는 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용에 필요한 기능을 적어도 하나 이상 포함하는 펌웨어 프로그램은 상기 메모리(115)에 저장되고, 상기 메모리(115)에서 상기 프로그램 메모리(135)로 로딩되어 실행되는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 메모리(115)가 EEPROM 및/또는 NOR 계열의 프로그램 가능 메모리(115)로서 상기 펌웨어가 저장 및 실행하는 것이 가능한 경우, 또는 상기 메모리(115)가 NAND 계열의 메모리(115)이지만, 상기 NAND 계열의 메모리(115)에서도 프로그램 실행이 가능한 경우, 상기 펌웨어를 상기 메모리(115)에 저장 및 실행함으로써, 상기 프로그램 메모리(135)는 생략될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
상기 펌웨어 프로그램에서 상기 USB 인터페이스(125) 동작을 제어하는 기능은, 상기 USB 커넥터(110)를 통해 상기 단말장치(145)로부터 소정의 USB 패킷을 수신하고, 상기 수신된 USB 패킷에 대응하는 프로토콜 스택을 판독하고, 상기 프로토콜 스택으로부터 소정의 명령 및/또는 데이터를 추출하는 동작을 제어하는 것을 포 함하여 이루어지는 것이 바람직하다.
또한, 상기 USB 인터페이스(125) 동작을 제어하는 기능은, 상기 제어기(105) 내에서 생성되는 데이터, 및/또는 상기 메모리(115)로부터 추출되는 데이터에 소정의 프로토콜 스택을 적용하여 USB 패킷을 생성하고, 상기 생성된 USB 패킷을 상기 USB 커넥터(110)를 통해 상기 단말장치(145)로 전송하는 동작을 제어하는 것을 포함하여 이루어지는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 펌웨어 프로그램은 상기 USB 인터페이스(125) 동작을 제어하기 위해, 상기 USB 인터페이스(125)의 동작을 제어하는데 필요한 정보 및/또는 플래그를 설정하여 저장 및 관리하는 것이 바람직하며, 및/또는 상기 USB 커넥터(110)를 통해 상기 단말장치(145)로부터 수신되는 데이터를 임시 저장하는 버퍼, 및/또는 상기 USB 커넥터(110)를 통해 상기 단말장치(145)로 전송할 데이터를 임시 저장하는 버퍼를 포함하여 이루어지는 것이 바람직하다.
상기 펌웨어 프로그램에서 상기 메모리 인터페이스(140)의 동작을 제어하는 기능은, 상기 단말장치(145)로부터 메모리(115)에 대한 입출력 관련 명령이 수신되는 경우, 상기 명령에 대응하여 상기 메모리(115)에 상기 명령에 대응하는 데이터를 기록하거나, 상기 메모리(115)로부터 상기 명령에 대응하는 데이터를 읽어오는 것을 포함하여 이루어지는 것이 바람직하며, 특히 상기 메모리 인터페이스(140)의 동작을 제어하는 기능은 연동하여 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용을 위한 메모리(115)를 제어 및 관리하는 기능에 의해 제어되는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 펌웨어 프로그램은 상기 메모리 인터페이스(140)의 동작을 제어하기 위해, 상기 메모리 인터페이스(140)의 동작을 제어하는데 필요한 정보 및/또는 플래그를 설정하여 저장 및 관리하는 것이 바람직하며, 및/또는 상기 메모리(115)에 저장할 데이터를 임시 저장하는 버퍼, 및/또는 상기 메모리(115)로부터 추출한 데이터를 임시 저장하는 버퍼를 포함하여 이루어지는 것이 바람직하다.
상기 펌웨어 프로그램에서 메모리 인터페이스(140)와 연동하여 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용을 위한 메모리(115)를 제어 및 관리하는 기능은, 상기 메모리(115)를 논리적으로 금융사에서 제공하는 하나 이상의 금융거래 서비스를 이용하기 위한 뱅킹 프로그램에 대응하는 소정의 뱅킹 프로그램 데이터와, 상기 메모리(115)를 논리적으로 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용과정에 필요한 OTP를 생성하는 OTP 생성 프로그램에 대응하는 OTP 프로그램 데이터가 저장되는 메모리(115) 영역과, 일반 데이터가 저장되는 메모리(115) 영역으로 분할하여 관리하는 것이 바람직하다.
또한, 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용를 위한 메모리(115)를 제어 및 관리하는 기능은, 상기 제어기(105)에서 상기 USB 커넥터(110)를 통해 연결된 소정의 단말장치(145)에 구비된 응용프로그램 중 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 대한 접근 권한이 인증되는 뱅킹용 응용프로그램 또는 OTP용 응용프로그램만 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(115) 영역에 접근하는 것을 허락 및 제어하는 것이 바람직하며, 인증되지 않은 일반 응용프로그램은 일반 데이터가 저장되는 메모리(115) 영역에 접근하도록 처리하는 것이 바람직하다.
상기 펌웨어 프로그램에서 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용에 필요한 기능은, 상기 본 발명에 따른 금융사에서 제공하는 하나 이상의 금융거래 서비스 이용을 위한 메모리(115)를 제어 및 관리하는 기능을 위해 상기 USB 커넥터(110)를 통해 연결된 소정의 단말장치(145)에 구비된 응용프로그램 중 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(115) 영역에 접근할 수 있는 뱅킹용 응용프로그램 또는 OTP용 응용프로그램의 접근 권한을 인증하는 것을 포함하여 이루어지는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 USB 뱅킹 장치(100)는 소정의 단말장치(145)와 USB 통신 규격을 통해 연결되어 상기 메모리(115)에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 상기 단말장치(145)로 제공하여 상기 단 말장치(145)에 구비된 소정의 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 통해 금융사에서 제공하는 하나 이상의 금융거래 서비스를 이용하기 위한 기능을 제공하는 뱅킹 모드, 또는 상기 단말장치(145)와 USB 통신 규격을 통해 연결되어 상기 메모리(115) 상의 데이터 저장 영역을 상기 단말장치(145)의 데이터 저장영역으로 확장하는 데이터 저장 모드 중 어느 하나의 동작모드로 선택되어 동작하는 것이 바람직하다.
본 발명의 일 실시 방법에 따르면, 상기 USB 뱅킹 장치(100)는 소정의 단말장치(145)와 USB 통신 규격을 통해 연결되어 상기 메모리(115)에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 상기 단말장치(145)로 제공하여 상기 단말장치(145)에 구비된 소정의 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 통해 금융사에서 제공하는 하나 이상의 금융거래 서비스를 이용하기 위한 기능을 제공하는 뱅킹 모드, 또는 상기 단말장치(145)와 USB 통신 규격을 통해 연결되어 상기 메모리(115) 상의 데이터 저장 영역을 상기 단말장치(145)의 데이터 저장영역으로 확장하는 데이터 저장 모드 중 복수개의 동작모드가 동시에 실행되는 다중모드로 동작하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
도면2는 본 발명의 실시 방법에 따른 단말장치의 간단한 기능 구성 블록을 도시한 도면이다.
보다 상세하게 본 도면2는 USB 통신 규격을 통해 상기 USB 뱅킹 장치와 연결되는 단말장치에 대한 기능 구성을 도시한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 USB 통신 규격을 통해 상기 USB 뱅킹 장치와 연결되는 다양한 형태의 단말장치(예컨대, 개인 컴퓨터 및/또는 노트북 등과 같은 유선 단말 등)의 기능 구성을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면2에 도시된 실시 방법에 의해 한정되지 아니한다.
상기 단말장치는 상기 USB 뱅킹 장치에 구비된 USB 커넥터(205)와 소정의 USB 케이블을 통해 전기적으로 연결되는 USB 커넥터(205)와, 상기 단말장치 상에서 모든 USB 통신을 제어하고 관리하는 USB 제어기(200)(USB Controller)를 구비하여 이루어지는 것을 특징으로 한다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자(예컨대, USB 규격을 숙지한 자)라면, 상기 단말장치에 구비되는 상기 USB 커넥터(205)와 USB 제어기(200)에 대한 상세한 기술적 명세를 이해하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
도면2를 참조하면, 상기 단말장치는 상기 USB 제어기(200)를 USB 통신을 제어하는 연동하는 USB 시스템 프로그램과, 상기 USB 시스템 프로그램과 연동하여 상 기 USB 뱅킹 장치에 구비된 기능에 접근하는 적어도 하나 이상의 USB 응용프로그램을 구비하여 이루어지는 것을 특징으로 한다.
상기 USB 시스템 프로그램은 USB 규격의 시스템 구조 상에서 USB 시스템 소프트웨어 계층에 대응하는 프로그램으로서, 상기 단말장치에 구비된 운영체제에 대응하여 상기 USB 제어기(200)와 연동하는 USB 드라이브 프로그램 및/또는 호스트 드라이버 프로그램을 포함하여 이루어진다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자(예컨대, USB 규격을 숙지한 자)라면, 상기 단말장치에 구비되는 상기 USB 시스템 프로그램의 기술적 특징을 명백하게 이해할 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
상기 USB 응용프로그램은 상기 USB 시스템 프로그램과 연동하여 상기 USB 뱅킹 장치에 구비된 기능에 접근하는 적어도 하나 이상의 응용프로그램으로서, 상기 USB 뱅킹 장치에 구비된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 접근하는 뱅킹용 응용프로그램 또는 OTP용 응용프로그램과, 상기 USB 뱅킹 장치에 구비된 일반 데이터 저장 영역에 접근하는 일반 응용프로그램을 적어도 하나 이상 포함하여 이루어진다.
상기 USB 응용프로그램 중 뱅킹용 응용프로그램 또는 OTP용 응용프로그램은 상기 USB 뱅킹 장치에 구비된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 접근하기 위해 상기 USB 뱅킹 장치에 정의된 권한 인증 절차를 수행하는 기능이 포함되어 있는 것이 바람직하다.
상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 USB 뱅킹 장치에 정의된 권한 인증 절차를 수행하는 방법은, 소정의 통신수단을 통해 연결된 서로 다른 두개 이상의 장치에 적용할 수 있는 모든 종류의 종단간(End-To-End) 인증 방식 중 적어도 하나 이상의 종단간 인증 방식을 포함하여 이루어지는 것을 특징으로 하며, 특정 종단간 인증 방식에 의해 본 발명이 한정되지 아니한다.
본 발명의 실시 방법에 따르면, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 USB 뱅킹 장치에 정의된 권한을 인증하는 종단간 인증 방식은, 식별코드 교환을 통한 종단간 인증 방식, 및/또는 암호화를 통한 종단간 인증 방식, 및/또는 키교환 방식을 통한 종단간 인증 방식, 및/또는 OTP(One Time Password) 방식을 통한 종단간 인증 방식 중 적어도 하나 이상을 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상술된 종단간 인증 방식 이외에 다른 종단간 인증 방식을 적용하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
도면3은 본 발명의 실시 방법에 따른 USB 뱅킹 장치(300)의 기능 구성 블록을 도시한 도면이다.
보다 상세하게 본 도면3은 적어도 하나 이상의 USB(Universal Serial Bus) 커넥터와, USB 시스템 프로그램(예컨대, USB 드라이브 프로그램, 호스트 드라이버 프로그램) 및/또는 USB 응용프로그램을 구비한 개인 컴퓨터(Personal Computer; PC))를 포함하는 소정의 단말장치(380)에 USB 통신 규격을 기반으로 인터페이싱하는 USB 뱅킹 장치(300)의 기능 구성을 블록으로 도시한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 개인 컴퓨터와 상기 USB를 통해 인터페이싱하는 USB 뱅킹 장치(300)의 기능 구성에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면3에 도시된 실시 방법에 의해 한정되지 아니한다.
즉, 본 도면3은 상기 도면7에 도시된 USB 뱅킹 장치(300)에 구비되는 펌웨어에 의해 상기 USB 뱅킹 장치(300)를 소정의 단말장치(380)와 USB 통신 규격으로 연결하여 소정의 금융사에서 제공하는 금융거래 서비스에 대한 뱅킹 프로그램을 실행하거나, 및/또는 소정의 데이터 저장장치로 활용하는 특징적인 기능 구성을 도시한 것으로서, 상기 USB 뱅킹 장치(300)의 기기 구성은 상기 도면7에 도시된 기기 중 편의상 USB 커넥터(305)와 메모리(375)만을 도시하였으나, 본 발명의 기능 구성이 본 도면3에 도시된 기능 구성으로 한정되는 것은 결코 아니다.
예컨대, 상기 USB 뱅킹 장치(300)의 기능 구성은 본 도면3에 도시된 기능 구성 이외에, 당업자의 의도에 따라 상기 메모리(375)에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 플레이하는 기능 구성, 및/또는 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터의 DRM을 확인 및 처리하기 위한 기능 구성 등을 더 포함할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
도면3을 참조하면, 적어도 하나 이상의 USB 커넥터(305)와, USB 시스템 프로그램 및/또는 USB 응용프로그램을 구비한 소정의 단말장치(380)와 USB 통신 규격을 기반으로 인터페이싱하는 USB 뱅킹 장치(300)는, 상기 메모리(375)를 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하고, 상기 단말장치(380)에 구비된 응용프로그램 중 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 접근하도록 인증된 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 접근하도록 제어하는 메모리 제어부(365)와, 상기 메모리 제어부(365)를 통해 제어 및 관리되는 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 접근하는 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 인증 처리부(325)와, 상기 메모리 제어부(365)의 메모리(375) 영역 제어 기능을 기반으로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 접근하여 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 입출력을 처리하는 메모리 입출력부(370)를 구비하여 이루어지는 것을 특징으로 한다.
또한, 상기 USB 뱅킹 장치(300)는, 상기 USB 커넥터(305)를 통해 상기 단말장치(380)와 USB 뱅킹 장치(300) 간 USB 패킷을 통신하는 USB 통신부(310)와, 상기 USB 패킷을 USB 통신 규격에 대응하여 처리하는 패킷 처리부(330)를 구비하여 이루어지는 것을 특징으로 하며, 상기 USB 통신부(310)는 상기 USB 통신 규격에 대응하여 상기 단말장치(380)와 USB 뱅킹 장치(300) 간 USB 패킷을 송수신하는 패킷 송수신부(315)와, 상기 USB 패킷 중 상기 토큰 패킷을 처리하는 토큰 패킷 처리부(320)를 포함하여 이루어지며, 및/또는 상기 패킷 처리부(330)는 상기 단말장치(380)에서 상기 USB 뱅킹 장치(300)로 수신된 USB 패킷으로부터 소정의 명령 및/또는 데이터를 추출하는 패킷 추출부(335)와, 상기 USB 뱅킹 장치(300)에서 상기 단말장치(380)로 전송할 USB 패킷을 생성하는 패킷 생성부(340)를 포함하여 이루어진다.
또한, 상기 USB 뱅킹 장치(300)는, 상기 패킷 추출부(335)에 의해 추출된 명령을 판독 및/또는 해석하는 명령 판독부(345)를 구비하여 이루어지는 것을 특징으로 한다.
또한, 상기 USB 뱅킹 장치(300)는 상기 패킷 추출부(335)에 의해 추출된 데이터를 상기 메모리 입출력부(370)를 통해 상기 메모리(375)에 기록하거나, 상기 메모리 입출력부(370)를 통해 상기 메모리(375)로부터 소정의 데이터를 추출하는 데이터 처리부(355)를 구비하여 이루어지는 것을 특징으로 한다.
또한, 상기 USB 뱅킹 장치(300)는 상기 메모리(375) 중 일반 데이터가 저장되는 메모리(375) 영역의 메모리(375) 주소 체계를 상기 단말장치(380)에 구비된 메모리(375) 주소 체계로 변환하는 주소 변환부를 구비하여 이루어지는 것을 특징으로 한다.
또한, 상기 USB 뱅킹 장치(300)는 상기 메모리(375)의 상태 변경을 확인 및 판독하고, 그 결과를 상기 단말장치(380)로 반환하는 상태 처리부(360)를 구비하여 이루어지는 것을 특징으로 한다.
상기 패킷 송수신부(315)는 상기 USB 커넥터(305)를 통해 상기 단말장치(380)로부터 소정의 USB 패킷을 수신하거나, 및/또는 상기 USB 커넥터(305)를 통해 상기 단말장치(380)로 소정의 USB 패킷을 생성하는 것을 특징으로 한다.
USB 관련 규격을 참조하면, 상기 단말장치(380)와 USB 뱅킹 장치(300) 간 송수신하는 데이터의 최소 단위는 패킷으로서, 상기 패킷은 프레임(Frame) 또는 트랜젝션(Transaction)을 만드는데 사용된다.
본 발명의 실시 방법에 따르면, 상기 USB 패킷은 토큰 패킷(Token Packet), 데이터 패킷(Data Packet), 핸드셰이크 패킷(Handshake Packet) 및 특별 패킷(Special Packet)을 포함하여 이루어지며, 상기 패킷들은 적어도 하나 이상의 필드(Field)를 포함하여 이루어진다.
상기 USB 패킷에 포함되는 주요한 필드에는, SYNC 필드, PID(Packet IDentifier) 필드, ADDR(ADDRess) 필드, ENDP(END Point) 필드, 데이터 필드 및 CRC 필드 등이 있으며, 여기서 상기 SYNC 필드는 포든 패킷의 시작 위치를 동기화하는 필드로서 NRZI(Non Return to Zero Inverted) 엔코딩 방식에 따라 IDLE 상태 다음에 나타나며, PID 필드는 해당 패킷을 식별하기 위한 필드로서 상기 SYNC 필드 다음에 위치하며, ADDR 필드는 각각의 USB 장치를 구분하는 필드이고, ENDP 필드는 각각의 USB 장치 내 엔드포인트(Endpoint)를 구분하는 필드이고, 데이터 필드는 실제 송수신 데이터가 적재되는 필드로서 최대 1023 바이트의 크기 내에서 자유롭게 정의될 수 있으며, CRC 필드는 상기 패킷에 포함된 각 필드의 유효성을 인증하기 위한 첵섬(Checksum)에 해당하는 필드이다.
본 발명의 실시 방법에 따르면, 상기 USB 패킷은 적어도 하나 이상의 필드(예컨대, SYNC 필드, PID 필드, ADDR 필드, ENDP 필드, 데이터 필드 및 CRC 필드 등)를 조합하여 이루어진다.
예컨대, 상기 토큰 필드는 8비트의 PID 필드와, 7비트의 ADDR 필드와, 4비트 의 ENDP 필드와, 5비트의 CRC5 필드의 조합으로 이루어지며, 상기 데이터 필드는 8비트의 PID 필드와, 1023 바이트 이내의 데이터 필드와, 16비트의 CRC16 필드의 조합으로 이루어지며, 상기 핸드셰이크 필드는 8비트의 PID 필드로 이루어진다.
본 발명의 실시 방법에 따르면, 상기 패킷 송수신부(315)는 상기 단말장치(380)와 USB 뱅킹 장치(300) 사이에 송수신되는 USB 패킷 중 데이터 패킷과 핸드셰이크 패킷을 송수신하는 것을 특징으로 하며, 토큰 패킷은 상기 토큰 패킷 처리부(320)에 의해 처리되는 것이 바람직하다.
본 발명의 실시 방법에 따르면, 상기 패킷 송수신부(315)를 통해 송수신되는 USB 패킷 중 상기 데이터 패킷의 데이터 필드는 최대 1023 바이트 이내에서 사용자 정의가 가능한데, 상기 데이터 패킷의 데이터 필드에 대한 바람직한 실시예는 도면7을 통해 상세히 설명한다.
상기 패킷 추출부(335)는 상기 토큰 송수신부를 통해 상기 단말장치(380)로부터 상기 USB 뱅킹 장치(300)로 수신된 데이터 패킷의 데이터 필드로부터 소정의 명령 및/또는 데이터를 추출하는 것을 특징으로 하며, 상기 데이터 필드로부터 추출된 명령은 상기 명령 판독부(345)로 제공되고, 상기 데이터 필드로부터 추출된 데이터는 상기 데이터 처리부(355)로 제공된다.
상기 명령 판독부(345)는 상기 데이터 패킷의 데이터 필드로부터 추출된 명령을 판독 및 해석함으로써, 상기 단말장치(380)로부터 요청된 명령의 수행 여부를 판단하는 것을 특징으로 한다.
만약 상기 명령이 상기 메모리(375)와 관련된 것이라면, 상기 명령 판독부(345)는 상기 판독된 명령을 상기 메모리 제어부(365)로 제공하며, 이후 상기 메모리 제어부(365)는 본 발명에 따른 메모리(375) 제어 기능에 따라 상기 명령을 수행한다.
본 발명의 일 실시 방법에 따르면, 상기 메모리 제어부(365)에 의해 제어되는 메모리(375) 상에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역과, 상기 일반 데이터를 저장하는 메모리(375) 영역은 논리적으로 서로 다른 엔드포인트(Endpoint)가 할당되는 것이 바람직하며, 이 때 상기 메모리 제어부(365)는 상기 데이터 패킷을 포함하는 프레임에 포함된 토큰 패킷의 ENDP 필드를 참조하여 상기 USB 대응장치로부터 수신된 명령이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 대응하는지, 또는 상기 일반 데이터를 저장하는 메모리(375) 영역에 대응하는지 확인할 수 있다.
본 발명의 다른 일 실시 방법에 따르면, 상기 데이터 패킷의 데이터 필드에 는 상기 명령이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역과 상기 일반 데이터를 저장하는 메모리(375) 영역 중 어느 메모리(375) 영역을 대상으로 하는지 식별하기 위한 메모리(375) 영역 식별코드가 더 포함되어 있는 것이 가능하며, 이 때 상기 메모리 제어부(365)는 상기 데이터 패킷의 데이터 필드에 포함된 메모리(375) 영역 식별코드를 참조하여 상기 USB 대응장치로부터 수신된 명령이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 대응하는지, 또는 상기 일반 데이터를 저장하는 메모리(375) 영역에 대응하는지 확인할 수 있다.
반면 상기 명령이 상기 메모리(375)와 관련된 것이 아니라면, 상기 명령 판독부(345)는 상기 판독된 명령을 각각의 명령 실행부(도시생략)로 제공함으로써, 상기 단말장치(380)로부터 요청된 명령을 수행한다.
만약 상기 명령의 수행 결과 상기 USB 뱅킹 장치(300)에서 상기 단말장치(380)로 전송할 소정의 데이터가 생성(또는 추출)되면, 상기 패킷 생성부(340)는 상기 생성(또는 추출)된 데이터를 포함하는 소정의 데이터 패킷을 생성하는 것을 특징으로 하며, 상기 패킷 생성부(340)는 상기 생성된 데이터 패킷을 상기 패킷 송수신부(315)로 제공함으로써, 상기 단말장치(380)로 전송한다.
상기 데이터 처리부(355)는 상기 데이터 패킷의 데이터 필드로부터 추출된 데이터를 용도에 맞게 처리하는 것을 특징으로 한다.
만약 상기 데이터가 상기 메모리(375)와 관련된 것이라면(예컨대, 상기 데이터가 상기 메모리(375)의 특정 영역에 기록될 데이터라면), 상기 데이터 처리부(355)는 상기 데이터를 상기 메모리 제어부(365)로 제공하며, 이후 상기 메모리 제어부(365)는 본 발명에 따른 메모리(375) 제어 기능에 따라 상기 명령을 수행한다.
본 발명의 일 실시 방법에 따르면, 상기 메모리 제어부(365)에 의해 제어되는 메모리(375) 상에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역과, 상기 일반 데이터를 저장하는 메모리(375) 영역은 논리적으로 서로 다른 엔드포인트(Endpoint)가 할당되는 것이 바람직하며, 이 때 상기 메모리 제어부(365)는 상기 데이터 패킷을 포함하는 프레임에 포함된 토큰 패킷의 ENDP 필드를 참조하여 상기 USB 대응장치로부터 수신된 데이터가 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 대응하는지, 또는 상기 일반 데이터를 저장하는 메모리(375) 영역에 대응하는지 확인할 수 있다.
본 발명의 다른 일 실시 방법에 따르면, 상기 데이터 패킷의 데이터 필드에는 상기 명령이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역과 상기 일반 데이터를 저장하는 메모리(375) 영역 중 어느 메모리(375) 영역을 대상으로 하는지 식별하기 위한 메모리(375) 영역 식별코드가 더 포함되어 있는 것이 가능하며, 이 때 상기 메모리 제어부(365)는 상기 데이터 패킷의 데이터 필드에 포함된 메모리(375) 영역 식별코드를 참조하여 상기 USB 대응장치로부터 수신된 데이터가 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 대응하는지, 또는 상기 일반 데이터를 저장하는 메모리(375) 영역에 대응하는지 확인할 수 있다.
반면 상기 데이터가 상기 메모리(375)와 관련된 것이 아니라면, 상기 데이터 처리부(355)는 상기 데이터를 각각의 데이터 운용부(도시생략)로 제공함으로써, 상기 단말장치(380)로부터 전송된 데이터를 처리한다.
상기 주소 변환부는 상기 메모리 제어부(365)에 의해 제어되는 메모리(375) 상에서 일반 데이터가 저장되는 메모리(375) 영역의 메모리(375) 주소 체계를 상기 단말장치(380)에 구비된 메모리(375) 주소 체계로 변환하는 것을 특징으로 하며, 이에 의해 상기 단말장치(380)는 상기 일반 데이터가 저장되는 메모리(375) 영역을 상기 단말장치(380)에 구비된 저장장치로 인식하게 된다.
상기 상태 처리부(360)는 상기 메모리(375)의 상태 변경을 확인 및 판독하고, 그 결과를 상기 단말장치(380)로 반환하는 것을 특징으로 하며, 이 때 상기 상 태 처리부(360)는 상기 메모리 제어부(365)에 의해 제어되는 메모리(375) 상에서 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 인증되지 않은 응용프로그램에서 확인할 수 없도록 처리함으로써, 상기 인증되지 않은 응용프로그램에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 접근하는 것을 원천적으로 차단한다.
본 발명에 따르면, 상기 메모리 제어부(365)는 상기 메모리(375)의 물리적인 주소를 기반으로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역을 분할하는 것을 특징으로 하며, 및/또는 상기 메모리(375)가 NAND 메모리(375)인 경우, 상기 NAND 메모리(375)의 블록(Block) 및 페이지(Page) 단위로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역을 분할하는 것을 특징으로 한다.
상기 USB 뱅킹 장치(300)에 구비되는 상기 메모리(375)는 물리적인 주소 체계를 포함하여 이루어지는 것이 바람직하며, 상기 메모리(375)가 NOR 계열의 랜덤 액세스가 가능한 메모리(375)인 경우, 상기 메모리 입출력부(370)는 상기 메모리(375)의 특정 주소에 직접 접근할 수 있지만, 상기 메모리(375)가 NAND 계열의 랜덤 액세스가 용이하지 않은 메모리(375)인 경우, 상기 메모리 입출력부(370)는 상기 메모리(375)의 특정 주소에 블록 및 페이지를 기반으로 접근하는 것이 가능하 다.
따라서, 상기 메모리 제어부(365)는 상기 메모리(375)를 상기 물리적인 주소 체계를 기반으로 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할 할 수 있으며(NAND 및 NOR 계열 공통), 및/또는 상기 메모리(375)가 NAND 메모리(375)인 경우 상기 물리적인 주소 체계 외에 상기 블록과 페이지를 기반으로 상기 메모리(375)를 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할 할 수 있다.
본 발명으로부터 확장되는 실시 방법에 따르면, 상기 메모리 제어부(365)는 상기 메모리(375) 상의 물리적인 주소 체계에 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 복수개 할당할 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
또한, 상기 메모리 제어부(365)는 상기 메모리(375) 상의 물리적인 주소 체계에 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역만을 할당하고, 상기 일반 데이터가 저장되는 메모리(375) 영역을 할당하지 않을 수 있으며(즉, 일반 데이터가 저장되는 메모리(375) 영역을 생략할 수 있으며), 이에 의해 본 발명이 한정되지 아니한다.
이하, 상기 메모리 제어부(365)가 상기 메모리(375)를 상기 물리적인 주소 체계를 기반으로 분할하는 바람직한 실시예는 도면4a와 도면5a와 도면6a를 통해 상세히 설명하고, 상기 메모리(375)를 블록과 페이지 단위로 분할하는 바람직한 실시예는 도면4b와 도면5b와 도면6b를 통해 상세히 설명한다.
본 발명에 따르면, 상기 메모리 제어부(365)는 상기 단말장치(380)에 구비된 응용프로그램 중 상기 인증 처리부(325)에 의해 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 접근하도록 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 접근하도록 제어하는 것을 특징으로 한다.
상기 USB 뱅킹 장치(300)와 USB 커넥터(305)를 통해 연결되는 단말장치(380)는 상기 메모리(375) 상의 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 접근할 수 있는 뱅킹용 응용프로그램 또는 OTP용 응용프로그램과, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 접근할 수 없는 일반 응용프로그램이 구비되는 것이 모두 가능하다.
따라서, 상기 메모리 제어부(365)는 상기 인증 처리부(325)에 의해 상기 뱅 킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 접근할 수 있도록 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램만이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 접근하도록 제어하고, 상기 인증 처리부(325)에 의해 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 접근할 수 있도록 인증되지 않은 모든 응용프로그램(예컨대, 상기 인증 처리부(325)에 의해 인증되지 않은 뱅킹용 응용프로그램 또는 OTP용 응용프로그램, 및/또는 일반 응용프로그램 등)은 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 접근할 수 없도록 제어하는 것을 특징으로 한다.
본 발명의 일 실시 방법에 따르면, 상기 메모리 제어부(365)는 상기 인증 처리부(325)에 의해 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터에 접근할 수 있도록 인증되지 않은 뱅킹용 응용프로그램 또는 OTP용 응용프로그램은 상기 메모리(375)에 접근하는 것을 차단하거나, 또는 상기 메모리(375) 상에 할당된 일반 데이터 저장 영역에 접근할 수 있도록 제어하는 것이 바람직하다.
또한, 상기 메모리 제어부(365)는 상기 메모리(375) 상에 할당된 일반 데이 터 저장 영역에 접근하고자 하는 일반 응용프로그램은 소정의 인증 절차 없이 상기 일반 데이터 저장 영역에 접근하도록 제어하는 것이 바람직하며, 당업자의 의도에 따라 상기 일반 데이터 저장 영역에 접근하는 일반 응용프로그램도 상기 인증 처리부(325)를 통해 상기 일반 데이터 저장 영역에 접근할 수 있는지 인증하는 절차를 수행하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 일 실시 방법에 따르면, 상기 메모리 제어부(365)에 의해 제어되는 메모리(375) 상에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역과, 상기 일반 데이터를 저장하는 메모리(375) 영역은 논리적으로 서로 다른 엔드포인트(Endpoint)를 할당하는 것이 바람직하며, 이에 의해 상기 단말장치(380)에서 상기 메모리(375)에 할당된 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역과 상기 일반 데이터를 저장하는 메모리(375) 영역을 서로 다른 메모리(375)로 인식하도록 처리할 수 있다.
본 발명의 일 실시 방법에 따르면, 상기 메모리 제어부(365)가 상기 메모리(375) 상에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램만 접근하도록 제어하는 방법은, 상기 메모리 제어부(365)가 상기 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 메모리(375) 접근 명령만을 수용하고, 이외에 다른 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 모든 명령을 무시(또는 거부)하도록 제어함으로써 실현될 수 있다.
예를 들어, 상기 USB 뱅킹 장치(300)가 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 대응하는 뱅킹 모드, 또는 상기 일반 데이터가 저장되는 메모리(375) 영역에 대응하는 데이터 저장 모드 중 어느 하나의 모드로 동작하는 경우, 상기 메모리 제어부(365)는 우선 상기 USB 뱅킹 장치(300)의 동작모드가 뱅킹 모드인지 또는 데이터 저장모드인지 확인한다.
만약 상기 USB 뱅킹 장치(300)의 동작모드가 뱅킹 모드라면, 상기 메모리 제어부(365)는 상기 인증 처리부(325)를 통해 상기 단말장치(380)에 구비된 응용프로그램(예컨대, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 접근하고자 하는 응용프로그램)이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 접근할 수 있는 유효한 뱅킹용 응용프로그램 또는 OTP용 응용프로그램인지 인증한 후, 만약 상기 인증 처리부(325)를 통해 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 인증되면, 상기 메모리 제어부(365)는 상기 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 메모리(375) 접근 명령이 정상적으로 처리되도록 수용하는 반면, 상기 USB 대 응장치에 구비된 응용프로그램 중 상기 인증되지 않은 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 모든 메모리(375) 접근 명령은 무시(또는 거부)한다.
반면 상기 USB 뱅킹 장치(300)의 동작모드가 아니라면(예컨대, 데이터 저장 모드라면), 상기 메모리 제어부(365)는 상기 USB 대응장치에 구비된 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 모든 메모리(375) 접근 명령은 무시(또는 거부)한다.
또한, 예를 들어, 상기 USB 뱅킹 장치(300)가 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 대응하는 뱅킹 모드와 상기 일반 데이터가 저장되는 메모리(375) 영역에 대응하는 데이터 저장 모드를 동시에 지원하는 경우, 상기 단말장치(380)에서 상기 USB 뱅킹 장치(300)로 입력되는 명령에는 소정의 응용프로그램 식별 데이터를 포함하도록 정의한 후, 상기 메모리 제어부(365)는 상기 단말장치(380) 구비된 응용프로그램으로부터 수신되는 명령을 판독하여 해당 명령이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 접근할 수 있도록 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 요청된 것인지 확인한다.
만약 상기 단말장치(380) 구비된 응용프로그램으로부터 수신되는 명령이 상 기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 접근할 수 있도록 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 요청된 것이라면, 상기 메모리 제어부(365)는 상기 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 메모리(375) 접근 명령이 정상적으로 처리되도록 수용한다.
반면 상기 단말장치(380) 구비된 응용프로그램으로부터 수신되는 명령이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 접근할 수 있도록 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 요청된 것이 아니라면, 상기 메모리 제어부(365)는 상기 인증 처리부(325)를 통해 상기 단말장치(380)에 구비된 응용프로그램(예컨대, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 접근하고자 하는 응용프로그램)이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 접근할 수 있는 유효한 뱅킹용 응용프로그램 또는 OTP용 응용프로그램인지 인증한 후, 만약 상기 인증 처리부(325)를 통해 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 인증되면, 상기 메모리 제어부(365)는 상기 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 메모리(375) 접근 명령이 정상적으로 처리되도록 수용하는 반면, 상기 USB 대응장치에 구비된 응용프로그램 중 상기 인증되지 않은 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 모든 메모리(375) 접근 명령은 무시(또는 거부)한다.
본 발명의 다른 일 실시 방법에 따르면, 상기 메모리 제어부(365)가 상기 메모리(375) 상에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램만 접근하도록 제어하는 방법은, 상기 메모리 제어부(365)가 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 기본적으로 비활성화 시키고, 상기 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 대한 접근이 요청되는 경우, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 임시 활성화 시키도록 제어함으로써 실현될 수 있다.
예를 들어, 상기 메모리(375)가 NAND 메모리(375)라면, 상기 NAND 메모리(375)는 제조공정에서 적어도 하나 이상의 배드 블록(Bad Block)을 포함할 수 있으며, 상기 배드 블록은 상기 NAND 메모리(375) 모듈에 의해 사용할 수 없는 블록으로 비활성화되는데, 상기 메모리 제어부(365)는 상기 배드 블록 설정을 통해 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 기본적으로 비활성화 시킨다.
즉, 상기 메모리 제어부(365)는 상기 뱅킹 프로그램 데이터 또는 OTP 프로그 램 데이터가 저장되는 메모리(375) 영역을 가상의 배드 블록으로 설정함으로써, 일반 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 접근하는 것을 원천적으로 차단한다.
이 때, 상기 메모리(375)에는 실제 배드 블록이 존재할 수 있으므로, 상기 메모리 제어부(365)는 상기 메모리(375)에 실제 존재하는 배드 블록과 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역으로 설정되어 가상의 배드 블록으로 설정된 배드 블록을 구분하여 관리하는 것이 바람직하다.
이후, 상기 단말장치(380)에 구비된 응용프로그램 중 상기 인증 처리부(325)에 의해 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 대상으로 하는 명령이 요청되면, 상기 메모리 제어부(365)는 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 가상으로 설정된 배드 블록을 변경(예컨대, 배드 블록 취소)함으로써, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 임시 활성화 시킨 후, 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 요청된 명령을 처리하도록 한다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 메모리 제어부(365)가 상기 메모리(375) 상에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램만 접근하도록 제어하는 방법은, 상기 메모리 제어부(365)가 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역을 논리적으로 서로 다른 메모리(375) 주소 체계로 매핑함으로써 실현될 수 있다.
예를 들어, 상기 USB 뱅킹 장치(300)의 물리적인 메모리(375) 주소 체계가 0x0000~0xFFFF로 이루어져 있다면(USB 뱅킹 장치(300)의 실제 메모리(375) 크기는 MB 및/또는 GB 단위이지만, 설명의 편의상 64KB로 가정함), 상기 메모리 제어부(365)는 상기 메모리(375) 영역 중 물리적인 메모리(375) 주소 0x0000~0x7FFF를 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역으로 할당하고, 물리적인 메모리(375) 주소 0x8000~0xFFFF를 일반 데이터가 저장되는 메모리(375) 영역으로 할당한다.
이후, 상기 메모리 제어부(365)는 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역의 물리적인 메모리(375) 주소 0x0000~0x7FFF를 논리적인 메모리(375) 주소 0x0000~0x7FFF으로 할당하고, 또한 상기 일반 데이터가 저장되는 메모리(375) 영역의 물리적인 메모리(375) 주소 0x8000~0xFFFF를 논리적인 메모리(375) 주소 0x0000~0x7FFF으로 한다.
이에 의해, 상기 메모리(375) 상에 논리적으로 서로 다른 메모리(375) 주소 체계를 갖는 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장용 메모리(375)와, 일반 데이터 저장용 메모리(375)가 탑재된 것처럼 인식된다.
이때, 상기 주소 변환부는 일반 데이터가 저장되는 메모리(375) 영역의 메모리(375) 주소 체계를 상기 단말장치(380)에 구비된 메모리(375) 주소 체계로 변환함으로써, 상기 단말장치(380)에 구비된 일반 응용프로그램은 상기 일반 데이터가 저장되는 메모리(375) 영역에만 접근하도록 제한되며, 결과적으로 상기 일반 응용프로그램은 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 원천적으로 접근할 수 없다.
다만, 상기 단말장치(380)에 구비된 응용프로그램 중 상기 인증 처리부(325)에 의해 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 대상으로 하는 명령이 요청되는 경우, 상기 메모리 제어부(365)는 선택적으로 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 접근하도록 수용한다.
또한, 예를 들어, 상기 메모리(375)가 NAND 메모리(375)라면, 상기 USB 뱅킹 장치(300)의 메모리(375)는 블록 및 페이지 단위로 구성되어 있으므로, 상기 메모리 제어부(365)는 상기 메모리(375) 영역을 상기 블록 및 페이지 단위를 기준으로 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할한다.
이후, 상기 메모리 제어부(365)는 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역의 블록 번호와 페이지 번호와 일반 데이터가 저장되는 메모리(375) 영역의 블록 번호와 페이지 번호를 논리적으로 다른 체계로 설정함으로써, 상기 메모리(375) 상에 논리적으로 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장용 NAND 메모리(375)와 일반 데이터 저장용 NAND 메모리(375)가 구비된 것으로 인식되도록 한다.
이때, 상기 주소 변환부는 일반 데이터가 저장되는 메모리(375) 영역의 블록 및 페이지를 상기 단말장치(380)에 구비된 메모리(375) 주소 체계로 변환함으로써, 상기 단말장치(380)에 구비된 일반 응용프로그램은 상기 일반 데이터가 저장되는 메모리(375) 영역에만 접근하도록 제한되며, 결과적으로 상기 일반 응용프로그램은 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 원천적으로 접근할 수 없다.
본 발명에 따르면, 상기 명령 판독부(345)에 의해 판독되는 명령이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 대응하는 경우, 및/또는 상기 USB 커넥터(305)를 통해 연결된 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 접근하고자 하는 경우, 상기 인증 처리부(325)는 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 대한 접근권한 인증 절차를 수행하는 것을 특징으로 하며, 상기 인증 처리부(325)에 의해 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 대한 접근권한이 인증되는 경우, 상기 메모리 제어부(365)에 의해 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 대응하는 명령이 실행되거나, 및/또는 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 접근할 수 있게 된다.
상기 인증 처리부(325)가 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 접근하는 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 방법은, 소정의 통신수단을 통해 연결된 서로 다른 두개 이상의 장치에 적용할 수 있는 모든 종류의 종단간(End-To-End) 인증 방식 중 적어도 하나 이상의 종단간 인증 방식을 포함하여 이루어지는 것을 특징으로 하며, 특정 종단간 인증 방식에 의해 본 발명이 한정되지 아니한다.
본 발명의 실시 방법에 따르면, 상기 인증 처리부(325)가 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역에 접근하는 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하기 위한 종단간 인증 방식은, 식별코드 교환을 통한 종단간 인증 방식, 및/또는 암호화를 통한 종단간 인증 방식, 및/또는 키교환 방식을 통한 종단간 인증 방식, 및/또는 OTP(One Time Password) 방식을 통한 종단간 인증 방식, 공인인증서를 통한 종단간 인증 방식 중 적어도 하나 이상을 포함하여 이루어지는 것이 바람직하며, 당업자의 의도에 따라 상술된 종단간 인증 방식 이외에 다른 종단간 인증 방식을 적용하는 것이 가능하며, 이에 의해 본 발명이 한정되지 아니한다.
예컨대, 상기 종단간 인증 방식 중 식별코드 교환을 통한 종단간 인증 방식은, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에 소정의 식별코드가 구비되어 있는 상태에서, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 상기 식별코드를 USB 통신 규격에 따라 상기 USB 뱅킹 장치(300)로 전송하면, 상기 USB 뱅킹 장치(300)에 구비된 인증 처리부(325)에서 상기 수신된 식별코드를 인증함으로써 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램의 메모리(375) 접근 권한을 인증하는 방식이다.
또한, 상기 종단간 인증 방식 중 암호화를 통한 종단간 인증 방식은, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 소정의 데이터(예컨대, 임의로 생성된 난수, 소정의 식별코드, 상기 단말장치(380)에서 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에 할당한 고유 정보, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 상기 USB 뱅킹 장치(300)로 전송할 데이터 등)를 상기 인증 처리부(325)와 약속된 암호화 방식(및/또는 암호화 알고리즘)으로 암호화하여 USB 통신 규격에 따라 상기 USB 뱅킹 장치(300)로 전송하면, 상기 USB 뱅킹 장치(300)에 구비된 인증 처리부(325)에서 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램과 약속된 암호화 방식(및/또는 암호화 알고리즘)을 통해 상기 암호화된 데이터를 인증함으로써 상기 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램의 메모리(375) 접근 권한을 인증하는 방식이다.
또한, 상기 종단간 인증 방식 중 키교환 방식을 통한 종단간 인증 방식은, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 소정의 암호화 키를 생성하고, 상기 생성된 암호화 키를 통해 소정의 데이터(예컨대, 임의로 생성된 난수, 소정의 식별코드, 상기 단말장치(380)에서 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에 할당한 고유 정보, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 상기 USB 뱅킹 장치(300)로 전송할 데이터 등)를 암호화한 후, 소정의 키교환 방식에 대응하여 상기 암호화 키와 상기 암호화된 데이터를 USB 통신 규격에 따라 상기 USB 뱅킹 장치(300)로 전송하면, 상기 USB 뱅킹 장치(300)에 구비된 인 증 처리부(325)에서 상기 암호화 키를 통해 상기 암호화된 데이터를 인증함으로써 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램의 메모리(375) 접근 권한을 인증하는 방식이다.
또한, 상기 종단간 인증 방식 중 OTP 방식을 통한 종단간 인증 방식은, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 소정의 OTP 생성 방식에 따라 소정의 OTP 코드를 생성하여 USB 통신 규격에 따라 상기 USB 뱅킹 장치(300)로 전송하면, 상기 USB 뱅킹 장치(300)에 구비된 인증 처리부(325)에서 상기 수신된 OTP 코드에 대응하는 OTP 생성 방식에 따라 소정의 OTP 인증코드를 생성 및 상기 OTP 코드와 OTP 인증코드를 인증함으로써 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램의 메모리(375) 접근 권한을 인증하는 방식이다.
또한, 상기 종단간 인증 방식 중 공인인증서 방식을 통한 종단간 인증 방식은, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 소정의 공인인증서 정보를 상기 USB 통신 규격에 따라 상기 USB 뱅킹 장치(300)로 전송하면, 상기 USB 뱅킹 장치(300)에 구비된 인증 처리부(325)에서 상기 수신된 공인인증서 정보를 인증함으로써, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램의 메모리(375) 접근 권한을 인증하는 방식이다.
본 발명의 실시예에 의하면, 상기 종단간 인증 방식 중 식별코드 교환을 통 한 종단간 인증 방식은 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 USB 뱅킹 장치(300)로부터 USB 통신 규격을 통해 상기 단말장치(380)로 제공되어 탑재되는 경우 간단하게 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 경우에 적합하며, 상기 종단간 인증 방식 중 암호화를 통한 종단간 인증 방식, 및/또는 키교환 방식을 통한 종단간 인증 방식, 및/또는 방식을 통한 종단간 인증 방식 등은 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 네트워크 상의 서버로부터 상기 단말장치(380)로 다운로드되어 설치된 응용프로그램이거나, 및/또는 소정의 소프트웨어 배포 패키지(예컨대, CD-ROM을 포함하는 소프트웨어 배포 패키지)를 통해 상기 단말장치(380)에 설치된 경우 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 경우에 적합할 것이다.
본 발명의 바람직한 일 실시 방법에 따라 상기 인증 처리부(325)가 암호화를 통한 종단간 인증 방식을 통해 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 실시예는, 상기 인증 처리부(325)에서 상기 USB 통신 규격을 통해 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로 인증 데이터를 요청하면, 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램은 소정의 인증 데이터를 생성(또는 추출)하여 상기 USB 통신 규격을 통해 USB 뱅킹 장치(300)로 전송하면, 상기 인증 처리부(325)에서 상기 인증 데이터에 대한 유효성을 인증하는 과정을 포함하여 이루어지는 것이 바람직하다.
여기서, 만약 상기 USB 뱅킹 장치(300)가 OTG 기반의 USB 장치라면, 상기 인증 처리부(325)가 상기 단말장치(380)로 직접 인증 데이터를 요청할 수 있으며, 반면 상기 USB 뱅킹 장치(300)가 USB 타겟 장치라면, 상기 인증 처리부(325)는 상기 단말장치(380)로부터 수신된 소정의 패킷의 응답으로 상기 단말장치(380)로 상기 인증 데이터를 요청할 수 있다.
예를 들어, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에는 소정의 난수를 생성하고, 상기 생성된 난수를 상기 USB 뱅킹 장치(300)와 약속된 소정의 암호화 방식(및/또는 암호화 알고리즘)으로 암호화한 후, 상기 평문 형태의 난수와 상기 암호화된 난수를 연접하여 소정의 인증 데이터를 생성하는 기능이 구비되어 있고, 상기 인증 처리부(325)에는 상기 인증 데이터를 수신하고, 상기 인증 데이터에 포함된 평문 형태의 난수를 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램과 약속된 소정의 암호화 방식(및/또는 암호화 알고리즘)으로 암호화한 후, 상기 암호화된 난수와 상기 인증 데이터에 포함되어 있는 암호화된 난수를 비교함으로써, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역에 접근하는 것을 인증하는 기능이 구비되어 있다면, 다음과 같은 방식의 종단간 인증 절차를 수행될 수 있다.
예컨대, 상기 예시된 종단간 인증 방식에 있어서, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램과 인증 처리부(325) 사이에는 미리 약속된 소정의 암호화 방식(및/또는 암호화 알고리즘)이 존재한다면, 상기 인증 처리부(325)에서 상기 USB 통신 규격을 통해 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로 인증 데이터를 요청하면, 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 소정의 난수를 생성하고, 상기 생성된 난수를 상기 약속된 소정의 암호화 방식(및/또는 암호화 알고리즘)으로 암호화하고, 상기 평문 형태의 난수와 상기 암호화된 난수를 연접하여 소정의 인증 데이터를 생성한 후, 상기 인증 데이터를 상기 USB 통신 규격에 따라 상기 USB 뱅킹 장치(300)로 전송하며, 이 후 상기 인증 처리부(325)는 상기 인증 데이터로부터 상기 평문 형태의 난수와 암호화된 난수를 추출하고, 상기 평문 형태의 난수를 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램과 약속된 소정의 암호화 방식(및/또는 암호화 알고리즘)으로 암호화한 후, 상기 암호화된 난수와 상기 인증 데이터로부터 추출된 암호화된 난수를 비교함으로써, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역에 접근하는 것을 인증할 수 있다.
또는, 역으로 상기 인증 처리부(325)에서 상기 인증 데이터에 포함된 암호화된 난수를 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램과 약속된 소정의 복호화 방식(및/또는 복호화 알고리즘)으로 복호화한 후, 상기 복호화된 난수와 상기 인증 데이터로부터 추출된 평문 형태의 난수를 비교함으로써, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역에 접근하는 것을 인증하여도 무방하다.
또한, 예컨대, 상기 예시된 종단간 인증 방식에 있어서, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램과 인증 처리부(325) 사이에는 미리 약속된 복수개의 암호화 방식(및/또는 암호화 알고리즘)이 존재할 수 있으며, 이 경우 상기 복수개의 암호화 방식(및/또는 암호화 알고리즘)에는 미리 정의된 인덱스가 할당되어 있는 것이 바람직하다.
이 때, 상기 인증 처리부(325)에서 상기 USB 통신 규격을 통해 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로 소정의 인덱스에 대응하는 인증 데이터를 요청하면, 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 소정의 난수를 생성하고, 상기 생성된 난수를 상기 인덱스에 대응하는 암호화 방식(및/또는 암호화 알고리즘)으로 암호화하고, 상기 평문 형태의 난수와 상기 암호화된 난수를 연접하여 소정의 인증 데이터를 생성한 후, 상기 인증 데이터를 상기 USB 통신 규격에 따라 상기 USB 뱅킹 장치(300)로 전송하며, 이 후 상기 인증 처리부(325)는 상기 인증 데이터로부터 상기 평문 형태의 난수와 암호화된 난수를 추출하고, 상기 평문 형태의 난수를 상기 인덱스에 대응하는 암호화 방식(및/또는 암호화 알고리즘)으로 암호화한 후, 상기 암 호화된 난수와 상기 인증 데이터로부터 추출된 암호화된 난수를 비교함으로써, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역에 접근하는 것을 인증할 수 있다.
또는, 역으로 상기 인증 처리부(325)에서 상기 인증 데이터에 포함된 암호화된 난수를 상기 인덱스에 대응하는 복호화 방식(및/또는 복호화 알고리즘)으로 복호화한 후, 상기 복호화된 난수와 상기 인증 데이터로부터 추출된 평문 형태의 난수를 비교함으로써, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역에 접근하는 것을 인증하여도 무방하다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 상기 암호화를 통한 종단간 인증 방식에 대응하여 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 실시예를 참조하여, 상기 인증 처리부(325)에서 식별코드 교환을 통한 종단간 인증 방식에 대응하여 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 다양한 실시예, 및/또는 키교환 방식을 통한 종단간 인증 방식에 대응하여 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 다양한 실시예, 및/또는 OTP 방식을 통한 종단간 인증 방식에 대응하여 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 다양한 실시예들을 유추할 수 있을 것이므로, 이에 대한 상세한 예시는 편의상 생략한다.
본 발명의 일 실시 방법에 따르면, 상기 인증 처리부(325)가 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 경우는, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역으로 최초 접근하거나, 및/또는 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역에 대응하는 명령이 최초 수신된 경우, 한번 수행되는 것이 바람직하며, 이후 상기 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램은 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역에 추가 인증 절차 없이 접근하는 것이 가능하다.
본 발명의 다른 일 실시 방법에 따르면, 상기 인증 처리부(325)가 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 경우는, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역으로 최초 접근하거나, 및/또는 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역에 대응하는 명령이 최초 수신된 경우, 최초 수행된 후, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역을 변경하거나 및/또는 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역에 소정의 데이터를 기록하는 경우, 선택적으로 더 수행되는 것이 바람직하며, 이에 의해 본 발명이 한정되지 아니한다.
본 발명의 또다른 일 실시 방법에 따르면, 상기 인증 처리부(325)가 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램을 인증하는 경우는, 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역으로 접근하거나, 및/또는 상기 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장된 메모리(375) 영역에 대응하는 명령이 수신된 경우, 반복적으로 수행되는 것이 바람직하며, 이에 의해 본 발명이 한정되지 아니한다.
상기 메모리 입출력부(370)는 상기 메모리 제어부(365)의 메모리(375) 영역 제어 기능을 기반으로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역 및/또는 일반 데이터가 저장되는 메모리(375) 영역을 포함하여 이루어진 상기 메모리(375) 구성에 기반으로 상기 메모리(375)에 대응하는 명령을 처리하는 것을 특징으로 한다.
예컨대, 상기 메모리(375)가 NAND 메모리(375)인 경우, 상기 메모리(375) 모듈은 8개의 입출력 핀(I/O0, I/O1, I/O2, ..., I/O7)(예컨대, 데이터 버스를 구성하는 핀), CLE(Command Latch Enable) 핀, ALE(Address Latch Enable) 핀, CE(Chip Enable) 핀, RE(Read Enable) 핀, WE(Write Enable) 핀, WP(Write Protect) 핀, R/B(Ready/Busy) 핀 등이 구비되어 있는데, 상기 메모리 입출력부(370)는 상기 메모리 제어부(365)의 메모리(375) 영역 제어 기능을 기반으로 상기 메모리(375) 모듈의 핀 구성을 제어함으로써, 데이터 입출력 명령(예컨대, READ1, READ2, READ ID 등), 및/또는 초기화 명령(RESET), 및/또는 프로그램 명령(PROGRAM PAGE), 및/또는 삭제 명령(BLOCK ERASE), 및/또는 상태 확인 명령(READ STATUS) 등을 처리하며, 이에 의해 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역으로부터 소정의 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 추출하거나, 및/또는 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역으로 소정의 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 기록하는 것이 가능하다.
도면4a와 도면4b는 본 발명의 일 실시 방법에 따라 USB 뱅킹 장치(300)의 메모리(375) 영역을 분할하는 실시예를 예시한 도면이다.
보다 상세하게 본 도면4a와 도면4b는 상기 도면1에 도시된 USB 뱅킹 장치(300)의 상기 메모리 제어부(365)가 상기 인증된 뱅킹용 응용프로그램 또는 OTP 용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 메모리(375) 접근 명령만을 수용하고, 이외에 다른 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 모든 명령을 무시(또는 거부)하도록 제어하기 위해 상기 메모리(375)를 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 실시예를 예시한 것으로서, 구체적으로 도면4a는 상기 메모리(375)의 주소 체계를 기반으로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 실시예를 예시한 것이고, 도면4b는 상기 메모리(375)가 NAND 메모리(375)인 경우 블록 및 페이지를 기반으로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 실시예를 예시한 것이다.
다만, 본 도면4a와 도면4b에 예시된 메모리(375) 영역 분할 실시예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 상기 메모리(375)를 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 개념을 도시한 것일 뿐, 실제 상기 메모리(375) 영역은 본 도면4a와 도면4b에 예시된 실시예 이외에 용량의 차이 또는 상기 뱅킹 프로그램 데이터와 OTP 프로그램 데이터의 용량 등에 따라 다양한 방법으로 분할될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
일반적으로 USB 뱅킹 장치(300)의 실제 메모리(375) 크기는 MB 및/또는 GB 단위이지만, 본 도면4a와 도면4b에서 상기 메모리(375) 크기를 설명의 편의상 64KB로 가정한다.
도면4a와 도면4b를 참조하면, 상기 메모리(375)의 루트 영역(예컨대, 메모리(375) 주소 0x0000 및/또는 블록0)에는 파일 루트 디렉토리(File Root Directory) 정보 저장영역, 및/또는 파일 할당 테이블(File Allocation Table; FAT) 저장영역, 및/또는 시스템 정보 저장 영역, 및/또는 배드 블록 정보 저장영역 등을 적어도 하나 이상 포함하는 저장영역이 존재하며, 상기 루트 영역은 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역에 속하지 않는다.
본 발명의 일 실시 방법에 따르면, 상기 루트 영역의 어느 저장영역(예컨대, 파일 루트 디렉토리 정보 저장영역 및/또는 시스템 정보 저장 영역)에는 상기 메모리(375) 상에서 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 해당하는 메모리(375) 주소 정보(및/또는 블록 정보), 및/또는 일반 데이터가 저장되는 메모리(375) 영역에 해당하는 메모리(375) 주소 정보(및/또는 블록 정보)를 저장하며, 이에 의해 상기 메모리 제어부(365)는 상기 인증 처리 부(325)에 의해 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 메모리(375) 접근 명령만을 수용하고, 이외에 다른 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 모든 명령을 무시(또는 거부)하도록 제어하게 된다.
본 발명의 다른 일 실시 방법에 따르면, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 해당하는 메모리(375) 주소 정보(및/또는 블록 정보), 및/또는 일반 데이터가 저장되는 메모리(375) 영역에 해당하는 메모리(375) 주소 정보(및/또는 블록 정보)를 상기 메모리 제어부(365) 내에 포함하여 저장하는 것이 가능하며, 이에 의해 상기 메모리 제어부(365)는 상기 인증 처리부(325)에 의해 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 메모리(375) 접근 명령만을 수용하고, 이외에 다른 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역을 대상으로 요청되는 모든 명령을 무시(또는 거부)하도록 제어하게 된다.
본 발명의 일 실시 방법을 따르는 본 도면4a에서, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역은 메모리(375) 주소 0x0800~0x7FFF에 할당되며, 상기 일반 데이터가 저장되는 메모리(375) 영역은 메모 리(375) 주소 0x800~0xFFFF로 할당되며, 또한, 본 도면4b에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역은 블록4~블록63에 할당되며, 상기 일반 데이터가 저장되는 메모리(375) 영역은 블록64~블록127까지 할당된다.
도면5a와 도면5b는 본 발명의 다른 일 실시 방법에 따라 USB 뱅킹 장치(300)의 메모리(375) 영역을 분할하는 실시예를 예시한 도면이다.
보다 상세하게 본 도면5a와 도면5b는 상기 도면1에 도시된 USB 뱅킹 장치(300)의 상기 메모리 제어부(365)가 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 기본적으로 비활성화 시키고, 상기 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 대한 접근이 요청되는 경우, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 임시 활성화 시키도록 제어하기 위해 상기 메모리(375)를 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 실시예를 예시한 것으로서, 구체적으로 도면5a는 상기 메모리(375)의 주소 체계를 기반으로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 실시예를 예시한 것이고, 도면5b는 상기 메모리(375)가 NAND 메모 리(375)인 경우 블록 및 페이지를 기반으로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 실시예를 예시한 것이다.
다만, 본 도면5a와 도면5b에 예시된 메모리(375) 영역 분할 실시예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 상기 메모리(375)를 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 개념을 도시한 것일 뿐, 실제 상기 메모리(375) 영역은 본 도면5a와 도면5b에 예시된 실시예 이외에 다양한 방법으로 분할될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
일반적으로 USB 뱅킹 장치(300)의 실제 메모리(375) 크기는 MB 및/또는 GB 단위이지만, 본 도면5a와 도면5b에서 상기 메모리(375) 크기를 설명의 편의상 64KB로 가정한다.
도면5a와 도면5b를 참조하면, 상기 메모리(375)의 루트 영역(예컨대, 메모리(375) 주소 0x0000 및/또는 블록0)에는 파일 루트 디렉토리(File Root Directory) 정보 저장영역, 및/또는 파일 할당 테이블(File Allocation Table; FAT) 저장영역, 및/또는 시스템 정보 저장 영역, 및/또는 배드 블록 정보 저장영역 등을 적어도 하나 이상 포함하는 저장영역이 존재하며, 상기 루트 영역은 뱅킹 프 로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역에 속하지 않는다.
본 발명의 일 실시 방법에 따르면, 상기 루트 영역의 배드 블록 정보 저장영역에는 상기 메모리(375) 상에 실제로 존재하는 배드 블록 정보와, 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 가상으로 배드 블록으로 처리하는 배드 블록 정보를 저장하며, 이에 의해 상기 메모리 제어부(365)는 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 기본적으로 비활성화 시키고, 상기 인증 처리부(325)에 의해 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 대한 접근이 요청되는 경우, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 임시 활성화 시키도록 제어하게 된다.
본 발명의 다른 일 실시 방법에 따르면, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 가상으로 배드 블록으로 처리하는 배드 블록 정보는 상기 메모리 제어부(365) 내에 포함하여 저장하는 것이 가능하며, 이에 의해 상기 메모리 제어부(365)는 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 기본적으로 비활성화 시키고, 상기 인증 처리부(325)에 의해 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그 램으로부터 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터 저장 영역에 대한 접근이 요청되는 경우, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역을 임시 활성화 시키도록 제어하게 된다.
본 발명의 일 실시 방법을 따르는 본 도면5a에서, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역은 메모리(375) 주소 0x0800~0x7FFF에 할당되며, 상기 일반 데이터가 저장되는 메모리(375) 영역은 메모리(375) 주소 0x800~0xFFFF로 할당되며, 또한, 본 도면5b에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역은 블록4~블록63에 할당되며, 상기 일반 데이터가 저장되는 메모리(375) 영역은 블록64~블록127까지 할당된다.
도면6a와 도면6b는 본 발명의 또다른 일 실시 방법에 따라 USB 뱅킹 장치(300)의 메모리(375) 영역을 분할하는 실시예를 예시한 도면이다.
보다 상세하게 본 도면6a와 도면6b는 상기 도면1에 도시된 USB 뱅킹 장치(300)의 상기 메모리 제어부(365)가 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역을 논리적으로 서로 다른 메모리(375) 주소 체계로 매핑함으로써 상기 메모리(375)를 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모 리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 실시예를 예시한 것으로서, 구체적으로 도면6a는 상기 메모리(375)의 주소 체계를 기반으로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 실시예를 예시한 것이고, 도면6b는 상기 메모리(375)가 NAND 메모리(375)인 경우 블록 및 페이지를 기반으로 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 실시예를 예시한 것이다.
다만, 본 도면6a와 도면6b에 예시된 메모리(375) 영역 분할 실시예는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 상기 메모리(375)를 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장되는 메모리(375) 영역으로 분할하는 개념을 도시한 것일 뿐, 실제 상기 메모리(375) 영역은 본 도면6a와 도면6b에 예시된 실시예 이외에 다양한 방법으로 분할될 수 있으며, 이에 의해 본 발명이 한정되지 아니한다.
일반적으로 USB 뱅킹 장치(300)의 실제 메모리(375) 크기는 MB 및/또는 GB 단위이지만, 본 도면6a와 도면6b에서 상기 메모리(375) 크기를 설명의 편의상 64KB로 가정한다.
도면6a를 참조하면, 상기 USB 뱅킹 장치(300)의 물리적인 메모리(375) 주소 체계는 0x0000~0xFFFF를 포함하여 이루어지며, 상기 메모리(375) 상에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역의 물리적인 메모리(375) 주소 0x0000~0x7FFF를 포함하여 이루어지고, 상기 일반 데이터가 저장되는 메모리(375) 영역의 물리적인 메모리(375) 주소 0x8000~0xFFFF를 포함하여 이루어진다.
이 때, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에는 소정의 루트 영역(1)에는 파일 루트 디렉토리(File Root Directory) 정보 저장영역, 및/또는 파일 할당 테이블(File Allocation Table; FAT) 저장영역, 및/또는 시스템 정보 저장 영역, 및/또는 배드 블록 정보 저장영역 등을 적어도 하나 이상 포함하는 저장영역이 존재하며, 상기 루트 영역(1)을 포함하여 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역의 물리적인 주소 0x0000~0xFFFF는 논리적인 메모리(375) 주소 0x0000~0xFFFF로 매핑된다.
또한, 상기 일반 데이터가 저장되는 메모리(375) 영역에는 소정의 루트 영역(2)에는 파일 루트 디렉토리(File Root Directory) 정보 저장영역, 및/또는 파일 할당 테이블(File Allocation Table; FAT) 저장영역, 및/또는 시스템 정보 저장 영역, 및/또는 배드 블록 정보 저장영역 등을 적어도 하나 이상 포함하는 저장영역이 존재하며, 상기 루트 영역(2)을 포함하여 상기 일반 데이터가 저장되는 메모리(375) 영역의 물리적인 주소 0x8000~0xFFFF는 논리적인 메모리(375) 주소 0x0000~0xFFFF로 매핑된다.
도면6b를 참조하면, 상기 USB 뱅킹 장치(300)의 물리적인 블록은 블록0~블록127을 포함하여 이루어지며, 상기 메모리(375) 상에서 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역은 블록0~블록63을 포함하여 이루어지고, 상기 일반 데이터가 저장되는 메모리(375) 영역은 블록 64~블록127을 포함하여 이루어진다.
이 때, 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에는 소정의 루트 영역(1)에는 파일 루트 디렉토리(File Root Directory) 정보 저장영역, 및/또는 파일 할당 테이블(File Allocation Table; FAT) 저장영역, 및/또는 시스템 정보 저장 영역, 및/또는 배드 블록 정보 저장영역 등을 적어도 하나 이상 포함하는 저장영역이 존재하며, 상기 루트 영역(1)을 포함하여 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역의 물리적인 블록0~블록63은 논리적인 블록0~블록63으로 매핑된다.
또한, 상기 일반 데이터가 저장되는 메모리(375) 영역에는 소정의 루트 영역(2)에는 파일 루트 디렉토리(File Root Directory) 정보 저장영역, 및/또는 파일 할당 테이블(File Allocation Table; FAT) 저장영역, 및/또는 시스템 정보 저장 영역, 및/또는 배드 블록 정보 저장영역 등을 적어도 하나 이상 포함하는 저장영역이 존재하며, 상기 루트 영역(2)을 포함하여 상기 일반 데이터가 저장되는 메모리(375) 영역의 물리적인 블록64~블록127은 논리적인 블록0~블록63으로 매핑된다.
본 도면6a와 도면6b를 참조하면, 상기와 같이 물리적인 메모리(375) 체계를 논리적인 메모리(375) 체계로 매핑함으로써, 상기 메모리 제어부(365)는 상기 메모리(375) 상에 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375)와, 일반 데이터를 저장하는 메모리(375)가 독립적으로 존재하는 것처럼 처리할 수 있게 된다.
도면7은 본 발명의 일 실시 방법에 따라 메모리(375) 식별과 데이터 기록, 판독 및 소거를 위한 데이터 패킷 구조를 도시한 도면이다.
보다 상세하게 본 도면7은 상기 단말장치(380)(예컨대, 컴퓨터, 노트북 등)와 USB 뱅킹 장치(300) 간 송수신하는 USB 패킷 중 소정의 명령 및/또는 데이터를 포함하는 데이터 패킷 구조의 바람직한 실시예를 도시한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면7을 참조 및/또는 변형하여 상기 단말장치(380)와 USB 뱅킹 장치(300) 간 송수신하는 다양한 형태의 데이터 패킷을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하 며, 본 도면7에 도시된 실시 방법으로 한정되지 아니한다.
도면7a와 도면7b는 메모리(375) 식별 관련 데이터 패킷 구조에 대한 일 실시 방법으로서, 상기 단말장치(380)에서 도면7a와 같이 PID와 메모리(375) 식별 요구 명령(CMD)과 CRC를 포함하는 메모리(375) 식별 요구 데이터 패킷을 상기 USB 뱅킹 장치(300)로 전송하면, 상기 USB 뱅킹 장치(300)는 상기 메모리(375) 식별 요구 명령(CMD)을 판독 및 이에 대응하는 메모리(375) 식별 절차를 수행한 후, 도면7b와 같이 PID와 메모리(375) 식별 재생 명령(CMD)과 메모리(375) 크기 및 메모리(375)의 삭제 유닛 크기(Erase Unit Size; EUS)와 CRC를 포함하는 메모리(375) 식별 재생 데이터 패킷을 생성하여 상기 단말장치(380)로 전송한다.
만약 상기 메모리(375)의 물리적인 메모리(375) 체계가 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역과 일반 데이터를 저장하는 메모리(375) 영역에 대응하여 논리적인 메모리(375) 체계로 매핑된 경우, 상기 메모리(375) 식별 요구 명령(CMD)과 메모리(375) 식별 요구 명령(CMD)은 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역을 대상으로 하는 명령과 일반 데이터를 저장하는 메모리(375) 영역을 대상으로 하는 명령이 구분되는 것이 바람직하다.
도면7c와 도면7d는 메모리(375)에 데이터 쓰기 관련 데이터 패킷 구조에 대 한 일 실시 방법으로서, 상기 단말장치(380)에서 도면7c와 같이 PID와 기록 요구 명령(CMD)과 주소(ADDR)와 길이(LEN)와 데이터(DATA) 및 CRC를 포함하는 기록 요구 데이터 패킷을 상기 USB 뱅킹 장치(300)로 전송하면, 상기 USB 뱅킹 장치(300)는 상기 기록 요구 명령(CMD)과 데이터가 기록될 주소(ADDR)를 판독한 후, 상기 데이터(DATA)를 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장되는 메모리(375) 영역에 저장하도록 요구되었는지, 또는 상기 일반 데이터가 저장되는 메모리(375) 영역에 저장하도록 요구되었는지 확인한다.
만약 상기 확인결과 상기 데이터(DATA)가 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장되는 메모리(375) 영역에 저장하도록 요구된 경우, 상기 USB 뱅킹 장치(300)는 상기 데이터 패킷을 전송한 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램을 인증하고, 상기 인증 결과에 따라 상기 데이터(DATA)를 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장되는 메모리(375) 영역에 저장하거나, 또는 무시(또는 거부)한다.
이 때, 상기 데이터 패킷은 상기 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램을 인증하는 동안 상기 메모리(375)에 저장되지 않고 버퍼링되거나, 또는 상기 일반 데이터를 저장하는 메모리(375) 영역에 임시 저장한다.
반면 상기 확인결과 상기 데이터(DATA)가 상기 일반 데이터가 저장되는 메모 리(375) 영역에 저장하도록 요구된 경우, 상기 USB 뱅킹 장치(300)는 상기 데이터(DATA)를 상기 주소(ADDR)에 저장한다.
상기와 같은 데이터(DATA) 저장 과정이 완료된 후, 상기 USB 뱅킹 장치(300)는 도면7d와 같이 PID와 기록 상태 명령(CMD)과 주소(ADDR)와 길이(LEN)와 기록 상태(STATUS) 및 CRC를 포함하는 기록 상태 데이터 패킷을 생성하여 상기 단말장치(380)로 전송한다.
여기서, 상기 기록 요구 명령(CMD)과 기록 상태 명령(CMD)은 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역을 대상으로 하는 명령과 일반 데이터를 저장하는 메모리(375) 영역을 대상으로 하는 명령이 구분되는 것이 바람직하다.
도면7e와 도면7f는 메모리(375)에 데이터 읽기 관련 데이터 패킷 구조에 대한 일 실시 방법으로서, 상기 단말장치(380)에서 도면7e와 같이 PID와 판독 요구 명령(CMD)과 주소(ADDR)와 및 CRC를 포함하는 판독 요구 데이터 패킷을 상기 USB 뱅킹 장치(300)로 전송하면, 상기 USB 뱅킹 장치(300)는 상기 판독 요구 명령(CMD)과 데이터가 판독될 주소(ADDR)를 판독한 후, 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장되는 메모리(375) 영역을 판독하도록 요구되었는지, 또는 상기 일반 데이터가 저장되는 메모리(375) 영역을 판독하도록 요구되었는지 확인한다.
만약 상기 확인결과 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장되는 메모리(375) 영역을 판독하도록 요구된 경우, 상기 USB 뱅킹 장치(300)는 상기 데이터 패킷을 전송한 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램을 인증하고, 상기 인증 결과에 따라 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장되는 메모리(375) 영역 상의 주소(ADDR)로부터 소정의 데이터(DATA)를 판독 및 추출한다.
반면 상기 확인결과 상기 일반 데이터가 저장되는 메모리(375) 영역을 판독하도록 요구된 경우, 상기 USB 뱅킹 장치(300)는 상기 일반 데이터가 저장되는 메모리(375) 영역 상의 주소(ADDR)로부터 소정의 데이터(DATA)를 판독 및 추출한다.
상기와 같은 데이터(DATA) 판독(또는 추출) 과정이 완료된 후, 상기 USB 뱅킹 장치(300)는 도면7f와 같이 PID와 판독 상태 명령(CMD)과 주소(ADDR)와 상기 판독(또는 추출)된 데이터 길이(LEN)와 상태(STATUS)와 상기 판독(또는 추출)된 데이터(DATA) 및 CRC를 포함하는 판독 상태 데이터 패킷을 생성하여 상기 단말장치(380)로 전송한다.
여기서, 상기 판독 요구 명령(CMD)과 판독 상태 명령(CMD)은 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역을 대상으로 하는 명령과 일반 데이터를 저장하는 메모리(375) 영역을 대상으로 하는 명령이 구분되는 것이 바람직하다.
도면7g와 도면7h는 메모리(375)에 데이터 삭제 관련 데이터 패킷 구조에 대한 일 실시 방법으로서, 상기 단말장치(380)에서 도면7g와 같이 PID와 소거 요구 명령(CMD)과 주소(ADDR)와 및 CRC를 포함하는 소거 요구 데이터 패킷을 상기 USB 뱅킹 장치(300)로 전송하면, 상기 USB 뱅킹 장치(300)는 상기 소거 요구 명령(CMD)과 데이터가 소거될 주소(ADDR)를 판독한 후, 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장되는 메모리(375) 영역을 소거하도록 요구되었는지, 또는 상기 일반 데이터가 저장되는 메모리(375) 영역을 소거하도록 요구되었는지 확인한다.
만약 상기 확인결과 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장되는 메모리(375) 영역을 소거하도록 요구된 경우, 상기 USB 뱅킹 장치(300)는 상기 데이터 패킷을 전송한 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램을 인증하고, 상기 인증 결과에 따라 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장되는 메모리(375) 영역 상의 주소(ADDR)에 저장된 데이터를 삭제한다.
반면 상기 확인결과 상기 일반 데이터가 저장되는 메모리(375) 영역을 소거하도록 요구된 경우, 상기 USB 뱅킹 장치(300)는 상기 일반 데이터가 저장되는 메모리(375) 영역 상의 주소(ADDR)에 저장된 데이터를 삭제한다.
상기와 같은 데이터 삭제 과정이 완료된 후, 상기 USB 뱅킹 장치(300)는 도면7h와 같이 PID와 소거 상태 명령(CMD)과 주소(ADDR)와 상태(STATUS) 및 CRC를 포함하는 소거 상태 데이터 패킷을 생성하여 상기 단말장치(380)로 전송한다.
여기서, 상기 소거 요구 명령(CMD)과 소거 상태 명령(CMD)은 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역을 대상으로 하는 명령과 일반 데이터를 저장하는 메모리(375) 영역을 대상으로 하는 명령이 구분되는 것이 바람직하다.
도면8은 본 발명의 일 실시 방법에 따른 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증을 위한 데이터 패킷 구조를 도시한 도면이다.
보다 상세하게 본 도면8은 상기 단말장치(380)와 USB 뱅킹 장치(300) 간 송수신하는 USB 패킷 중 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램을 인증하기 위한 데이터 패킷 구조의 바람직한 실시예를 도시한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면8을 참 조 및/또는 변형하여 상기 단말장치(380)에 구비된 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램을 인증하기 위한 다양한 형태의 데이터 패킷을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면8에 도시된 실시 방법으로 한정되지 아니한다.
도면8을 참조하면, 상기 단말장치(380)에서 상기 USB 뱅킹 장치(300)의 메모리(375) 중 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장된 메모리(375) 영역에 접근하고자 하는 경우, 상기 USB 뱅킹 장치(300)는 도면8a와 같이 PID와, 인증 요구 명령(CMD) 및 CRC를 포함하는 인증 요구 데이터 패킷을 상기 단말장치(380)로 전송하며, 상기 단말장치(380)는 상기 인증 요구에 대응하여 소정의 인증 데이터(ADATA)를 생성(또는 추출)하고, 도면8b와 같이 PID와 인증 요청 명령(CMD)과 상기 생성(또는 추출)된 인증 데이터(ADATA) 및 CRC를 포함하는 인증 요청 데이터 패킷을 상기 USB 뱅킹 장치(300)로 전송하며, 상기 USB 뱅킹 장치(300)는 상기 인증 요청에 대응하여 상기 인증 데이터(ADATA)에 대응하는 소정의 인증 절차를 수행한다.
상기와 같은 인증 절차가 수행된 후, 상기 USB 뱅킹 장치(300)는 소정의 인증 결과(ASTATUS)를 생성하고, 도면8c와 같이 PID와 인증 결과 명령(CMD)과 상기 생성된 인증 결과(ASTATUS) 및 CRC를 포함하는 인증 결과 데이터 패킷을 생성하여 상기 단말장치(380)로 전송한다.
본 발명의 실시 방법에 따르면, 상기 인증 데이터(ADATA)에 대한 유효성이 인증된 경우, 상기 단말장치(380)는 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터가 저장된 메모리(375) 영역에 접근할 수 있게 된다.
도면9는 본 발명의 바람직한 일 실시 방법에 따른 USB 뱅킹 장치(300) 초기화 과정을 도시한 도면이다.
보다 상세하게 본 도면9는 상기 USB 뱅킹 장치(300)의 메모리(375)에 저장된 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터의 불법적인 접근을 차단하기 위해 소정의 USB 대응 장치에 구비된 응용프로그램 중 인증된 뱅킹용 응용프로그램 또는 OTP용 응용프로그램만이 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터(또는 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터를 저장하는 메모리(375) 영역)에 접근하도록 하기 위해 상기 USB 뱅킹 장치(300)를 초기화하는 과정에 대한 바람직한 실시 방법에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면9를 참조 및/또는 변형하여 상기 USB 뱅킹 장치(300)를 초기화하는 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면9에 도시된 실시 방법으로 한정되지 아니한다.
도면9를 참조하면, 상기 USB 뱅킹 장치(300)의 초기화 과정은 상기 USB 뱅킹 장치(300)를 소정의 USB 커넥터(305)를 통해 소정의 USB 대응 장치에 연결하여 상기 USB 뱅킹 장치(300)에 소정의 전원이 공급됨으로써 개시된다(900).
본 발명의 다른 실시 방법에 따라 상기 USB 뱅킹 장치(300)에 소정의 배터리가 구비된 경우, 상기 USB 뱅킹 장치(300)의 초기화 과정은 상기 배터리로부터 상기 USB 뱅킹 장치(300)의 제어기로 소정의 전원이 공급됨으로써 개시되어도 무방하며, 이에 의해 본 발명이 한정되지 아니한다.
상기와 같이 USB 뱅킹 장치(300)에 전원이 공급되면, 상기 USB 뱅킹 장치(300)는 드라이버 모듈의 정보를 초기화하고, 필요에 따라 내부 태스크(Task) 및 동기 오브젝트의 생성, 드라이버 초기화, 제어기 및 관련 하드웨어의 각종 레지스터의 초기화, 우선처리 루틴을 등록하거나, 콜 백 루틴의 등록 등을 포함하는 적어도 하나 이상의 초기화 과정을 수행하는데, 상기 초기화 과정을 수행하는 동안 상기 USB 뱅킹 장치(300)는 본 발명에 따른 메모리(375) 제어 기능을 우선 처리 루틴에 포함 시킨다(905).
만약 상기와 같은 초기화 과정이 완료되면(910), 상기 USB 뱅킹 장치(300)는 상기 초기화 과정에서 우선 처리 루틴에 포함된 메모리(375) 제어 기능을 수행하는데, 이를 위해 상기 USB 뱅킹 장치(300)는 상기 메모리(375)를 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역과 일반 데이터가 저장 되는 메모리(375) 영역으로 분할하고(915), 상기 뱅킹 프로그램 데이터 또는 OTP 프로그램 데이터가 저장되는 메모리(375) 영역에 대한 접근권한 인증 기능을 설정한다(920).
만약 상기 메모리(375) 제어 기능 설정이 완료되면(925), 상기 USB 뱅킹 장치(300)는 상기 USB 커넥터(305)를 통해 상기 USB 대응 장치로 접속 통지 절차를 수행하며(930), 이에 의해 상기 USB 대응 장치는 상기 USB 뱅킹 장치(300)를 USB 통신 규격에 대응하는 USB 장치로 인식하는 절차를 수행한다(935).
도면10은 본 발명의 바람직한 일 실시 방법에 따른 USB 뱅킹 장치(300) 동작 과정을 도시한 도면이다.
보다 상세하게 본 도면10은 상기 USB 뱅킹 장치(300)의 메모리(375)에 저장된 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터의 불법적인 접근을 차단하기 위해 소정의 USB 대응 장치에 구비된 응용프로그램 중 인증된 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램만이 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터(또는 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역)에 접근하도록 하는 상기 USB 뱅킹 장치(300)의 동작 과정에 대한 바람직한 실시 방법에 대한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 도면10을 참조 및/또는 변형하여 상기 USB 뱅킹 장 치(300)의 동작 과정에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 실시 방법을 모두 포함하며, 본 도면10에 도시된 실시 방법으로 한정되지 아니한다.
도면10을 참조하면, 상기 USB 뱅킹 장치(300)의 동작 과정은 상기 도면9와 같은 USB 뱅킹 장치(300)의 초기화 과정이 수행된 후, 상기 USB 대응 장치로부터 상기 USB 뱅킹 장치(300)로 소정의 메모리(375) 관련 데이터 패킷이 전송됨으로써 개시된다(1000).
상기 USB 대응 장치로부터 소정의 메모리(375) 관련 데이터 패킷이 전송되면, 상기 USB 뱅킹 장치(300)는 상기 수신된 데이터 패킷을 판독하여 상기 데이터 패킷에 대응하는 명령이 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역을 대상으로 하는지(예컨대, 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역에 접근하는지) 확인한다(1005).
만약 상기 판독결과 상기 데이터 패킷에 대응하는 명령이 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역을 대상으로 하지 않는다면(예컨대, 상기 일반 데이터를 저장하는 메모리(375) 영역에 접근한다면)(1010), 상기 USB 뱅킹 장치(300)는 상기 수신된 데이터 패킷에 대응하는 명령을 수행하고(1015), 상기 수신된 데이터 패킷에 대응하는 명령 수행 결과를 포함하는 소정의 데이터 패킷을 생성하고(1020), 상기 생성된 데이터 패킷을 상기 USB 커넥터(305)를 통해 상기 USB 대응 장치로 전송한다(1025).
반면 상기 판독결과 상기 데이터 패킷에 대응하는 명령이 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역을 대상으로 한다면(예컨대, 상기 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터를 저장하는 메모리(375) 영역에 접근한다면)(1010), 상기 USB 뱅킹 장치(300)는 상기 수신된 데이터 패킷을 버퍼링하거나 및/또는 임시 저장한 후, 상기 USB 대응 장치(예컨대, 상기 USB 대응 장치에서 상기 데이터 패킷을 전송한 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램)로 소정의 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터를 요구하는 데이터 패킷을 생성하여 전송한다(1035).
이후, 상기 USB 대응 장치(예컨대, 상기 USB 대응 장치에서 상기 데이터 패킷을 전송한 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램)는 상기 인증 데이터 요구에 대응하여 소정의 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터를 생성하여 상기 USB 뱅킹 장치(300)로 전송하고(1040), 상기 USB 뱅킹 장치(300)는 상기 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터에 대한 유효성을 확인한다(1045).
본 발명의 실시 방법에 따르면, 상기 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터는, 식별코드 교환을 통한 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터, 및/또는 암호화를 통한 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터, 및/또는 키교환 방식을 통한 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터, 및/또는 OTP(One Time Password) 방식을 통한 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터 중 적어도 하나 이상을 포함하여 이루어지는 것이 바람직하며, 특정 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터에 의해 본 발명이 한정되지 아니한다.
만약 상기 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터에 대한 유효성이 인증되지 않는다면(1050), 상기 USB 뱅킹 장치(300)는 상기 버퍼링 및/또는 임시 저장된 데이터 패킷을 삭제하고, 소정의 인증 오류 결과를 포함하는 데이터 패킷을 생성하고(1055), 상기 생성된 데이터 패킷을 상기 USB 커넥터(305)를 통해 상기 USB 대응 장치로 전송하며(1070). 이에 의해 상기 USB 뱅킹 장치(300)에 저장된 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터에 대한 불법적인 접근이 차단된다.
반면 상기 뱅킹용 응용프로그램 또는 OTP용 응용 프로그램 인증 데이터에 대한 유효성이 인증되면(1050), 상기 USB 뱅킹 장치(300)는 상기 버퍼링 및/또는 임시 저장된 데이터 패킷에 대응하는 명령을 수행하고(1060), 상기 데이터 패킷에 대 응하는 명령 수행 결과를 포함하는 소정의 데이터 패킷을 생성하고(1065), 상기 생성된 데이터 패킷을 상기 USB 커넥터(305)를 통해 상기 USB 대응 장치로 전송하며(1070). 이에 의해 상기 USB 뱅킹 장치(300)에 저장된 뱅킹 프로그램 데이터 또는 OTP 생성 프로그램 데이터에 대한 불법적인 접근이 차단된다.
본 발명에 따르면, USB 뱅킹 장치 상에 메모리 영역을 분할하여 뱅킹 프로그램을 저장하여 사용자가 브라우저와 상관없이 USB 뱅킹 장치를 휴대하고 다님으로 인해 어디서나 USB와 연결 가능한 단말장치가 있는 곳에서 뱅킹 서비스를 이용할 수 있는 장점이 있다.
본 발명에 따르면, USB 뱅킹 장치에 구비된 뱅킹 프로그램에 대한 접근을 위해, P/N 또는 OTP 또는 공인인증서를 이용한 인증처리 과정을 더 포함하여, 불법적인 뱅킹 프로그램 접근이 불가능하도록 함으로써, 보안의 향상 효과를 제공할 수 있는 장점이 있다.

Claims (4)

  1. USB 규격에 대응하는 적어도 하나 이상의 USB 커넥터(USB Connector);
    소정의 뱅킹 관련 프로그램을 저장하는 메모리; 및
    상기USB 커넥터를 통해 소정의 단말장치와 통신하여 상기 뱅킹 관련 프로그램을 실행하는 제어기를 포함하는 USB 뱅킹 장치에 있어서,
    상기 메모리는 상기 뱅킹 관련 프로그램 데이터가 저장되는 메모리 영역과 일반 데이터가 저장되는 메모리 영역으로 분할되고,
    상기 제어기는,
    USB 통신 규격에 대응하여 상기 USB 커넥터를 통해 상기 단말장치와 USB 패킷을 송수신하는 패킷 송수신부, 및 상기 USB 패킷 중 토큰 패킷을 처리하는 토큰 패킷 처리부를 포함하는 USB 통신부,
    상기 단말장치에서 수신된 USB 패킷으로부터 소정의 명령 또는 데이터를 추출하는 패킷 추출부, 및 상기 단말장치로 전송할 USB 패킷을 생성하는 패킷 생성부를 포함하는 패킷 처리부,
    상기 단말장치에 구비된 응용프로그램 중 상기 뱅킹 관련 프로그램 데이터가 저장되는 메모리 영역에 접근하는 응용프로그램을 인증하는 인증 처리부,
    상기 인증 처리부에 의해 인증된 응용프로그램이 상기 뱅킹 관련 프로그램 데이터가 저장된 메모리 영역에 접근하도록 제어하는 메모리 제어부, 및
    상기 메모리 제어부와 연계하여 상기 뱅킹 관련 프로그램 데이터가 저장되는 메모리 영역에 접근하여 뱅킹 관련 프로그램 데이터의 입출력을 처리하는 메모리 입출력부를 포함하는 것을 특징으로 하는 USB 뱅킹 장치.
  2. 제 1항에 있어서, 상기 인증 처리부는
    상기 응용프로그램으로부터 수신되는 인증 데이터에 대한 유효성을 인증하여 상기 뱅킹 관련 프로그램 데이터가 저장되는 메모리 영역에 접근하는 것을 인증하는 것을 특징으로 하는 USB 뱅킹 장치.
  3. 제 1항에 있어서, 상기 메모리 제어부는,
    상기 뱅킹 관련 프로그램 데이터가 저장된 메모리 영역을 기본적으로 비활성화시키고, 상기 인증 처리부를 통해 상기 뱅킹 관련 프로그램 데이터가 저장된 메모리 영역에 대한 접근 요청에 대한 인증이 완료되면, 상기 뱅킹 관련 프로그램 데이터가 저장된 메모리 영역을 임시 활성화시키도록 제어하는 것을 특징으로 하는 USB 뱅킹 장치.
  4. 제 1항에 있어서, 상기 메모리 제어부는,
    상기 뱅킹 관련 프로그램 데이터가 저장되는 메모리 영역과 일반 데이터가 저장되는 메모리 영역을 논리적으로 서로 다른 메모리 주소 체계로 매핑하여 제어하는 것을 특징으로 하는 USB 뱅킹 장치.
KR1020080095714A 2008-09-30 2008-09-30 유에스비 뱅킹 장치 KR101023100B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080095714A KR101023100B1 (ko) 2008-09-30 2008-09-30 유에스비 뱅킹 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080095714A KR101023100B1 (ko) 2008-09-30 2008-09-30 유에스비 뱅킹 장치

Publications (2)

Publication Number Publication Date
KR20100036471A KR20100036471A (ko) 2010-04-08
KR101023100B1 true KR101023100B1 (ko) 2011-03-24

Family

ID=42213966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080095714A KR101023100B1 (ko) 2008-09-30 2008-09-30 유에스비 뱅킹 장치

Country Status (1)

Country Link
KR (1) KR101023100B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100788921B1 (ko) * 2005-10-13 2007-12-27 사이버씨브이에스(주) 인터넷 뱅킹용 이동식디스크 및 이를 이용한 인터넷 뱅킹방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100788921B1 (ko) * 2005-10-13 2007-12-27 사이버씨브이에스(주) 인터넷 뱅킹용 이동식디스크 및 이를 이용한 인터넷 뱅킹방법

Also Published As

Publication number Publication date
KR20100036471A (ko) 2010-04-08

Similar Documents

Publication Publication Date Title
JP6985011B2 (ja) アクセス保護スキームを確保するための装置及び方法
US8528096B2 (en) Secure universal serial bus (USB) storage device and method
US8286883B2 (en) System and method for updating read-only memory in smart card memory modules
US7873837B1 (en) Data security for electronic data flash card
US7469837B2 (en) Storage device
JP4395302B2 (ja) 半導体メモリカード及びその制御方法
US8122172B2 (en) Portable information security device
EP3355231B1 (en) Mobile data storage device with access control functionality
JP2003091704A (ja) 不揮発性メモリを備えた記憶装置及びその記憶装置が着脱自在な情報処理装置
KR101023100B1 (ko) 유에스비 뱅킹 장치
KR101936194B1 (ko) 인증에 기반을 둔 다중 파티션 선택적 활성 기능을 갖는 sd 메모리 제어 방법
KR100832820B1 (ko) 전자음반 장치 및 이를 위한 기록매체
KR100811153B1 (ko) 전자음반 장치 및 이를 위한 기록매체
KR100868676B1 (ko) 유에스비 형태의 보안모듈
KR100811157B1 (ko) 전자음반 장치 및 이를 위한 기록매체
KR100811159B1 (ko) 전자음반 장치 및 이를 위한 기록매체
KR100811161B1 (ko) 전자음반 장치 및 이를 위한 기록매체
TWI789082B (zh) 具資訊安全之記憶卡裝置與應用其中的晶片控制方法
KR101069321B1 (ko) 전자음반 데이터 속성 제어방법
KR20070100186A (ko) 음원 데이터 처리방법
KR20070100189A (ko) 전자음반 제어방법
KR20070100187A (ko) 전자음반 장치 제어방법
KR20070100188A (ko) 전자음반 장치 제어방법
KR20070099865A (ko) 전자 음원(또는 음악 파일) 교환방법 및 시스템과 이를위한 프로그램 기록매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151223

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 10