KR102076699B1 - 근거리 무선 통신 방법 및 장치 - Google Patents

근거리 무선 통신 방법 및 장치 Download PDF

Info

Publication number
KR102076699B1
KR102076699B1 KR1020130034794A KR20130034794A KR102076699B1 KR 102076699 B1 KR102076699 B1 KR 102076699B1 KR 1020130034794 A KR1020130034794 A KR 1020130034794A KR 20130034794 A KR20130034794 A KR 20130034794A KR 102076699 B1 KR102076699 B1 KR 102076699B1
Authority
KR
South Korea
Prior art keywords
data
interleaving
interleaved
randomizer
input
Prior art date
Application number
KR1020130034794A
Other languages
English (en)
Other versions
KR20130111461A (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 삼성전자주식회사
Publication of KR20130111461A publication Critical patent/KR20130111461A/ko
Application granted granted Critical
Publication of KR102076699B1 publication Critical patent/KR102076699B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/40Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
    • H04B5/48Transceivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/70Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes
    • H04B5/72Near-field transmission systems, e.g. inductive or capacitive transmission systems specially adapted for specific purposes for local intradevice communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명의 실시 예들은 근거리 무선 통신에서 데이터 보안에 관한 것이다. 상기 시스템은 랜덤화를 사용하여 송신될 데이터를 동적으로 인터리빙하고, 상기 동적으로 인터리빙된 데이터 및 상기 인터리빙된 설정들/파라미터들을 상기 수신측 디바이스로 송신한다. 수신측 디바이스는 수신된 인터리빙된 설정들/파라미터들을 사용하여 상기 수신된 데이터의 동적 디인터리빙을 수행한다. 또한, 상기 데이터 송신에 대한 보안성을 보장하기 위해서, 상기 시스템은 랜덤 스킵 카운트(Random Skip Count: RSC) 값들을 사용할 수 있다. 새로운 동적 인터리빙 설정들/파라미터들이 RSC 값을 기반으로 계산되고, 상기 새로운 설정들/파라미터들은 상기 데이터를 동적으로 인터리빙하기 위해 사용될 수 있다. 인터리빙 과정은 2차원 혹은 3차원으로 수행될 수 있다. 2차원 인터리빙 방식 및 3차원 인터리빙 방식에서, 데이터는 먼저 서브 행렬들의 형태로 동적으로 인터리빙될 수 있고, 또한 상기 서브 행렬들은 동적으로 인터리빙되어 최종적인 동적 인터리빙된 데이터 행렬을 생성할 수 있다.

Description

근거리 무선 통신 방법 및 장치{NEAR FIELD COMMUNICATION METHOD AND APPARATUS THEREOF}
본 발명은, 근거리 무선 통신 방법 및 장치에 관한 것이다.
근거리 무선 통신(Near Field Communication: NFC)은, 이동 전화기들과 같은 디바이스(device)들이 근접해 있을 때 상기 디바이스들이 무선 통신을 성립하는 것을 도와주는 기술이다. NFC는 비접촉식 트랜잭션(contactless transaction), 데이터 교환, 무선 주파수 식별(Radio Frequency Identification: RFID) 택 스캐닝(tag scanning) 및 모바일 결재 등과 같은 다양한 어플리케이션(application)의 이용을 가능하게 한다. 또한, 상기 NFC 통신은 무선 주파수 식별(Radio Frequency Identification: RFID) 표준들을 기반으로 한다. 상기 디바이스들은 가까운 거리 에서 암호화된 데이터(encrypted data)를 송신할 수 있는 NFC 칩(chip)들을 구비한다. NFC 시스템은 일반적으로 개시자(initiator)와 타겟(target)으로 구성된다. 상기 개시자는 상기 타겟을 트리거링하는 무선 주파수(Radio Frequency: RF) 필드를 생성한다. 일반적으로, 상기 타겟들은 정보를 저장할 수 있고, 동작 배터리를 필요로 하지 않는 택(tag), 스티커 또는 카드 등의 형태를 가진다.
한편, NFC는 불이익을 수반할 수 있다. 일 예로, NFC 통신에서 사용되는 RF 신호는 안테나를 통하여 픽업될 수 있다. 이러한 RF 신호의 디코딩 시에 민감한 정보의 손실이 초래될 수 있다. 또한, NFC 통신을 사용하여 송신되는 데이터는 RFID 재머(jammer)와 같은 디바이스에 의하여 파괴될 수 있다. 또한, NFC 통신에서 적절한 변조 없이 데이터가 송신되는 경우, 데이터 수정 어택을 당하기 쉽다. 또한, NFC 통신을 이용한 비접촉식 결제를 수행하는 경우, 비용이 중복 부과될 수 있다.
상기 NFC 기반 통신의 또 다른 불이익은 중간자 어택(man-in-the-middle attack)을 당하기 쉽다는 것이다. 이 경우, 공격자는 NFC 사용자들과는 독립적인 연결을 형성할 수 있고, 상기 NFC 기능이 활성화된사용자 디바이스들간의 메시지 또는 데이터의 트랜잭션을 제어할 수 있다. 이런 종류의 어택은, 트랜잭션 ID 및 패스워드 등과 같은 데이터가 인증되지 않은 제 3 사용자를 위협하기 때문에 NFC 트랜잭션과 보안성에 치명적인 영향을 줄 수 있다.
현재의 시스템들은 NFC 기반 트랜잭션 시스템들에서 보안성을 보장하는 데이터 인터리빙(interleaving) 방법을 사용한다. 인터리빙은 특정 포맷들로의 데이터 배열을 허용한다. 또한, 타겟들은 상기 데이터가 상기 인터리빙된 포맷으로 어떻게 배열된지에 대한 정보를 사용하여 상기 데이터를 디인터리빙(de-interleaving)할 수 있다. 이런 시스템들과 연관되는 또 하나의 불이익은 상기 데이터가 인터리빙된 포맷을 식별하는 정보를 제 3자가 디코딩할 수 있다는 것이다.
보안 데이터 송신을 위한 현재의 방법들 중 하나는 인터리빙되는 행렬의 행들 및 열들을 각각 인터리빙하는 프로세스를 개시한다. 상기 방법은 별도의 인터리빙 시퀀스들을 사용함으로써 보안 데이터 송신을 보장하는 것이다. 이런 방법의 불이익은 어택이 발생하는 경우에 인터리빙 시퀀스를 동적으로 변경하는 어떤 메커니즘도 제공하지 않는다는 것이다. 이는 시스템의 보안성에 영향을 줄 수 있고, 또한 데이터 손실을 초래할 수 있다.
상기에서 설명한 바와 같은 이유들로 인해, NFC 통신에서 데이터 보안성을 보장하는 방법에 대한 필요성이 대두되고 있다. 상기 방법은 데이터 손실 및 데이터 유출을 방지하기 위해 신뢰성과 정확성이 요구된다.
본 발명의 실시 예들에서는, 사용자 디바이스들간에 보안 NFC 통신을 가능하게 하는 방안을 제공한다.
또한, 본 발명의 실시 예들에서는, 랜덤화를 사용하여 동적 인터리빙을 구현함으로써 NFC 통신에서 보안성을 개선시키는 방안을 제공한다.
또한, 본 발명의 실시 예들에서는, 랜덤 시퀀스 카운트(Random Sequence Count: RSC) 기반 메커니즘을 사용하여 데이터 송신의 보안성을 개선시키는 방안을 제공한다.
본 발명의 실시 예에서는 제1디바이스와 제2디바이스간에 보안 근거리 통신을 가능하게 하는 방법을 제공한다. 상기 제1디바이스는 상기 제2디바이스로 송신될 정보를 수신하고, 상기 송신될 정보를 랜덤화 기술을 사용하여 동적으로 인터리빙한다. 또한, 상기 제1디바이스는 상기 동적으로 인터리빙된 데이터를 상기 제2디바이스로 송신한다. 또한, 상기 제1디바이스는 상기 동적으로 인터리빙된 설정들을 상기 제2디바이스로 송신한다. 또한, 상기 제1디바이스로부터 상기 동적으로 인터리빙된 데이터 및 설정들을 수신할 경우, 상기 제2디바이스는 수신된 데이터를 디인터리빙한다.
따라서, 본 발명은 제1디바이스와 제2디바이스간에 보안 근거리 통신을 가능하게 하는 시스템을 제공한다. 이 시스템에서, 상기 제1디바이스는 상기 제2디바이스로 송신될 정보를 수신하고, 상기 송신될 정보를 랜덤화 기술을 사용하여 동적으로 인터리빙한다. 또한, 상기 제1디바이스는 상기 동적으로 인터리빙된 데이터를 상기 제2디바이스로 송신한다. 또한, 상기 제1디바이스는 상기 동적으로 인터리빙된 설정들을 상기 제2디바이스로 송신한다. 또한, 상기 제1디바이스로부터 상기 동적으로 인터리빙된 데이터 및 설정들을 수신할 경우, 상기 제2디바이스는 수신된 데이터를 디인터리빙한다.
따라서, 본 발명은 통신 네트워크에서 제2디바이스와 보안 근거리 통신을 가능하게 하는 디바이스를 제공한다. 여기서, 상기 디바이스는 송신될 정보를 랜덤화 기술을 사용하여 동적으로 인터리빙한다. 또한, 상기 디바이스는 상기 동적으로 인터리빙된 데이터를 상기 제2디바이스로 송신한다. 또한, 상기 디바이스는 상기 동적으로 인터리빙된 설정들을 상기 제2디바이스로 송신한다. 또한, 상기 디바이스로부터 상기 동적으로 인터리빙된 데이터 및 설정들을 수신할 경우, 상기 제2디바이스는 수신된 데이터를 디인터리빙한다.
전술한 본 발명의 실시예 그리고 또 다른 측면들은 하기의 설명과 첨부한 도면과 함께 고려될 때 더 잘 이해될 것이다. 그러나 하기의 설명은 본 발명의 양호한 실시예들과 그들의 몇몇 특정한 세부사항들을 나타내기는 하지만, 이는 제한적인 것이 아니라 예시적인 방법으로 이루어짐을 이해하여야 할 것이다. 본 발명의 사상으로부터 벗어남이 없이 여기에 제공된 실시예들의 범위 내에서 수많은 변경과 수정이 이루어질 수도 있으며, 본 실시예들은 그러한 모든 수정과 변경들을 포함하는 것으로 의도될 것이다.
본 발명의 실시 예들에 따르면 데이터 보안을 향상시킬 수 있다.
이하 본 발명은 첨부한 도면들을 참조하여 예시되는바, 그 도면들에 있어 동일한 참조 번호는 동일한 파트를 나타낸다. 본 실시예들은 첨부 도면을 참조하여 하기의 설명으로부터 더 잘 이해될 수 있을 것이다:
도 1은 본 발명의 실시예들에서 설명되는, 제안된 NFC 통신 시스템의 일반적인 블록 다이아그램을 도시한 도면이다;
도 2는 본 발명의 실시예들에서 설명되는, 사용자 디바이스의 다양한 구성 요소들을 도시하고 있는 블록 다이아그램을 도시한 도면이다;
도 3은 본 발명의 실시예들에서 설명되는, NFC 모듈의 다양한 구성 요소들을 나타내는 블록 다이아그램을 도시한 도면이다;
도 4는 본 발명의 실시예들에서 설명되는, 제안된 동적 인터리빙 페이로드 생성 모듈의 다양한 구성 요소들을 도시하고 있는 블록 다이아그램을 도시한 도면이다;
도 5는 본 발명의 실시예들에서 설명되는, 프로세싱 모듈의 다양한 구성 요소들을 도시하고 있는 블록 다이아그램을 도시하고 있는 도면이다;
도 6은 본 발명의 실시예들에서 설명되는, 인터리빙 모듈의 다양한 구성 요소들을 도시하고 있는 블록 다이아그램을 도시하고 있는 도면이다;
도 7a 및 도 7b는 본 발명의 실시예들에서 설명되는, 데이터의 동적 인터리빙 및 동적 디인터리빙 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다;
도 8은 본 발명의 실시예들에서 설명되는, 2차원적으로 데이터를 동적 인터리빙하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다;
도 9는 본 발명의 실시예들에서 설명되는, 3차원적으로 데이터를 동적 인터리빙하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다;
도 10은 본 발명의 실시예들에서 설명되는, 랜덤화기를 사용하는 2차원 행렬에 대한 열들의 개수를 계산하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다;
도 11은 본 발명의 실시예들에서 설명되는, 랜덤화기를 사용하는 3차원 행렬에 대한 행들의 개수를 계산하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다;
도 12는 본 발명의 실시예들에서 설명되는, 랜덤화기를 사용하여 행렬에 대한 데이터 입력/출력 포맷을 선택하는 과정에 관련되는 다양한 단계들을 나타내고 있는 순서도이다;
도 13은 본 발명의 실시예들에서 설명되는, 랜덤화기를 사용하여 데이터 입력 순서를 선택하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다;
도 14은 본 발명의 실시예들에서 설명되는, 랜덤화기를 사용하여 2차원 행렬에 대한 데이터 출력 순서를 선택하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다;
도 15는 본 발명의 실시예들에서 설명되는, 개선된 보안성을 위한 랜덤 스킵 카운트(Random Skip Count: RSC)를 구현하는 과정에 연관되는 다양한 단계들을 도시하고 있는 순서도이다;
도 16은 본 발명의 실시예들에서 설명되는, 제안된 동적 인터리빙 시스템의 시스템 구조를 도시하고 있는 도면이다;
도 17 내지 도 19는 본 발명의 실시예들에서 설명되는, 랜덤화기들을 사용하여 행들의 개수 및 열들의 개수를 측정하는 시스템 구조를 시스템 구조를 도시하고 있는 도면이다;
도 20은 본 발명의 실시예들에서 설명되는, 2차원 행렬에 대한 데이터 입력/출력 포맷을 계산하는 시스템 구조를 도시하고 있는 도면이다;
도 21 및 도 22는 본 발명의 실시예들에서 설명되는, 2차원 행렬에 대한 데이터 입력/출력 순서를 계산하는 시스템 구조를 도시하고 있는 도면들이다;
도 23은 본 발명의 실시예들에서 설명되는, 3차원 행렬 동적 랜덤 인터리빙을 위한 시스템 구조를 도시하고 있는 도면이다;
도 24는 본 발명의 실시예들에서 설명되는, 3차원 행렬에 대한 행들의 개수를 계산하는 시스템 구조를 도시하고 있는 도면이다;
도 25는 본 발명의 실시예들에서 설명되는, 3차원 행렬에 대한 행들의 개수(m), 혹은 열들의 개수(n), 혹은 계층들의 개수(l)를 계산하는 시스템 구조를 도시하고 있는 도면이다;
도 26은 본 발명의 실시예들에서 설명되는, 3차원 행렬에 대한 데이터 입력 포맷을 계산하는 시스템 구조를 도시하고 있는 도면이다;
도 27은 본 발명의 실시예들에서 설명되는, 3차원 행렬에 대한 데이터 출력 포맷을 계산하는 시스템 구조를 도시하고 있는 도면이다;
도 28 및 도 29는 본 발명의 실시예들에서 설명되는, 2차원 행렬 및 3차원 행렬에 대한 서브 행렬들을 동적 인터리빙하는 시스템 구조를 도시하고 있는 도면이다;
도 30은 본 발명의 실시예들에서 설명되는, 송신측 디바이스와 수신측 디바이스 간에 동적으로 인터리빙된 데이터 및 설정들을 공유하는 시스템 구조를 도시하고 있는 도면이다;
도 31a-도 31b는 본 발명의 실시예들에서 설명되는, 각각 NDEF 포맷을 사용하는 동적 인터리빙을 나타내는 제 1 설정들/파라미터들과, 제 2 설정들/파라미터들 및 단일 비트를 도시하고 있는 도면이다.
본 발명의 개시된 실시예들 및 그것의 여러 특징 및 바람직한 세부사항에 대하여 첨부된 도면에 예시되고 하기의 상세한 설명에 기술된 바와 같은 비제한적인 실시예들을 참조하여 이하 더 상세히 설명된다. 공지의 구성요소들과 프로세싱 기술에 대한 설명은 여기에 개시된 실시예들에 대한 이해를 불필요하게 흐리게 하지 않도록 가급적 생략된다. 여기에 사용된 예들은 그 실시예들이 구현되는 방법에 대한 이해를 돕기 위해 그리고 당해 기술분야의 전문가가 그 실시예들을 실시할 수 있도록 하기 위한 목적으로 제공되는 것으로서, 그 예들은 개시된 실시예들의 범위를 제한하는 것으로 해석되어서는 안 된다.
본 발명의 실시 예들에서는 랜덤화기(randomizer)를 사용하여 데이터를 동적으로 인터리빙(interleaving)함으로써 보안 NFC 통신 시스템을 성취한다. 이제부터 유사한 참조 번호들은 도면들을 통해 일관적으로 해당하는 특징들을 나타내는, 도면들을 참조하여, 특히 도 1 내지 도 31을 참조하여 본 발명의 바람직한 실시예들이 도시된다.
도 1은 본 발명의 실시 예들에 따른 NFC 통신 시스템의 일반적인 블록 다이아그램을 도시한 도면이다. 상기 시스템은 사용자 디바이스(user device)(101.a), 사용자 디바이스(101.b) 및 NFC 통신 채널(102)을 포함한다. 상기 사용자 디바이스들(101.a, 101.b)은 NFC 매체(medium)를 사용하여 통신하기 위해서 NFC 기능이 활성화된 디바이스들일 수 있다. NFC 메커니즘(mechanism)은 NFC 기능이 활성화된 사용자 디바이스들(101.a, 101.b)간에 무선 통신이 성립하는 것을 도와준다. 또한, 상기 NFC 기능이 활성화된 사용자 디바이스들(101.a, 101.b)은 비접촉식 결제, 억세스 시스템 및 가상 데이터 저장 시스템들을 가지는 비접촉식 통신 등과 같은 기능들을 수행할 수 있다.
본 발명의 실시 예에서 제안된 시스템은, 동적 인터리빙 메커니즘을 기반으로 하는 랜덤화기를 구현함으로써 보안 데이터 통신을 가능하게 한다. 본 발명의 실시 예에서, NFC를 사용하여 송신될 데이터는 특정한 포맷으로 인터리빙된다. 또한, 상기 인터리빙된 데이터는 수신측 디바이스로 송신된다. 또한, 송신측 디바이스는 상기 데이터를 인터리빙하는데 사용되는 동적 인터리빙 설정(dynamic interleaving setting)들을 보안 채널 또는 인증 기관(certificate authority: CA)을 통하여 수신측 디바이스로 송신한다. 본 발명의 일 실시예에서, 상기 동적으로 인터리빙된 데이터 및 동적 인터리빙 설정들은 동일한 NFC 통신 채널(102)을 사용하여 수신측 디바이스(101.b)로 송신될 수 있다. 본 발명의 다른 실시예에서, 상기 동적으로 인터리빙된 데이터 및 동적 인터리빙 설정들은 다른 채널들을 통해서 수신측 디바이스(101.b)로 송신될 수 있다. 데이터 송신을 위해 별도의 통신 채널들을 사용하는 것은 상기 데이터 송신에 있어 보안성을 증가시킬 수 있다.
또한, 상기 동적 인터리빙은 2차원 또는 3차원 모델들에서 수행될 수 있다. 2차원 모델에서, NFC를 사용하여 송신될 상기 데이터/메시지는 2차원 방식, 일 예로 행렬에서 행들 및 열들 형태로 배열될 수 있다. 이 경우, 상기 시스템은 행들의 개수(m)와, 열들의 개수(n)와, 데이터 입력/출력 포맷(data filling/releasing format)과, 랜덤 행(Dm)/상기 행렬 및 랜덤 열(Dn)을 저장하는 열 선택/행렬로부터 상기 데이터를 출력하고, 행렬 형태로 상기 데이터를 배열하는 등과 같은 행 선택과 같은 파라미터들을 계산해야만 한다. 3차원 모델에서, 레벨 (l)로 칭해지는 추가적인 파라미터는 제3차원 계층을 위해 제시된다. 이 경우, 상기 데이터는 상기 행렬의 각 계층의 행들 및 열들에 배열된다. 이를 위해, 상기 시스템은 열들의 개수(n), 행들의 개수(m) 및 계층들의 개수 (l)를 계산한다. 또한, 데이터 입력 및 출력 순서들은 상기 데이터를 입력하기 위한 상기 랜덤 행/열/계층 선택과 상기 데이터를 출력하기 위한 랜덤 열/계층/행 선택과 함께 상기 추가적인 파라미터 l의 제시로 변경될 수 있다. 일 예로, 3차원 행렬에서, 데이터 입력 및/혹은 데이터 출력은 계층들로부터 시작될 수 있다. 또한, 상기 계산된 인터리빙 파라미터들/인터리빙 설정들을 사용함으로써, 데이터는 행렬을 사용하여 동적으로 인터리빙된다. 또한, 상기 동적으로 인터리빙된 데이터는 수신측 디바이스(101.b)로 송신될 수 있다. 또한, 상기 송신측 디바이스(101.a)는 상기 인터리빙 파라미터들/설정들을 상기 수신측 디바이스(101.b)로 송신할 수 있다. 상기 수신측 디바이스(101.b)로 송신된 상기 인터리빙된 파라미터들/설정들은 열들의 개수(m), 행들의 개수(m), 초기 클럭(clock), RSC(Random Skip Count) 값, 데이터 입력/출력 포맷 및 데이터 입력/출력 순서 등을 포함할 수 있다.
본 발명의 일 실시예에서, 비트들의 전체 개수는 상기 인터리빙된 파라미터들/설정들을 사용하여 유지될 수 있다. 이 경우, RSC 값만 자주 상기 수신측 디바이스와 통신되고, 상기 인터리빙된 설정들/파라미터들은 상기 수신측 디바이스와 자주 통신되지 않는다. 이는 데이터 보안성을 향상시킨다.
본 발명의 다른 실시예에서, 상기 송신측 디바이스(101.a)와 상기 수신측 디바이스(101.b)는 페어링된다. 상기 사용자 디바이스들을 페어링함으로써, 설정들은 두 디바이스들에 설정될 수 있고, 인터리빙된 파라미터들/설정들의 잦은 공유가 회피될 수 있으며, 따라서 결과적으로 보다 나은 데이터 보안성이 보장된다. 본 발명의 다른 실시예에서, 송신측 디바이스(101.a)는 수신측 디바이스(101.b)로 상기 데이터의 동적 인터리빙이 수행됨을 통보하는 단일 비트 지시를 사용할 수 있다. 이 지시를 수신할 경우, 수신측 디바이스(101.b)는 동적 디인터리빙(de-interleaving)을 사용하여 보안 수단에서 NFC 메시지/데이터를 복원할 수 있다. 또한, 상기 지시 비트는 1 또는 0의 값으로 주어질 수 있으며, 상기 각각의 주어진 비트는 인터리빙의 상응하는 스테이트(state)를 나타낸다. 상기 인터리빙된 데이터 및 인터리빙된 파라미터들/설정들을 수신할 경우, 수신측 디바이스(101.b)는 원래의 NFC 메시지/데이터를 획득하기 위해 상기 수신된 데이터의 디인터리빙을 수행할 수 있다.
본 발명의 다른 실시예에서, 상기 동적 인터리빙 시스템은 데이터 전달에서 보안성을 개선시키는 RSC 메커니즘을 사용할 수 있다. 일 예로, 데이터 전달 실패 혹은 제3자 어택(third party attack)과 같은 환경들에서, 상기 시스템은 랜덤화기를 사용하여 RSC 값을 계산한다. 또한, 인터리빙 파라미터들은 새롭게 계산된 RSC 값마다 변경된다. 일 예로, 다양한 인터리빙 파라미터들/설정들을 계산하는 동안 상기 RSC 값은 클럭 사이클(clock cycle) 값으로서 사용될 수 있다. 상기 인터리빙된 파라미터들의 값들이 RSC 값과 함께 변경된다. 또한, 상기 새로운 RSC 값은 상기 데이터의 디인터리빙을 위해 수신측 디바이스(101.b)로 송신될 수 있다. 상기 RSC 값으로 인해, 상기 인터리빙 파라미터 값은 동적으로 변경될 수 있고, 상기 시스템은 상기 송신된 데이터의 보안성을 보장할 수 있다. 또한, 본 발명의 바람직한 실시예에서, 동적 인터리빙 방식을 기반으로 제안된 랜덤화는 유선, 무선, 또는 광 네트워크들에서의 통신 기술들을 기반으로 하는 다른 데이터를 사용하여 데이터 보안성을 보장하는데 사용될 수 있다.
도 2는 본 발명의 실시예들에서 설명되는, 사용자 디바이스의 다양한 구성 요소들을 도시하고 있는 블록 다이아그램을 도시한 도면이다.
사용자 디바이스(101.a)는 안테나(201), 메시지 모듈(module)(202), 호 모듈(203), 블루투스(Bluetooth) 모듈(204), 오디오/비디오(audio/video) 모듈(206), NFC 모듈(205) 및 사용자 인터페이스(user interface: UI) 모듈(207)을 포함한다.
사용자 디바이스(101.a)의 안테나 모듈(201)은 사용자 디바이스(101.a)로부터 신호를 수신하는 수신기 및 사용자 디바이스(101.a)로 신호를 송신하는 송신기로서 작용한다. 상기 안테나(201)는 메시지 신호들 뿐만 아니라 호를 송신 및 수신하는데 사용될 수 있다. 또한, 상기 메시지 모듈(202)은 상기 사용자 디바이스(101.a)로부터 메시지들의 전달을 가능하게 한다. 사용자는 상기 메시지 모듈(202) 및 상기 사용자 인터페이스 모듈(207)을 사용하여 새로운 메시지를 작성하거나 수신된 메시지를 볼 수 있다. 또한, 사용자는 상기 사용자 디바이스 호환성에 기반하여 단문 메시지 서비스(short message service: SMS), 멀티미디어 메시지(multimedia message: MMS) 및 플래쉬 메시지(flash message)와 같은 다양한 타입들의 메시지를 생성하고, 수신할 수 있다.
또한, 상기 호 모듈(203)은 상기 사용자 디바이스(101.a)로부터 호를 생성하고 수신하는 것을 도와준다. 사용자는 상기 사용자 인터페이스 모듈(207)을, 상기 사용자 디바이스(101.a)를 사용하여 호들을 생성하거나 혹은 수신하는 상기 호 모듈(203)과 통신하도록 사용할 수 있다. 사용자는 상기 사용자 디바이스(101.a) 및 네트워크 호환성을 기반으로 오디오 호 및 비디오 호와 같은 호들을 생성/수신할 수 있다.
또한, 상기 블루투스 모듈(204)은 유사한 기술을 지원하는 사용자 디바이스들간의 연결 및 통신을 가능하게 한다. 블루투스 기술은 사용자 디바이스들간에 데이터 전달과, 원격 데이터 억세스 등과 같은 어플리케이션(application)들을 위해 사용될 수 있다.
상기 오디오/비디오 모듈(205)은 사용자에게 비디오 컨텐츠 뿐만 아니라 오디오 컨텐츠를 전달하는 오디오/비디오 인터페이스로서 동작한다. 상기 오디오/비디오 모듈(205)은 사용자에게 오디오/비디오 컨텐츠를 전달하는 것을 도와주는 스피커, 마이크, 스크린 등과 같은 디바이스들을 포함할 수 있다.
상기 NFC 모듈(206)은 사용자 디바이스(101.a)와 NFC 기능이 활성화된 다른 디바이스들간의 NFC 통신을 가능하게 한다. NFC는 무선 주파수 식별(Radio Frequency Identification: RFID) 메커니즘을 기반으로 동작하며, 비접촉식 결제 택 리딩(tag reading) 등과 같은 어플리케이션들을 지원할 수 있다. 상기 제안된 시스템은 동적 인터리빙 방식을 기반으로 하는 랜덤화와 상기 NFC 모듈(206)을 통합함으로써 보안 데이터 통신을 가능하게 한다. 상기 동적 인터리빙 방식을 사용할 경우, 상기 NFC 모듈(206)은 송신될 NFC 메시지를 특정 포맷을 사용하여 인터리빙하고, 수신측 디바이스(101.a)로 송신한다. 또한, 상기 NFC 모듈(206)은 NFC 메시지의 송신에 있어 데이터 보안성을 개선시키기 위해 RSC와 같은 임의의 메커니즘들을 사용할 수 있다.
도 3은 본 발명의 실시예들에서 설명되는, NFC 모듈의 다양한 구성 요소들을 나타내는 블록 다이아그램을 도시한 도면이다.
NFC 모듈(205)은 프리앰블(preamble) 생성 모듈(301), 동적 인터리빙 페이로드(payload) 생성 모듈(302), NFC 메시지 생성 유닛(303), 송신기(304), 수신기(305), NFC 메시지 검출 유닛(306), 프리앰블(preamble) 검출 모듈(307) 및 동적 디인터리빙 페이로드 생성 모듈(308)을 포함한다.
상기 프리앰블 생성 모듈(301)은 송신될 NFC 메시지의 프리앰블을 생성한다. 상기 메시지의 프리앰블 파트는 송신된 메시지와 수신된 메시지들간의 동기를 획득하기 위해 사용될 수 있다. 메시지의 프리앰블은, 예를 들어 메시지의 헤더(header)일 수 있다.상기 프리앰블의 길이는 상기 메시지의 오버헤드(overhead)에 영향을 미치고, 따라서 상기 메시지의 송신 시간에 영향을 미칠 수 있다.
또한, 상기 동적 인터리빙 페이로드 생성 모듈(302)은 동적으로 인터리빙된 페이로드 데이터를 생성한다. 상기 동적 인터리빙 페이로드 생성 모듈(302)은 NFC 데이터 전달에 있어 보안성을 보장하기 위해 동적 인터리빙 메커니즘을 구현한다. 상기 동적 인터리빙 메커니즘을 사용할 경우, 상기 동적 인터리빙 페이로드 생성 모듈(302)은 랜덤화 기술을 사용하여 송신될 데이터를 특정 포맷으로 인터리빙한다. 본 발명의 바람직한 실시예에서, 상기 동적 인터리빙 페이로드 생성 모듈(302)은 추가적인 데이터 보안성을 보장하기 위해 RSC 메커니즘을 사용할 수 있다. 또한, 상기 동적 인터리빙 페이로드 생성 모듈(302)은 계산된 RSC 값을 기반으로 인터리빙 파라미터들/설정들을 동적으로 변경할 수 있다. 동적 인터리빙 메커니즘의 장점으로 인해, 상기 동적 인터리빙 페이로드 생성 모듈(302)은 어택(attack), 통신 실패 또는 해킹(hacking) 시에 상기 데이터를 보호할 수 있다.
또한, 상기 NFC 메시지 생성 유닛(303)은 수신측 디바이스(101.b)로 송신될 NFC 메시지를 생성한다. 상기 NFC 메시지는 상기 사용자 디바이스들(101.a, 101.b)간의 데이터 송신에 사용되는 통신 프로토콜에 의해 특정되는 특정 시퀀스(sequence)를 사용하여 상기 프리앰블과 상기 동적으로 인터리빙된 데이터를 순차적으로 배열함으로써 생성될 수 있다.
또한, 상기 송신기(304)는 상기 NFC 메시지 생성 유닛(303)에 의해 생성된 상기 NFC 메시지를 송신한다. 또한, 상기 송신기(304)는 인터리빙된 설정들/파라미터들을 상기 수신측 디바이스(101.b)로 송신한다. 본 발명의 일 실시예에서, 상기 송신기(304)는 서로 다른 시간에 동일한 통신 채널(102)을 사용하여 상기 NFC 메시지와 상기 인터리빙된 파라미터들/설정들을 송신할 수 있다. 본 발명의 다른 실시예에서, 상기 송신기(304)는 서로 다른 보안 채널들(102)을 사용하여 상기 NFC 메시지와 상기 인터리빙된 파라미터들/설정들을 송신할 수 있다. 또한, 상기 송신기(304)는 무선 및/혹은 유선 NFC 통신 채널(102)를 사용하여 상기 NFC 메시지와 상기 인터리빙된 파라미터들/설정들을 송신할 수 있다. 또한, 상기 데이터 송신은 공인 인증 기관(certification authority: CA)을 통해 이루어질 수도 있다.
상기 수신측 디바이스(101.b)에 위치하고 있는 상기 수신기 모듈(305)은 상기 송신측 디바이스(101.a)에 위치하는 상기 송신기(304)에 의해 송신된 상기 동적으로 인터리빙된 데이터 및/혹은 상기 인터리빙된 파라미터들/설정들을 수신한다. 또한, 상기 프리앰블 검출 모듈(307)은 상기 수신된 인터리빙된 정보를 프로세싱하고, 상기 수신된 NFC 메시지에 포함되어 있는 상기 프리앰블을 검출한다.
또한, 상기 NFC 메시지는 상기 동적 디인터리빙 페이로드 생성 모듈(308)로 전달된다. 상기 동적 디인터리빙 페이로드 생성 모듈(308)은 상기 수신된 NFC 메시지의 디인터리빙을 수행하여 상기 페이로드 데이터를 식별한다. 상기 동적 디인터리빙 페이로드 생성 모듈(308)은 상기 송신측 디바이스(101.a)의 송신기(304)로부터 수신된 인터리빙된 파라미터들/설정들을 사용할 수 있다. 상기 인터리빙된 파라미터들/설정들을 사용할 경우, 동적 디인터리빙 페이로드 생성 모듈(308)은 상기 수신된 NFC 메시지의 디인터리빙을 수행한다. 본 발명의 일 실시예에서, 상기 동적 인터리빙 페이로드 생성 모듈(302)이 상기 인터리빙된 파라미터들/설정들을 동적으로 변경할 경우, 상기 동적 디인터리빙 페이로드 생성 모듈(308)에게 상기 변경들이 통보되며, 상기 새로운, 인터리빙된 파라미터들/설정들이 제공될 것이다. 또한, 상기 동적 디인터리빙 페이로드 생성 모듈(308)은 상기 새로운, 인터리빙된 파라미터들/설정들을 사용하여 상기 수신된 NFC 메시지의 디인터리빙을 수행할 수 있다.
또한, 상기 NFC 메시지 검출 유닛(306)은 원래의 NFC 메시지를 구성한다. 상기 NFC 메시지 검출 유닛(306)은 상기 프리앰블 검출 모듈(307)로부터 프리앰블을 수신하고, 상기 동적 디인터리빙 페이로드 생성 모듈(308)로부터 상기 동적으로 디인터리빙된 페이로드 정보를 수신한다. 또한, 상기 NFC 메시지 검출 유닛(306)은 상기 수신된 정보를 처리하고, 상기 원래의 NFC 메시지를 구성한다.
도 4는 본 발명의 실시예들에서 설명되는, 제안된 동적 인터리빙 페이로드 생성 모듈의 다양한 구성 요소들을 도시하고 있는 블록 다이아그램을 도시한 도면이다.
동적 인터리빙 페이로드 생성 모듈(302)은 프로세싱 모듈(processing module)(401)과 인터리빙 모듈(402)을 포함한다. 상기 인터리빙 모듈(402)은 상기 송신될 데이터의 인터리빙을 수행하기 위해 데이터 입력과 제어 신호와 같은 2개의 입력들을 요구한다.
상기 제어 신호는 상기 프로세싱 모듈(401)에 의해 생성된다. 상기 제어 신호는 상기 송신될 데이터를 인터리빙하기 위해 요구되는, 열들의 개수, 행들의 개수, 레벨(level)들의 개수, 데이터 입력 포맷(data filling format) 및 데이터 입력/출력 순서(data filling/releasing order) 등과 같은 데이터를 포함할 수 있다. 또한, 상기 제어 신호를 생성하기 위해서, 상기 프로세싱 모듈들은 입력으로서 송신될 데이터를 수신한다. 상기 프로세싱 모듈(401)은 랜덤화기들을 사용하여 다양한 제어 신호 파라미터들의 값을 계산한다. 또한, 상기 랜덤화기들은 상기 프로세싱 모듈이 어택 및/혹은 데이터 전달 실패의 경우 다양한 제어 신호 파라미터들의 값들을 동적으로 변경하는 것을 도와준다. 본 발명의 일 실시예에서, 상기 프로세싱 모듈은 상기 인터리빙된 파라미터들/설정들을 동적으로 변경시키기 위해 RSC 메커니즘을 사용할 수 있다. 상기 시스템은 상기 RSC 값을 계산하고, 상기 제어 신호 파라미터들을 계산하기 위한 클럭 값으로서 상기 계산된 값을 사용한다.
또한, 상기 제어 신호는 상기 인터리빙 모듈(402)에 대한 입력으로 제공된다. 또한, 상기 인터리빙 모듈(402)은 상기 인터리빙될 데이터를 입력 파라미터로서 검출한다. 또한, 상기 인터리빙 모듈은 서로 다른 제어 신호 파라미터들의 값을 기반으로 하여 상기 데이터를 인터리빙한다. 일 예로, 상기 행들의 개수와 열들의 개수가 각각 2와 3으로 계산될 경우, 상기 인터리빙 모듈(402)은 2*3 행렬 형태로 상기 데이터를 인터리빙할 수 있다. 또한, 상기 인터리빙 모듈(402)은 상기 데이터를 인터리빙할 동안 데이터 입력 포맷, 데이터 입력/출력 순서 또는 RSC 값 등과 같은 파라미터들을 고려할 수 있다. 상기 데이터가 상기 제어 신호 파라미터 값들을 기반으로 인터리빙될 경우, 상기 인터리빙된 데이터는 상기 NFC 메시지의 페이로드 섹션(section)에 위치할 수 있고, 상기 수신측 디바이스(101.b)로 송신될 수 있다.
도 5는 본 발명의 실시예들에서 설명되는, 프로세싱 모듈의 다양한 구성 요소들을 도시하고 있는 블록 다이아그램을 도시하고 있는 도면이다.
프로세싱 모듈(401)은 입력 모듈(501), 행 계산기(502), 열 계산기(503), 랜덤 스킵 카운트(Random Skip Count: RSC) 계산기(504), 메모리 모듈(505), 멀티플렉서(multiplexer)(506), 클럭 생성기(507), 랜덤화기(508) 및 출력 모듈(509)을 포함한다. 상기 입력 모듈(501)은 상기 제어 신호를 계산하는 입력을 수신한다. 상기 제어 신호들을 계산하는 입력은 인터리빙될 데이터 입력이다. 상기 입력 데이터는 유선 및/혹은 무선 수단들을 통해 상기 입력 모듈(501)로 제공될 수 있다.
상기 행 계산기(502)는 상기 데이터가 인터리빙될 상기 행렬이 포함하고 있는 행들의 개수를 계산한다. 본 발명의 일 실시예에서, 상기 행 계산기는 랜덤화기(508), 혹은 상기 행들의 개수(m)을 계산하는 수학식을 사용할 수 있다. 본 발명의 다른 실시예에서, 2차원 행렬에 대해서, 열들의 개수(n)가 랜덤화기를 사용하여 계산될 경우, 상기 행 계산기(502)는 상기 행들의 개수(m)를 수학식을 사용하여 계산한다.
본 발명의 또 다른 실시예에서, 2차원 행렬에 대해서, 열들의 개수(n)가 수학식을 사용하여 계산될 경우, 상기 행 계산기는 상기 행들의 개수(m)를 랜덤화기를 사용하여 계산한다. 일 예로, 상기 행 계산기(502)는 <수학식 1>을 사용하여 2차원 행렬에 대해 행들의 개수(m)를 계산할 수 있다.
Figure 112013027798506-pat00001
상기 <수학식 1>에서, m은 행들의 개수, N은 상기 메시지에 포함되어 있는 전체 비트들의 개수,
n은 열들의 개수를 나타낸다.
본 발명의 다른 실시예에서, 상기 행 계산기(502)는 랜덤화기(508)를 사용하여 상기 행들의 개수를 계산할 수 있다. 일 예로, 상기 행 계산기(502)는 제1랜덤화기를 사용하여 상기 행렬에 존재하는 행들의 개수를 계산할 수 있다. 이 경우, 랜덤 비트 시퀀스(random bit sequence)는 상기 제1랜덤화기(508)에 대한 입력으로 제공된다. 또한, 상기 행 계산기(502)는 클럭 생성기(507)를 사용하여 클럭 펄스(clock pulse)를 생성한다. 또한, 상기 생성된 클럭 펄스를 사용할 경우, 상기 행 계산기는 상기 제1랜덤화기에 존재하는 상기 랜덤 비트 시퀀스의 클럭 쉬프트(clock shift)를 수행한다. 또한, 상기 비트 시퀀스 내의 미리 결정된 위치에 존재하는 비트들의 개수가 검출되고, 미리 저장된 데이터 베이스(database )와 비교된다. 본 발명의 바람직한 실시예에서, 상기 랜덤화기로부터 검출되는 비트들과 비교되는 상기 데이터 베이스는 룩업 테이블(Look Up Table: LUT)이 될 수 있다. 또한, 상기 LUT는 상기 검출된 비트들의 비교에 상응하게 행들의 개수(m)로 구성될 수 있다. 일 예로, 상기 검출된 비트들이 '00'일 경우, 해당 행들의 개수는 1 등이 될 수 있다.
상기 열 계산기(503)는 상기 데이터가 인터리빙될 상기 행렬에 포함되어 있는 열들의 개수를 계산한다. 본 발명의 일 실시예에서, 상기 열 계산기(503)는 랜덤화기(508)를 사용하여 열들의 개수(n)를 계산할 수 있다. 본 발명의 다른 실시예에서, 상기 열 계산기(503)는 적합한 수학식을 사용하여 상기 열들의 개수(n)를 계산할 수 있다. 일 예로, 2차원 행렬에 대해, 상기 행들의 개수(m)가 수학식을 사용하여 계산될 경우, 상기 열 계산기(503)는 랜덤화기(508)를 사용하여 상기 열들의 개수(n)를 계산한다. 일 예로, 상기 열 계산기(503)는 제1랜덤화기를 사용하여 상기 행렬에 존재하는 열들의 개수를 계산할 수 있다. 이 경우, 랜덤 비트 시퀀스는 상기 제1랜덤화기(508)에 대한 입력으로 제공된다. 또한, 상기 열 계산기(503)는 클럭 생성기(507)를 사용하여 클럭 펄스를 생성한다. 또한, 상기 생성된 클럭 펄스를 사용할 경우, 상기 열 계산기(503)는 상기 제1랜덤화기에 존재하는 상기 랜덤 비트 시퀀스의 클럭 쉬프트를 수행한다. 또한, 상기 랜덤화기 비트 시퀀스내의 미리 결정된 위치에 존재하는 임의의 개수의 비트들이 검출되고, 미리 저장되어 있는 데이터베이스와 비교되며, 상기 데이터 베이스는 룩업 테이블(Look Up Table: LUT)이 될 수 있다. 또한, 상기 LUT는 상기 검출된 비트들의 비교에 상응하게 열들의 개수(n)로 구성될 수 있다. 일 예로, 상기 검출된 비트들이 '00'일 경우, 해당 열들의 개수는 1 등이 될 수 있다. 본 발명의 다른 실시예에서, 상기 2차원 행렬에 대해서, 상기 행들의 개수(m)이 랜덤화기(508)를 사용하여 계산될 경우, 상기 열 계산기(508)는 적합한 수학식을 사용하여 상기 열들의 개수(n)을 계산한다.
상기 제안된 시스템에서와 같은 상기 동적 인터리빙 메커니즘은 RSC 시퀀스를 사용하여 보안성을 보장할 수 있다. RSC 값은 상기 랜덤 스킵 카운트 계산기(504)에 의해 계산된다. 상기 랜덤 스킵 카운트 계산기(504)는 랜덤화기(508)를 사용하여 RSC 값을 계산할 수 있다. 랜덤화기(508)를 사용하여 랜덤 스킵 카운트 값을 계산하기 위해서, 8비트의 랜덤 비트 시퀀스가 상기 랜덤화기(508)로 제공된다. 또한, 클럭 생성기(507)에 의해 생성되는 클럭 펄스를 사용할 경우, 상기 랜덤 스킵 카운트 계산기(504)는 상기 랜덤화기(508)에 존재하는 상기 랜덤 비트 시퀀스의 클럭 쉬프트를 수행한다. 본 발명의 일 실시예에서, 상기 8비트 시퀀스의 10진수 값이 카운트(count) (count_D)로서 사용될 수 있다. 본 발명의 다른 실시예에서, 상기 랜덤화기 비트 시퀀스 내의 미리 결정된 위치에 존재하는 임의의 개수의 비트들이 검출될 수 있고, 미리 저장되어 있는 데이터 베이스와 비교되며, 상기 데이터 베이스는 룩업 테이블(Look Up Table: LUT)이 될 수 있다. 일 예로, 상기 검출된 비트들이 '00'일 경우, 해당하는 열들의 개수는 1 등이 될 수 있다. 그리고 나서, 상기 계산된 RSC 값은 행들의 개수(m), 열들의 개수(n), 데이터 저장 포맷 및 데이터 저장/출력 순서 등과 같은 파라미터들을 계산하기 위해 상기 클럭 생성기(507)에서 클럭 쉬프트 값(clock shift value)으로 사용된다. 이는 행들의 개수(m), 열들의 개수(n), 데이터 저장 포맷 및 데이터 저장/출력 순서 등과 같은 파라미터들의 값을 계산하는데 사용되는 상기 랜덤화기들의 클럭들이 상기 계산된 Count_D 값에 따라 쉬프트된다는 것을 의미한다. 본 발명의 다양한 실시예들에서, 상기 쉬프트된 값/RSC는 보안 채널 혹은 서로 다른 타임 슬럿(time slot)을 가지는 동일한 채널을 통해 다른 수신측 디바이스와 통신될 수 있다. 만약, 인증 기관(certification authority: CA)이 중간 기관으로 사용될 경우, CA를 통해서 상기 RSC 값이 공유될 수 있다.
랜덤 스킵 카운트 = 십진 등가 카운트 = 랜덤화기들의 현재 쉬프팅 클럭들(쉬프트 레지스터(shift register)들).
상기 메모리 모듈(505)은 열들의 개수(n), 행들의 개수(m), 데이터 입력 포맷 및 데이터 입력/출력 순서 등과 같은 파라미터들을 계산하기 위한 데이터 베이스들 혹은 LUT들을 저장할 수 있다.
상기 멀티플렉서(506)는 열들의 개수(n), 행들의 개수(m), 데이터 입력 포맷 및 데이터 입력/출력 순서 등과 같은 다양한 파라미터들을, 송신에 용이하도록, 단일 신호로 멀티플렉싱하는데 사용될 수 있다. 일 예로, 상기 열들의 개수(n), 행들의 개수(m), 데이터 입력 포맷 및 데이터 입력/출력 순서 등과 같은 파라미터들은, 제어 신호를 형성하기 위해, 멀티플렉싱된다. 또한, 상기 멀티플렉싱된 신호는 단일 채널을 사용하여 수신측 디바이스에 송신될 수 있다.
그리고 나서, 다양한 파라미터들을 멀티플렉싱함으로써 형성된 제어 신호는 상기 출력 모듈(509)을 사용하여 통신 채널로 전달된다. 상기 출력 모듈(509)은 상기 제어 신호 데이터를 상기 인터리빙 모듈(402)로 송신할 수 있다. 상기 인터리빙 파라미터들은 직렬 혹은 병렬 통신을 사용하여 상기 인터리빙 모듈(402)과 공유될 수 있고, 상기 통신은 보안 채널(102) 혹은 인증 기관(certification authority: CA)과 같은 공인 기관을 통해 형성될 수 있다. 또한, 상기 인터리빙 파라미터들은 직렬 혹은 병렬 통신을 통해 유선/무선 채널을 사용하여 수신측 디바이스의 상기 동적 디인터리빙 페이로드 생성 모듈(308)과 공유될 수 있다.
도 6은 본 발명의 실시예들에서 설명되는, 인터리빙 모듈의 다양한 구성 요소들을 도시하고 있는 블록 다이아그램을 도시하고 있는 도면이다.
상기 인터리빙 모듈(402)은, 수신기 블록(601), 디멀티플렉서(demultiplexer)(602), 데이터 입력 블록(603) 및 송신기 블록(604)을 포함한다.
상기 수신기 블록(601)은 상기 프로세싱 모듈(401)로부터 송신된 제어 신호를 수신한다. 또한, 상기 수신기 블록(601)은 입력 파라미터로 인터리빙될 데이터 신호를 수신한다. 그리고 나서, 상기 제어 신호는 상기 디멀티플렉서(602)로 제공된다. 상기 디멀티플렉서(602)는 상기 제어 신호를 디멀티플렉싱하고, 어떤 데이터가 인터리빙될지를 기반으로 열들의 개수(n), 행들의 개수(m), 데이터 입력 포맷 및 데이터 입력/출력 순서 등과 같은 제어 신호 파라미터들을 검출한다.
상기 데이터 입력 블록(603)은 상기 제어 신호 파라미터들을 분석하고, 각 파라미터의 값들을 식별한다. 또한, 상기 제어 신호 파라미터들의 식별된 값을 기반으로, 상기 데이터 입력 블록(603)은 데이터 인터리빙을 수행한다. 일 예로, 다양한 제어 신호 파라미터들의 값이 다음과 같이 주어진다:
열들의 개수(n) = 3
행들의 개수(m) = 2
데이터 입력 포맷 = row wise 입력, column wise 출력
데이터 입력 순서 = 처음 첫 번째 행부터 입력(fill row 1 first)
데이터 입력 순서 = 처음 두 번째 열부터 출력(release from column 2 first)
이 경우, 상기 데이터 저장 모듈(603)은 송신될 데이터를 2*3 행렬 형태로 인터리빙한다. 이 경우, 상기 시스템은 row wise 입력 포맷을 사용하여 첫 번째 행으로부터 row wise 입력을 수행한다. 또한, 상기 데이터를 디인터리빙하는 동안, 2번째 열로부터 데이터 출력이 시작된다.
본 발명의 일 실시예에서, 어택 및/혹은 데이터 실패의 경우, 프로세싱 모듈(401)에 포함되어 있는 상기 RSC 계산기(504)는 RSC 값을 생성하고, 제어 신호 파라미터들은 상기 RSC 값에 따라 변경된다. 이 경우, 상기 제어 신호 파라미터들에서의 변경들은 상기 인터리빙 모듈(402)에서 업데이트되고, 따라서 상기 데이터 입력 블록(603)은 상기 데이터의 인터리빙을 수행한다. 또한, 상기 데이터 송신기 블록(604)은 상기 인터리빙된 데이터를 수신측 디바이스(101.b)로 송신한다.
도 7a 및 도 7b는 본 발명의 실시예들에서 설명되는, 데이터의 동적 인터리빙 및 동적 디인터리빙 과정에 관련되는 다양한 단계들을 도시하고 있는 블록 순서도를 도시하고 있는 도면들이다.
데이터의 보안 송신을 위해서, 송신될 데이터는 동적 인터리빙 페이로드 생성 모듈(302)에 의해 검출된다(701단계). 또한, 상기 동적 인터리빙 페이로드 생성 모듈(302)은 상기 데이터의 동적 인터리빙을 수행한다(702단계). 본 발명의 일 실시예에서, 상기 동적 인터리빙 페이로드 생성 모듈(302)은 어택, 데이터 전달 실패 또는 해킹 시에 데이터 보안성을 보장하는 동적 인터리빙을 수행하기 위해, 랜덤 스킵 카운트(Random Skip Count: RSC) 값을 계산 및 사용할 수 있다. 또한, 상기 동적 인터리빙 데이터는 송신측 디바이스(101.a)에 포함되어 있는 송신기 모듈(304)을 사용하여 수신측 디바이스(101.b)로 송신된다(703단계). 본 발명의 일 실시예에서, 상기 데이터는 2차원 행렬 형태 혹은 3차원 행렬 형태를 사용하여 동적으로 인터리빙될 수 있다. 본 발명의 다른 실시예에서, 상기 시스템은 2차원 및 3차원 인터리빙 목적을 위해 전용 랜덤화기들을 사용하거나, 또는 동일한 랜덤화기들을 공유할 수 있다. 또한, 본 발명의 일 실시예에서, 동적 인터리빙은 상기 메시지 혹은 패킷을 생성한 후 수행될 수 있다. 본 발명의 다른 실시예에서, 상기 제안된 동적 인터리빙 메커니즘은 상기 송신될 데이터의 보안성을 위한 잉여 비트들의 추가를 요구하지 않는다. 이는 상기 데이터가 동적으로 인터리빙될 지라도 동일한 데이터 사이즈를 유지하는 것을 도와준다. 본 발명의 일 실시예에서, 상기 설정들은 다른 디바이스들과 항상 공유되지는 않는다. 2개의 디바이스들이 임의의 설정들을 기반으로 상기 데이터를 공유하도록 페어링되거나, 혹은 동의할 경우, 상기 임의의 설정들은 상기 데이터 공유를 위해 사용될 수 있으며, 상기 데이터를 가지는 설정들을 항상 송신할 필요는 없다. 어택 혹은 데이터 손실의 경우, 상기 설정들은 수신측 디바이스 2(101.b)와 공유된다.
또한, 상기 인터리빙된 데이터는 상기 수신측 디바이스(101.b)에 포함되어 있는 상기 수신기 모듈(305)에 의해 수신된다(704단계). 수신측 디바이스(101.b)는 상기 동적 인터리빙이 패킷 생성 후에 혹은 상기 패킷 생성 전에 수행된다는 것을 알게 될 것이다. 또한, 수신측 디바이스(101.b)는 상기 수신된 데이터가 신규한 것인지 혹은 상기 데이터 송신이 해킹, 데이터 손실 또는 다른 어떤 이슈들에 의해 영향을 받는지를 검사한다(705단계). 상기 수신된 데이터가 신규한 것이거나, 혹은 상기 데이터 송신이 해킹, 데이터 손실 또는 다른 어떤 이슈들에 의해 영향을 받을 경우, 수신측 디바이스(101.b)는 상기 송신측 디바이스(101.a)로부터 새로운 동적 인터리빙 설정들을 수신한다(707단계). 상기 수신된 데이터가 신규한 것이 아니고, 상기 데이터 송신이 해킹, 혹은 데이터 손실, 또는 다른 어떤 이슈들에 의해 영향을 받지 않을 경우, 수신측 디바이스(101.b)는 이미 수신되어 있는 동적 인터리빙 설정들을 사용하여 상기 수신된 디인터리빙 데이터를 동적으로 디인터리빙한다(706단계). 본 발명의 일 실시예에서, 상기 제안된 메커니즘은 데이터가 송신될 때마다, 수신측 디바이스(101.b)가 동적 인터리빙 설정들을 수신하는 것을 요구하지 않는다.
본 발명의 다른 실시예에서, 상기 인터리빙 설정들은 보안 송신 채널과 같은 다른 채널(102)를 통해서 혹은 공인 인증 기관(certification authority: CA)을 통해 수신될 수 있다. 또한, 상기 채널(102)은 유선 혹은 무선이 될 수 있으며, 상기 데이터 송신은 직렬 혹은 병렬 송신이 될 수 있다. 상기 동적 인터리빙 데이터 및 상기 동적 인터리빙 설정들은 별도의 보안 채널들 혹은 동일 채널들(102)을 통해 상기 수신측 디바이스(101.b)로 송신될 수 있다. 상기 설정들이 상기 동일 채널을 통해 수신측 디바이스(101.b)로 송신될 경우, 상기 설정들은 어택들을 피하기 위해 서로 다른 시간 레벨에서 공유된다. 또한, 수신측 디바이스(101.b)에 존재하는 동적 디인터리빙 페이로드 생성 모듈(308)은 상기 송신측 디바이스(101.a)로부터 수신된 상기 동적 인터리빙 설정들을 사용하여 상기 수신된 데이터의 동적 디인터리빙을 수행한다(708단계). 방법(700)에서의 다양한 동작들은 도시되어 있는 바와 같은 순서대로 수행될 수도 있고, 서로 다른 순서로 수행될 수도 있고, 동시에 수행될 수도 있다. 또한, 본 발명의 몇몇 실시예들에서, 도 7에 리스트된 몇몇 동작들은 생략될 수 있다.
도 8은 본 발명의 실시예들에서 설명되는, 2차원적으로 데이터를 동적 인터리빙하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도를 도시하고 있는 도면이다.
데이터 스트림(data stream)을 동적으로 인터리빙하기 위해, 상기 동적 인터리빙 페이로드 생성 모듈(302)은 인터리빙될 데이터를 검출한다(801단계). 상기 동적 인터리빙 페이로드 생성 모듈(302)은 프로세싱 모듈(401)과 인터리빙 모듈(402)을 포함한다. 상기 인터리빙 모듈(402)은 상기 데이터의 인터리빙을 수행한다. 상기 데이터 스트림을 인터리빙하기 위해, 상기 인터리빙 모듈(402)은 데이터 신호 입력 및 제어 신호 입력을 요구한다. 상기 제어 신호는 상기 프로세싱 모듈(401)에 의해 생성된다. 상기 제어 신호를 생성하기 위해서, 상기 프로세싱 모듈(401)은 상기 인터리빙될 데이터를 그 입력으로서 수신한다. 또한, 상기 프로세싱 모듈(401)은 상기 수신된 데이터 신호를 프로세싱하고 열들의 개수, 행들의 개수, 데이터 입력/출력 포맷 및 데이터 입력/출력 순서 등과 같은 다양한 제어 신호 파라미터들을 측정한다(802단계, 803단계, 804단계, 805단계).
본 발명의 일 실시예에서, 상기 프로세싱 모듈(401)은 다수의 랜덤화기들(508)을 사용하는 랜덤화 기술을 사용하여 상기 제어 신호 파라미터들을 측정한다. 본 발명의 다른 실시예에서, 상기 프로세싱 모듈(401)은 <수학식 1>에서 주어진 바와 같이 임의의 제어 신호 파라미터들을 측정하는 적절한 수학식들을 사용할 수 있다. 본 발명의 다른 실시예에서, 행들의 개수(m)는 랜덤화기를 사용하여 계산되고, 상기 열들의 개수(n)는 2차원 행렬에 대한 적합한 수학식을 사용하여 계산된다. 본 발명의 다른 실시예에서, 상기 열들의 개수(n)는 랜덤화기를 사용하여 계산되고, 상기 행들의 개수(m)는 상기 2차원 랜덤화기에 대한 적합한 수학식을 사용하여 계산된다. 일 예로, 상기 열들의 개수(n)가 2차원 행렬에 대한 랜덤화기를 사용하여 계산될 경우, 상기 행들의 개수(m)는 <수학식 1>에 나타낸 바와 같은 수학식을 사용하여 계산될 수 있다.
더욱 높은 보안성을 보장하기 위해, 상기 시스템은 랜덤 스킵 카운트(Random Skip Count: RSC) 파라미터를 사용할 수 있다. 이를 위해서, 상기 시스템은 데이터 인터리빙을 수행하기 위해 RSC가 요구되는지를 검사한다(806단계). 상기 RSC는 어택 및/혹은 데이터 전달 실패시 데이터 보안을 위해 사용될 수 있다. RSC의 초기값은 0이다. RSC가 요구될 경우, 상기 시스템은 RSC 값들을 생성하는 시스템 및 방법을 사용하여 RSC 값을 측정/생성한다(807단계). 상기 RSC 값이 생성될 경우, 상기 시스템은 상기 생성된 RSC 값을 기반으로 클럭 쉬프트를 사용하여 상기 설정들을 계산한다. 본 발명의 일 실시예에서, 상기 RSC 검사(806단계)는 다른 인터리빙 파라미터들을 계산하기 전에 수행될 수 있다. 또한, 상기 다양한 제어 신호 파라미터들을 사용할 경우, 상기 인터리빙 모듈(402)은 상기 데이터의 동적 인터리빙을 수행한다(808단계). 상기 2차원 방법에서, 상기 데이터는 행렬의 행들 및 열들 형태로 인터리빙된다. 또한, 상기 데이터가 상기 행렬로 입력되는 형태 및 순서는 상기 제어 신호로부터 상기 인터리빙 모듈(402)에 의해 검출된다.
2차원 행렬에서, 상기 데이터는 row wise 포맷 혹은 column wise 포맷으로 입력될 수 있다. 이와 유사하게, 상기 데이터는 column wise 포맷 혹은 row wise 포맷으로 출력될 수 있다. 또한, 상기 데이터 입력 순서는 상기 데이터가 상기 행렬에 입력될 순서를 나타낸다. 일 예로, 상기 데이터 입력 포맷이 row wise 입력으로 선택될 경우, 상기 데이터 입력 순서는 어떤 행이 먼저 입력될 것인지를 나타낸다. 이와 유사하게, 데이터 출력 포맷이 column wise 출력으로 선택될 경우, 데이터 출력 순서는 상기 행렬에서 어떤 열로부터 데이터 출력이 시작되어야만 하는지를 나타낸다. 또한, 상기 데이터를 동적으로 인터리빙한 후, 상기 데이터는 상기 인터리빙 모듈(402)에 존재하는 상기 송신기 블록(604)을 사용하여 상기 수신측 디바이스(101.b)로 송신된다(808단계). 본 발명의 바람직한 실시예에서, 2차원 행렬의 경우, 상기 데이터는 상기 데이터를 동적으로 랜덤화하기 위해 사용되는 2차원 서브 행렬들의 형태로 인터리빙될 수 있다. 방법(800)에서의 다양한 동작들은 도시되어 있는 바와 같은 순서대로 수행될 수도 있고, 서로 다른 순서로 수행될 수도 있고, 동시에 수행될 수도 있다. 또한, 본 발명의 몇몇 실시예들에서, 도 8에 리스트된 몇몇 동작들은 생략될 수 있다.
도 9는 본 발명의 실시예들에서 설명되는, 3차원적으로 데이터를 동적 인터리빙하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도를 도시하고 있는 도면이다.
데이터 스트림을 동적으로 인터리빙하기 위해, 상기 동적 인터리빙 페이로드 생성 모듈(302)은 상기 인터리빙될 데이터를 검출한다(901단계). 상기 동적 인터리빙 페이로드 생성 모듈(302)은 프로세싱 모듈(401)과 인터리빙 모듈(402)을 포함한다. 상기 인터리빙 모듈(402)은 상기 데이터의 인터리빙을 수행한다. 상기 데이터 스트림을 인터리빙하기 위해, 상기 인터리빙 모듈(402)은 데이터 신호 입력 및 제어 신호 입력을 요구한다. 상기 제어 신호는 상기 프로세싱 모듈(401)에 의해 생성된다. 상기 제어 신호를 생성하기 위해, 상기 프로세싱 모듈(401)은 그 입력으로 상기 인터리빙될 데이터를 수신한다. 또한, 상기 프로세싱 모듈(401)은 상기 수신된 데이터를 프로세싱하고, 행들의 개수, 열들의 개수, 계층들의 개수, 데이터 입력/출력 포맷 및 데이터 입력/출력 순서 등과 같은 다양한 제어 신호 파라미터들을 측정한다(902단계, 903단계, 904단계, 905단계, 906단계). 본 발명의 일 실시예에서, 상기 프로세싱 모듈(401)은 다수의 랜덤화기들(508)을 사용하는 랜덤화 기술을 사용하여 상기 제어 신호 파라미터들을 측정한다. 본 발명의 다른 실시예에서, 열들의 개수(n), 행들의 개수(m) 및 계층들의 개수(l) 중 임의의 2개가 랜덤화기들을 사용하여 계산될 경우, 나머지 파라미터는 적합한 수학식을 사용하여 계산된다. 본 발명의 다른 실시예에서, 상기 두 번째 파라미터를 계산하기 위해 사용되는 상기 랜덤화기(508)의 값은 상기 첫 번째 파라미터를 계산하기 위해 사용되는 상기 랜덤화기(508)의 값을 기반으로 할 수도 있고, 혹은 독립적일 수도 있고, 상기 의존도는 상기 수학식의 전체 균형을 고려하여 결정될 수 있다.
일 예로, 동적 인터리빙의 3차원 모드에서, 행들의 개수(m), 열들의 개수(n) 및 계층들의 개수(l)는 <수학식 2>를 사용하여 측정될 수 있다.
Figure 112013027798506-pat00002
상기 수학식 2에서, l = 행렬에서 계층들의 개수,
N = 전체 비트들의 개수
m = 행렬에서 행들의 개수
n = 행렬에서 열들의 개수
상기 전체 비트들의 개수(N)는 상기 프로세싱 모듈(401)로 직접 제공될 수도 있고, 혹은 상기 행들의 개수(m)과 열들의 개수(n)의 값들을 사용하여 계산될 수도 있다. 또한, 상기 데이터 전달에 대해 더욱 높은 보안성을 보장하기 위해, 상기 시스템은 랜덤 스킵 카운트(Random Skip Count: RSC) 파라미터를 사용할 수 있다.. 이를 위해서, 상기 시스템은 데이터 인터리빙 수행을 위해 RSC가 요구되는지를 검사한다(907단계). 상기 RSC는 어택 및/혹은 데이터 전달 실패시 데이터 보안성을 위해 사용될 수 있다. RSC가 요구될 경우, 상기 시스템은 RSC 값을 측정한다(908단계). 또한, 상기 시스템은 상기 생성된 RSC 값을 기반으로 새로운 제어 신호 파라미터들/설정들을 계산한다. 또한, 상기 다양한 제어 신호 파라미터들을 사용할 경우, 상기 인터리빙 모듈(402)은 상기 데이터의 동적 인터리빙을 수행한다(909단계).
3차원 방법에서, 상기 데이터는 행렬의 다른 계층들에 배열된 행들 및 열들의 형태로 인터리빙된다. 또한, 상기 데이터가 상기 행렬에 입력/출력되는 포맷 및 순서는 상기 제어 신호로부터 상기 인터리빙 모듈(402)에 의해 검출된다. 3차원 데이터 인터리빙 포맷에서, 상기 데이터 입력 포맷은 상기 데이터가 상기 행렬에 입력될 포맷을 나타낸다. 일 예로, 상기 데이터는 3차원 행렬에서 row wise, 혹은 column wise, 혹은 layer wise 포맷으로 입력될 수 있다. 또한, 상기 데이터 출력 포맷은 상기 데이터가 상기 행렬에서 출력될 포맷을 나타낸다. 일 예로, 상기 데이터는 각각 먼저 column wise 형태로 출력될 수 있고, 이어서 행 단위로 출력될 수 있고, 계층 단위로 출력될 수 있다. 또한, 상기 동적으로 인터리빙된 데이터는 상기 인터리빙 모듈(402)에 존재하는 상기 송신기 블록(604)을 사용하여 상기 수신측 디바이스(101.b)로 송신된다. 상기 3차원 포맷으로 상기 데이터를 인터리빙한 후, 상기 인터리빙된 데이터는 상기 송신기 모듈(304)을 사용하여 상기 수신측 디바이스(101.b)로 송신된다. 본 발명의 일 실시예에서, 상기 송신기 모듈(304)은 상기 데이터를 송신하기 전에 미리 상기 인터리빙된 파라미터들/설정들을 상기 수신측 디바이스(101.b)로 송신한다. 상기 인터리빙된 데이터 및 상기 인터리빙된 파라미터들/설정들은 서로 다른 시간에서 단일 채널을 통해 송신되거나, 혹은 서로 다른 보안 채널들을 통해 송신될 수 있다. 또한, 상기 수신측 디바이스는 상기 송신측 디바이스(101.a)로부터 수신된 상기 인터리빙된 파라미터들/설정들을 사용하여 상기 수신된 데이터의 디인터리빙을 수행할 수 있다. 본 발명의 바람직한 실시예에서, 상기 3차원 인터리빙 포맷에서, 상기 인터리빙될 데이터는 서브 행렬들 형태로 인터리빙된다. 또한, 상기 서브 행렬들은 동적으로 인터리빙되고, 수신측 디바이스로 송신된다. 방법(900)에서의 다양한 동작들은 도시되어 있는 바와 같은 순서대로 수행될 수도 있고, 서로 다른 순서로 수행될 수도 있고, 동시에 수행될 수도 있다. 또한, 본 발명의 몇몇 실시예들에서, 도9에 리스트된 몇몇 동작들은 생략될 수 있다.
도 10은 본 발명의 실시예들에서 설명되는, 랜덤화기를 사용하는 2차원 행렬에 대한 열들의 개수를 계산하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다.
본 발명의 일 실시예에서, 상기 열들의 개수가 2차원 행렬에 대한 랜덤화기를 사용하여 계산될 경우, 행들의 개수는 <수학식 1>에 주어진 바와 같은 수학식을 사용하여 계산된다. 본 발명의 다른 실시예에서, 상기 행들의 개수가 상기 랜덤화기를 사용하여 계산될 경우, 상기 열들의 개수는 적합한 수학식을 사용하여 계산될 수 있다.
본 발명의 다른 실시예에서, 다른 룩업 테이블(look up table: LUT)을 사용하여, 2차원 행렬에 대한 수학식을 사용하여 열들의 개수가 계산될 경우, 하기에서 설명되는 랜덤화기를 사용하여 열들의 개수를 계산하는 과정이, 행들의 개수를 계산하기 위해 사용될 수 있다.
행렬에 대한 열들의 개수를 계산하기 위해서, 상기 프로세싱 모듈(401)에 포함되어 있는 상기 열 계산기(503)는 제1랜덤화기를 초기화한다(1001단계). 제1랜덤화기(508)는 랜덤 비트 시퀀스를 사용하여 초기화될 수 있다. 또한, 상기 열 계산기(503)는 클럭 생성기(507)를 사용하여 생성된 클럭 신호를 사용하여 상기 랜덤 비트 시퀀스의 클럭 쉬프트를 수행한다(1002단계). 상기 비트 시퀀스의 클럭 쉬프트를 수행한 후, 상기 열 계산기(503)는 상기 랜덤화기(508)의 미리 정의되어 있는 필드들로부터 임의의 개수의 비트들을 검출한다(1003단계). 일 예로, 2차원 모드에서, 상기 열 계산기(503)는 상기 랜덤화기(508)의 미리 결정된 필드로부터 2비트 데이터(B1 B0)를 검출한다. 또 다른 예에서, 3차원 모드의 경우, 상기 열 계산기(503)는 상기 랜덤화기(508)의 미리 결정된 필드로부터 3비트 데이터(B2 B1 B0)를 검출한다. 또한, 상기 열 계산기(503)는 상기 메모리 모듈(505)에 존재하는 임의의 데이터 베이스들에 저장되어 있는 데이터들과 상기 검출한 비트들을 비교한다(1004단계). 본 발명의 일 실시예에서, 상기 데이터 베이스는 상기 검출한 비트 시퀀스들에 상응하게 선택될 열들의 개수를 가지는 룩업 테이블(Look Up Table: LUT)을 저장할 수 있다. 일 예로, 상기 검출한 비트 시퀀스들에 상응하게 선택될 열들의 개수는 <표 1>에 나타낸 바와 같이 선택될 수 있다.
비트 시퀀스(n) 열들의 개수(n)
00 2
01 4
10 8
11 16
여기서, 상기 선택된 비트들인 B1 B0 = 00일 경우, 상기 열 선택기(503)는 2개의 열들을 선택한다(1005단계). 만약, B1 B0 = 01일 경우, 상기 열 선택기(503)는 4개의 열들을 선택한다(1006단계). 만약, B1 B0 = 10 및 B1 B0 = 11일 경우, 상기 열 선택기(503)는 각각 8개의 열들 및 16개의 열들을 선택한다(1007단계, 1008단계). 또한, 어택 및/혹은 데이터 전달 실패의 경우, 상기 열 선택기(503)는 상기 열 값 파라미터들의 값들을 동적으로 변경할 수 있다. 상기 열 값 파라미터들의 값들을 동적으로 변경하기 위해서, 상기 열 선택기(503)는 랜덤 스킵 카운트 계산기(504)를 사용하여 생성된 RSC를 사용할 수 있다. 또한, 상기 RSC 카운트 값은 상기 랜덤화기(508)에서 상기 비트 시퀀스를 쉬프트하는 클럭 값으로서 사용될 수 있다. RSC의 랜덤 값들을 선택하고, 상기 선택한 RSC의 랜덤 값들을 열들의 개수(n)을 선택하는 클럭 값으로서 사용함으로써, 상기 시스템은 상기 송신될 데이터의 더 높은 보안성을 보장할 수 있다.
본 발명의 일 실시예에서, 상기 랜덤화기(508)로부터 선택된 비트들의 개수는 매우 긴 데이터 패킷들에 대한 매핑 테이블에 더 많은 개수의 열들을 제공하기 위해 증가될 수 있으며, 상기 열들의 개수는 8, 혹은, 16, 혹은 32, 혹은 그 이상일 수 있다. 방법(1000)에서의 다양한 동작들은 도시되어 있는 바와 같은 순서대로 수행될 수도 있고, 서로 다른 순서로 수행될 수도 있고, 동시에 수행될 수도 있다. 또한, 본 발명의 몇몇 실시예들에서, 도 10에 리스트된 몇몇 동작들은 생략될 수 있다.
도 11은 본 발명의 실시예들에서 설명되는, 랜덤화기를 사용하는 3차원 행렬에 대한 행들의 개수를 계산하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다.
본 발명의 일 실시예에서, 행들의 개수(m), 열들의 개수(n) 및 계층들의 개수(l) 중 임의의 2개의 파라미터들은 3차원 행렬에 대한 랜덤화기를 사용하여 계산되고, 나머지파라미터는 적합한 수학식을 사용하여 계산된다. 일 예로, 3차원 행렬에 대해서, 행들의 개수(m)와 열들의 개수(n)는 랜덤화기들을 사용하여 계산되고, 상기 계층들의 개수(l)는 <수학식 2>에 나타낸 바와 같은 적합한 수학식을 사용하여 계산된다. 또한, 3차원 행렬 파라미터 계산의 경우, 상기 제2랜덤화기 값은 상기 제1랜덤화기 값을 기반으로 할 수도 있고, 상기 수학식의 전체 발란스(balance)를 기반으로 할 수도 있다.
본 발명의 다른 실시예에서, 3차원 행렬에 대한 상기 행들의 개수(m)는 하기에서 설명되는 과정을 사용하여 계산되고, 상기 열들의 개수(n)와 계층들의 개수(l) 중 어느 하나는 하기에서 설명되는 동일한 과정을 사용하여 계산될 수 있다.
행렬에 대한 행들의 개수를 계산하기 위해서, 상기 프로세싱 모듈(401)에 포함되어 있는 상기 행 계산기(502)는 제1랜덤화기(508)를 초기화한다(1101단계). 제1랜덤화기(508)는 랜덤 비트 시퀀스를 사용하여 초기화될 수 있다. 또한, 상기 행 계산기(502)는 클럭 생성기(507)를 사용하여 생성된 클럭 신호를 사용하여 상기 랜덤 비트 시퀀스의 클럭 쉬프트를 수행한다(1102단계). 상기 비트 시퀀스의 클럭 쉬프트를 수행한 후, 상기 행 계산기(502)는 상기 랜덤화기(508)의 미리 정의되어 있는 필드들로부터 임의의 개수의 비트들을 검출한다(1103단계). 일 예로, 2차원 모드에서, 상기 행 계산기(502)는 상기 랜덤화기(508)의 미리 결정된 필드로부터 2비트 데이터(B1 B0)를 검출한다.
본 발명의 다른 실시예에서, 3차원 모드의 경우, 상기 행 계산기(502)는 상기 랜덤화기(508)에서 미리 결정된 필드들로부터 3비트들(B2 B1 B0)을 검출할 수 있다. 또한, 상기 행 계산기(502)는 상기 메모리 모듈(505)에 존재하는 임의의 데이터 베이스들에 저장되어 있는 데이터들과 상기 검출한 비트들을 비교한다(1104단계). 본 발명의 일 실시예에서, 상기 데이터 베이스는 상기 비트 시퀀스들에 상응하게 선택될 행들의 개수를 가지는 룩업 테이블(Look Up Table: LUT)을 저장할 수 있다. 일 예로, 상기 검출한 비트 시퀀스들에 상응하게 선택될 행들의 개수는 <표 2>에 나타낸 바와 같이 선택될 수 있다.
비트시퀀스 (n) 열들의 개수(n)
00 2
01 4
10 8
11 16
여기서, 상기 검출한 비트들 B1 B0이 00일 경우(B1 B0 = 00), 상기 행 선택기(502)는 1개의 행을 선택한다(1105단계). 만약, 검출한 비트들 B1 B0이 01일 경우(B1 B0 = 01), 상기 행 선택기(502)는 2개의 행들을 선택한다(1106단계). 만약, 검출한 비트들 B1 B0이 10일 경우(B1 B0 = 10) 상기 행 선택기(502)는 3개의 행들을 선택하고(1107단계), 상기 가져온 비트들 B1 B0이 11일 경우(B1 B0 = 11), 상기 행 선택기(502)는 4개의 행들을 선택한다(1008단계). 또한, 어택 및/혹은 데이터 전달 실패의 경우, 상기 행 선택기(502)는 상기 행 값 파라미터들의 값들을 동적으로 변경할 수 있다. 상기 행 값 파라미터들의 값들을 동적으로 변경하기 위해서, 상기 행 선택기(502)는 랜덤 스킵 카운트 계산기(504)를 사용하여 생성된 RSC를 사용할 수 있다. 또한, 상기 RSC 카운트 값은 상기 랜덤화기(508)에서 상기 비트 시퀀스를 쉬프트하는 클럭 값으로서 사용될 수 있다. RSC의 랜덤 값들을 선택하고, 상기 선택한 RSC의 랜덤 값들을 행들의 개수(n)을 선택하는 클럭 값으로서 사용함으로써, 상기 시스템은 상기 송신될 데이터의 더 높은 보안성을 보장할 수 있다. 방법(1100)에서의 다양한 동작들은 도시되어 있는 바와 같은 순서대로 수행될 수도 있고, 서로 다른 순서로 수행될 수도 있고, 동시에 수행될 수도 있다. 또한, 본 발명의 몇몇 실시예들에서, 도 11에 리스트된 몇몇 동작들은 생략될 수 있다.
도 12는 본 발명의 실시예들에서 설명되는, 랜덤화기를 사용하여 행렬에 대한 데이터 입력/출력 포맷을 선택하는 과정에 관련되는 다양한 단계들을 나타내고 있는 순서도이다.
상기 데이터 입력/출력 포맷은 상기 데이터가 행렬에 입력/출력되는 포맷을 나타낸다. 일 예로, 인터리빙의 2차원 모드에서, 상기 데이터 입력 포맷은 상기 데이터가 row wise 혹은 column wise로 입력될지 여부를 나타낸다.
상기 데이터 입력/출력 포맷을 계산하기 위해서, 상기 프로세싱 모듈(401)은 제2랜덤화기(508)를 초기화한다(1201단계). 상기 제2랜덤화기(508)는 상기 랜덤화기(508)에 랜덤 비트 시퀀스를 입력함으로써 초기화된다. 또한, 상기 클럭 생성기(507)에 의해 생성된 클럭 펄스를 사용함으로써, 상기 프로세싱 모듈(401)은 상기 제2 랜덤화기(508)에 존재하는 상기 비트 시퀀스의 클럭 쉬프트를 수행한다(1202단계). 상기 비트 시퀀스의 클럭 쉬프트를 수행한 후, 상기 프로세싱 모듈(401)은 상기 랜덤화기(508)에서 미리 결정된 위치로부터 미리 결정된 개수의 비트들을 검출한다(1203단계). 일 예로, 상기 프로세싱 모듈(401)은 상기 랜덤화기(508)에서 미리 결정된 위치로부터 단일 비트(C0)를 검출할 수 있다.
또한, 상기 검출된 비트(C0)는 해당 데이터 베이스에 저장되어 있는 값들과 비교된다(1204단계). 상기 데이터 베이스는 상기 검출된 비트에 상응하게 선택될 데이터 입력/출력 포맷에 대한 정보를 포함하는 룩업 테이블(Look Up Table: LUT)이 될 수 있다. 일 예로, 상기 검출된 비트(C0)의 값에 해당하는 데이터 저장/출력 포맷을 포함하는 데이터 베이스를 <표 3>에 표시하였다.
C0 데이터 입력 순서 데이터 출력 순서
0 행 입력 열 출력
1 열 입력 행 출력
만약, 상기 검출된 비트 C0가 0일 경우(C0 = 0), 상기 프로세싱 모듈(401)은 데이터 입력/출력을 위한 행 입력 및 열 출력 모드를 선택한다(1205단계). 만약, 상기 검출된 비트 C0가 1일 경우(C0 = 1), 상기 프로세싱 모듈(401)은 데이터 입력/출력을 위한 열 입력 및 행 출력 모드를 선택한다(1206단계). 또한, 상기 데이터 입력/출력은 상기 선택된 데이터 입력/출력 포맷에 따라 상기 동적 인터리빙 모듈(402)에 의해 수행된다.
본 발명의 일 실시예에서, 상기 데이터 입력/출력 포맷은 상기 데이터 전달에 대한 보다 나은 보안성을 보장하기 위해 동적으로 계산/변경될 수 있다. 또한, 데이터 입력/출력 포맷을 동적으로 계산/변경하기 위해 RSC 값이 사용될 수 있다. 방법(1200)에서의 다양한 동작들은 도시되어 있는 바와 같은 순서대로 수행될 수도 있고, 서로 다른 순서로 수행될 수도 있고, 동시에 수행될 수도 있다. 또한, 본 발명의 몇몇 실시예들에서, 도 12에 리스트된 몇몇 동작들은 생략될 수 있다.
도 13은 본 발명의 실시예들에서 설명되는, 랜덤화기를 사용하여 데이터 입력 순서를 선택하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다.
상기 데이터 입력 포맷이 선택될 경우, 상기 프로세싱 모듈은 상기 데이터 입력/출력 순서를 계산한다. 상기 데이터 입력/출력 순서는 상기 행렬에 상기 데이터가 입력/출력될 순서를 나타낸다. 일 예로, 상기 데이터 입력/출력 포맷이 행 입력 및 열 출력으로 선택된 2차원 행렬을 고려하기로 한다. 이 경우, 상기 데이터 입력 순서는 어떤 데이터가 먼저 입력될지를 나타낸다. 일 예로, 상기 데이터 저장 순서가 먼저 행 1이 선택될 경우, 데이터 저장은 첫 번째 행부터 시작하여 연속된 행들로 수행된다. 이와 유사하게, 상기 데이터 출력 순서가 열 2로부터 시작되도록 선택될 경우, 데이터 출력은 열 2부터 연속된 열들로 수행된다. 이와 유사하게, 3차원 행렬에 대해서도 상기 데이터 입력 및 출력 순서가 계산될 수 있다. 3차원 행렬의 경우, 데이터 일력은 row wise, column wise, layer wise 방법으로 발생할 수 있다.
행렬에 대한 상기 데이터 입력 순서를 계산하기 위해서, 상기 프로세싱 모듈(401)은 상기 랜덤화기(508)에 랜덤 비트 시퀀스를 입력시킴으로써 제1랜덤화기(508)를 초기화시킨다(1301단계). 또한, 상기 프로세싱 모듈(401)은 상기 제2랜덤화기(508)에 대한 입력으로서 제공될 상기 비트 시퀀스의 클럭 쉬프트를 수행한다(1302단계). 상기 프로세싱 모듈(401)은 상기 클럭 생성기(507)를 사용하여 상기 클럭 쉬프트를 수행하는 상기 클럭 신호를 생성한다.
또한, 상기 프로세싱 모듈(401)은 상기 랜덤화기(508)에서 미리 결정되어 있는 필드들로부터 임의의 개수의 비트들을 검출한다(1303단계). 일 예로, 상기 랜덤화기(508)가 상기 랜덤화기 비트 시퀀스로부터 2비트들(A25 및 A24)을 검출하는 경우를 가정한다. 상기 검출된 비트들은 상기 메모리(505)에 미리 저장되어 있는 데이터 베이스와 비교된다(1304단계). 본 발명의 일 실시예에서, 상기 메모리 모듈(505)에 존재하는 상기 데이터 베이스는 상기 검출된 비트 시퀀스에 상응하게 선택될 데이터 입력 순서에 대한 정보를 포함하는 룩업 테이블(Look Up Table: LUT)을 적어도 하나 저장할 수 있다.
상기 검출된 비트 시퀀스 A25 A24가 00일 경우(A25 A24 = 00), 상기 프로세싱 모듈(401)은 데이터 입력을 위해 첫 번째 행 혹은 첫 번째 열을 선택한다(1305단계). 상기 검출된 비트 시퀀스 A25 A24가 01일 경우(A25 A24 = 01), 상기 프로세싱 모듈(401)은 데이터 입력을 위해 두 번째 행/열을 선택한다(1306단계). 또한, 상기 데이터 입력은 선택된 데이터 입력 포맷을 기반으로 발생된다. 일 예로, 상기 데이터 입력 포맷이 행 입력과 열 출력으로서 선택되고, 상기 데이터 입력 순서가 첫 번째 행/열로서 선택될 경우, 데이터 입력은 첫 번째 행부터 시작된다. 일 예로, 2차원 행렬에 대해서, 상기 검출된 비트 시퀀스에 상응하는 데이터 입력 순서가 <표 4>에 기재된 바와 같다고 가정자다.
비트 시퀀스 입력 번호
00 1
01 2
10 3
11 4
상기 시스템은 상기 선택된 행/열이 존재하는지 여부를 검사한다(1309단계). 본 발명의 일 실시예에서, 상기 시스템은 상기 행렬에 존재하는 행들의 개수(m) 혹은 열들의 개수(n)와 상기 선택된 행/열 개수를 비교함으로써 상기 선택된 행/열이 존재하는지 여부를 검사할 수 있다. 일 예로, 상기 행렬이 2*3 행렬이고, 데이터 입력을 시작하기 위해 선택된 행이 4인 경우가 발생될 수 있다. 이 경우, 상기 행렬이 오직 2개의 행들만을 가지기 때문에 상기 선택된 행은 존재하지 않는다. 이런 경우, 상기 프로세싱 모듈은 상기 랜덤화기 비트 시퀀스의 클럭 쉬프트를 수행하고 상기 새롭게 검출된 비트들을 기반으로 데이터를 입력하는 새로운 행/열을 선택한다(1302단계). 상기 선택된 행/열이 존재할 경우, 상기 데이터 입력 블록(603)은 상기 선택된 행/열로부터 데이터 입력을 시작한다. 본 발명의 일 실시예에서, 상기 LUT의 사이즈는 더 많은 선택 옵션(option)들을 가지는 데이터 사이즈(size)에 상응하게 확장될 수 있거나 혹은 변경될 수 있고, 따라서 상기 랜덤화기 역시 수정될 수 있다.
3차원 인터리빙 포맷에 대해서, 상기 데이터 입력은 행 입력, 열 입력 및 계층 입력인 서로 다른 3개의 플레인(plane)들에서 발생할 수 있다. 이 경우, 상기 프로세싱 모듈(401)은 상기 랜덤화기 비트 시퀀스로부터 적어도 3개의 비트들을 검출할 수 있으며, 그리고 나서 상기 랜덤화기 비트 시퀀스는 상기 데이터 베이스에 존재하는 LUT와 비교된다. 또한, 상기 검출된 비트 시퀀스의 값들을 기반으로, 상기 프로세싱 모듈(401)은 데이터 입력 포맷을 선택할 수 있다. 비트 시퀀스 값과 3차원 인터리빙 포맷에 대한 해당 데이터 입력 순서를 포함하는 LUT의 일 예를 <표 5>에 나타내었다.
비트 시퀀스 값
000 행 입력 열 입력 계층 입력
001 행 입력 계층 입력 열 입력
010 열 입력 행 입력 계층 입력
011 열 입력 계층 입력 행 입력
100 계층 입력 행 입력 열 입력
101 계층 입력 열 입력 행 입력
본 발명의 일 실시예에서, 상기 데이터 입력 순서는 상기 데이터 전달에 대한 보다 나은 보안성을 보장하기 위해서 동적으로 계산/변경될 수 있다. 또한, 데이터 입력 순서 값을 동적으로 계산/변경하기 위해 RSC 값이 사용될 수 있다. 방법(1300)에서의 다양한 동작들은 도시되어 있는 바와 같은 순서대로 수행될 수도 있고, 서로 다른 순서로 수행될 수도 있고, 동시에 수행될 수도 있다. 또한, 본 발명의 몇몇 실시예들에서, 도 13에 리스트된 몇몇 동작들은 생략될 수 있다.
도 14는 본 발명의 실시예들에서 설명되는, 랜덤화기를 사용하여 2차원 행렬에 대한 데이터 출력 순서를 선택하는 과정에 관련되는 다양한 단계들을 도시하고 있는 순서도이다.
데이터 출력 포맷이 선택될 경우, 상기 프로세싱 모듈은 데이터 입력/출력 순서를 계산한다. 상기 데이터 입력/출력 순서는 상기 행렬에서 상기 데이터가 입력/출력될 순서를 나타낸다. 일 예로, 상기 데이터 입력/출력 포맷이 행 입력 열 출력으로 선택된 2차원 행렬을 고려하기로 한다. 이 경우, 상기 데이터 출력 순서는 어떤 데이터가 먼저 출력될지를 나타낸다. 일 예로, 상기 데이터 출력 순서가 먼저 열 2로 선택될 경우, 데이터 출력은 두 번째 열부터 시작되어 연속된 열들로 수행된다. 이와 유사하게, 상기 데이터 출력 순서는 3차원 행렬에 대해서도 계산될 수 있다. 본 발명의 다양한 실시예들에서, 상기 데이터 입력/출력 순서가 선택된 후, 상기 입력/출력은 상기 시스템에 의해 상기 계산된 랜덤 시퀀스들을 기반으로 연속적으로 수행되거나, 혹은 호핑 방법으로 수행되거나, 혹은 랜덤 방식으로 수행될 수 있다.
행렬에 대한 상기 데이터 출력 순서를 계산하기 위해서, 상기 프로세싱 모듈(401)은 상기 랜덤화기(508)로 랜덤 비트 시퀀스를 입력시킴으로써 제1랜덤화기(508)를 초기화한다(1401단계). 또한, 상기 프로세싱 모듈(508)은 상기 제2랜덤화기(508)에 대한 입력으로 제공될 상기 비트 시퀀스의 클럭 쉬프트를 수행한다(1402단계). 상기 프로세싱 모듈(401)은 상기 클럭 생성기(507)를 사용하여 상기 클럭 쉬프트를 수행하는 상기 클럭 신호를 생성할 수 있다.
또한, 상기 프로세싱 모듈(401)은 상기 랜덤화기(508)에서 미리 결정되어 있는 필드들로부터 임의의 개수의 비트들을 검출한다(1403단계). 일 예로, 2차원 행렬에 대해서, 상기 랜덤화기(508)가 상기 랜덤화기 비트 시퀀스로부터 2비트들(A19, A18)을 검출하는 경우를 고려하기로 한다. 또한, 상기 검출된 비트들은 상기 메모리 모듈(505)에 미리 저장되어 있는 데이터 베이스와 비교된다(1404단계). 본 발명의 일 실시예에서, 상기 메모리 모듈(505)에 존재하는 상기 데이터 베이스는 상기 검출된 비트 시퀀스에 상응하게 선택될 데이터 출력 순서에 대한 정보를 포함하는 룩업 테이블(Look Up Table: LUT)을 적어도 1개 포함할 수 있다. 일 예로, 검출된 비트들의 특정 값들에 상응하게 2차원 행렬에 대한 데이터 출력 포맷을 <표 6>에 나타내었다.
비트 시퀀스 출력 번호/순서
00 1
01 2
10 3
11 4
상기 검출된 비트 시퀀스 A19 A18가 00일 경우(A19 A18 = 00), 상기 프로세싱 모듈(401)은 데이터 출력을 위한 첫 번째 행 혹은 열을 선택한다(1405단계). 상기 검출된 비트 시퀀스 A25 A24가 01일 경우(A25 A24 = 01), 상기 프로세싱 모듈(401)은 데이터 출력을 위한 두 번째 행/열을 선택한다(1406단계). 또한, 상기 데이터 출력은 상기 선택된 데이터 출력 포맷에 상응하게 발생한다. 일 예로, 상기 데이터 출력 포맷이 열 출력으로 선택되고, 상기 데이터 출력 순서가 두 번째 열부터 선택된다고 가정할 경우, 데이터 출력은 두 번째 열부터 시작된다.
또한, 상기 시스템은 상기 선택된 행/열이 존재하는지 여부를 검사한다(1409단계). 본 발명의 일 실시예에서, 상기 시스템은 상기 행렬에 존재하는 행들의 개수(m) 혹은 열들의 개수(n)와 상기 선택된 행/열의 개수를 비교함으로써, 상기 선택된 행/열이 존재하는지 여부를 검사할 수 있다. 일 예로, 상기 행렬이 2*3 행렬이고, 데이터 출력을 시작하기 위해 선택된 열이 4인 경우가 발생할 수 있다. 이 경우, 상기 행렬은 오직 3개의 열들만을 가지기 때문에 상기 선택된 열은 존재하지 않는다. 이런 경우, 상기 프로세싱 모듈은 상기 랜덤화기 비트 시퀀스의 클럭 쉬프트를 수행하고, 상기 새롭게 검출된 비트들을 기반으로 데이터 저장을 위한 새로운 행/열을 선택한다(1402단계). 상기 선택된 열/행이 존재할 경우, 수신측 디바이스(101.b)에 존재하는 데이터 출력 블록이 상기 선택된 열/행으로부터 데이터 출력을 시작한다(1410단계).
본 발명의 일 실시예에서, 상기 데이터 출력 순서는 상기 데이터 전달에 대한 보다 나은 보안성을 보장하기 위해 동적으로 계산/변경될 수 있다. 또한, 데이터 출력 값을 동적으로 계산/변경하기 위해 RSC 값이 사용될 수 있다. 일 예로, 데이터 입력/출력 포맷이 row wise 입력으로 선택되고, column wise 출력으로 선택되고, 선택된 입력 순서 및 출력 순서가 각각 3,4인 8*8 행렬에 대해서 고려하기로 한다. 이 때, 상기 입력은 3번째 행부터 시작되고, 4번째 행부터 8번째 행까지 수행된다. 행렬이 8번째 행에서 종료되기 때문에 다시 첫 번째 행부터 자동적으로 입력을 시작하고, 2번째 행이 데이터를 입력하기 위해 선택될 것이다. 본 발명의 일 실시예에서, 상기 row wise 입력 순서는 순차적이거나 혹은 랜덤할 수 있다.
또한, 상기 수신기에서, 상기 데이터 출력은 4번째 열로부터 시작되어 5번째 열부터 8번째 열까지 수행된다. 행렬이8번째 열에서 종료되기 때문에 첫 번째 열부터 자동적으로 출력이 시작되고, 순차적으로 2번째 열 및 3번째 열이 데이터를 출력하기 위해 선택될 것이다. 본 발명의 일 실시예에서, column wise 출력 순서는 순차적이거나 혹은 랜덤할 수 있다.
본 발명의 일 실시예에서, 상기 데이터 출력 순서는 또한 3차원 행렬을 위해서도 계산될 수 있다. 3차원 인터리빙 포맷에 대해서, 상기 데이터 출력은 출력 행, 출력 열 및 출력 계층인 서로 다른 3개의 플레인(plane)들에서 발생할 수 있다. 또한, 3차원 행렬의 경우, 적어도 5개의 서로 다른 데이터 출력 포맷들이 각 데이터 입력 포맷에 상응하게 존재할 수 있다. 일 예로, 상기 3차원 행렬에 대해 선택된 데이터 입력 포맷이 000일 경우, 적어도 5개의 서로 다른 데이터 출력 포맷이 존재할 수 있다. 이와 유사하게, 상기 데이터 입력 순서가 001일 경우, 또 다른 5개의 서로 다른 데이터 출력 포맷이 유용할 수 있다.
상기 데이터 입력 순서 000에 해당하는 데이터 출력 포맷들을 <표 7>에 나타내었다.
데이터 입력 순서 데이터 출력 지시자
000 열 출력 행 출력 계층 출력 1
000 열 출력 계층 출력 행 출력 2
000 계층 출력 행 출력 열 출력 3
000 계층 출력 열 출력 행 출력 4
000 행 출력 계층 출력 열 출력 5
이와 유사하게, 상기 데이터 입력 순서 001에 해당하는, 다양한 데이터 출력 포맷들을 <표 8>에 나타내었다.
데이터 입력 순서 데이터 해제 포맷 데이터 출력 지시자
001 계층 출력 행 출력 열 출력 1
001 계층 출력 열 출력 행 출력 2
001 열 출력 행 출력 계층 출력 3
001 열 출력 계층 출력 행 출력 4
001 행 출력 열 출력 계층 출력 5
본 발명의 일 실시예에서, 데이터 출력 지시자 값은 특정 데이터 입력 포맷에 상응하게 선택될 데이터 출력 순서를 결정한다. 또한, 상기 데이터 출력 지시자 값은 시스템 구조 및 요구 사항들을 기반으로 랜덤화기, 카운터 또는 상기 랜덤화기와 카운터의 조합을 사용하여 계산될 수 있다. 또한, 별도의 룩업 테이블(look up tables: LUT)들이 각 데이터 입력 포맷에 상응하게 유지될 수 있다. 이와 유사하게, 다수의 데이터 출력 포맷들이 010,011 등과 같은 다른 데이터 입력 패턴들에 상응하게 유용해질 수 있다.
3차원 행렬 데이터 프로세싱의 경우, 시스템은 상기 행렬의 데이터 입력이 000,001 등과 같은 상기 시퀀스들 중 어느 하나를 기반으로 하는지를 검사한다. 그리고 나서, 상기 수신기 측에서 상기 데이터를 인터리빙하고 적합하게 복원하도록 하기 위해 데이터 출력이 <표 7> 또는 <표 8>을 참조하여 수행될 것이다. 방법(1400)에서의 다양한 동작들은 도시되어 있는 바와 같은 순서대로 수행될 수도 있고, 서로 다른 순서로 수행될 수도 있고, 동시에 수행될 수도 있다. 또한, 본 발명의 몇몇 실시예들에서, 도 14에 리스트된 몇몇 동작들은 생략될 수 있다.
도 15는 본 발명의 실시예들에서 설명되는, 개선된 보안성을 위한 랜덤 스킵 카운트(Random Skip Count: RSC)를 구현하는 과정에 연관되는 다양한 단계들을 도시하고 있는 순서도이다.
RSC의 초기 값은 0이다(RSC = 0). RSC 시퀀스가 어택 및/혹은 데이터 전달 실패의 경우 개선된 데이터 보안성을 획득하기 위해 사용된다. 상기 시스템은 항상 상기 메시지 송신시 데이터 전달 실패에 대한 어택을 검사한다. 어택 혹은 실패가 검출될 경우(1501단계), 상기 시스템은 RSC 값을 계산한다(1502단계). 본 발명의 바람직한 실시예에서, 상기 RSC 값은 제3랜덤화기(508)를 사용하여 계산된다. 상기 제3랜덤화기(508)는 8비트의 이진 시퀀스를 제공할 수 있다. 상기 이진 시퀀스의 십진수 값이 상기 RSC 값으로서 사용될 수 있다.
또한, 상기 시스템은 상기 계산된 RSC 값을 기반으로 상기 제1 랜덤화기 및 제2랜덤화기의 클럭 카운트 값을 조정한다(1503단계). 본 발명의 바람직한 실시예에서, 상기 RSC 값은 상기 제1랜덤화기 및 제2랜덤화기(508)에 대한 클럭 카운트 값으로서 사용된다. 또한, 클럭 카운트로서 상기 RSC 값을 사용할 경우, 상기 시스템은 상기 제어 신호 파라미터들에 대한 새로운 값들을 계산한다(1504단계). 또한, 상기 새로운 제어 신호 파라미터 값들을 사용할 경우, 상기 데이터는 인터리빙되고 수신측 디바이스(101.b)로 송신된다(1505단계). 또한, 상기 계산된 RSC 값은 보안 채널을 사용하여 상기 수신측 디바이스(101b)로 송신되고, 상기 수신측 디바이스(101.b)는 상기 수신된 정보로부터 상기 인터리빙된 파라미터들/설정들을 검출하기 위해 상기 RSC 카운트를 사용할 수 있다. 방법(1500)에서의 다양한 동작들은 도시되어 있는 바와 같은 순서대로 수행될 수도 있고, 서로 다른 순서로 수행될 수도 있고, 동시에 수행될 수도 있다. 또한, 본 발명의 몇몇 실시예들에서, 도 15에 리스트된 몇몇 동작들은 생략될 수 있다.
도 16은 본 발명의 실시예들에서 설명되는, 제안된 동적 인터리빙 시스템의 시스템 구조를 도시하고 있는 도면이다. NFC 메커니즘을 사용하여 수신측 디바이스로 송신될 데이터는 동적 인터리빙 페이로드 생성 모듈(302)에 포함되어 있는 상기 인터리빙 모듈(402)에 대한 입력으로 제공된다. 또한, 상기 인터리빙 모듈(402)은 프로세싱 모듈(401)로부터 제어 신호를 수신하고, 상기 프로세싱 모듈(401)은 상기 동적 인터리빙 페이로드 생성 모듈(302)의 일부이다. 상기 프로세싱 모듈(401)은 프로세싱을 위한 입력인 상기 데이터 신호를 수신함으로써 상기 제어 신호를 생성할 수 있다. 또한, 상기 제어 신호는 행들의 개수, 열들의 개수, 데이터 입력/출력 포맷, 데이터 입력 순서, 데이터 출력 순서 및 RSC 등과 같은 다양한 동적 인터리빙 파라미터들을 포함할 수 있다. 상기 인터리빙 파라미터들은 랜덤화기들 또는 적합한 수학식들을 사용함으로써 계산될 수 있다. 또한, 상기 제어 신호 파라미터들을 사용할 경우, 상기 동적 인터리빙 페이로드 생성 모듈(302)에 포함되어 있는 상기 인터리빙 모듈(402)은 송신될/공유될 데이터의 동적 인터리빙을 수행한다.
도 17 내지 도 19는 본 발명의 실시예들에서 설명되는, 랜덤화기들을 사용하여 행들의 개수 및 열들의 개수를 측정하는 시스템 구조를 도시하는 도면이다.
본 발명의 일 실시예에서, 2차원 행렬에 대해, 행들의 개수(m)가 랜덤화기(508)를 사용하여 계산될 경우, 열들의 개수(n)는 적합한 수학식을 사용하여 계산된다. 또는, 열들의 개수(n)가 랜덤화기(508)를 사용하여 계산될 경우, 행들의 개수(m)는 적합한 수학식을 사용하여 계산된다. 행들의 개수 혹은 열들의 개수를 계산하는, 상기 제안된 구조에서, 상기 랜덤화기(508)는 비트 시퀀스를 입력함으로써 초기화된다. 또한, 클럭 쉬프트가 상기 입력된 비트 시퀀스에 대해 수행되고, 상기 비트 시퀀스의 미리 정의된 위치로부터 2비트들이 검출된다. 또한, 상기 검출된 비트들은 룩업 테이블(look up table: LUT)과 비교된다. 상기 LUT는 상기 검출된 비트 시퀀스들에 상응하게 선택될 행들의 개수(m)를 포함할 수 있다. LUT에 포함되어 있는 상기 값을 기반으로, 상기 시스템은 상기 2차원 행렬에 대한 행들의 개수(m)를 선택/결정한다.
도 20은 본 발명의 실시예들에서 설명되는, 2차원 행렬에 대한 데이터 입력/출력 포맷을 계산하는 시스템 구조를 도시하는 도면이다.
이 시스템에서, 상기 랜덤화기(508)는, 적합한 길이(일 예로, 랜덤화기의 사이즈를 기반으로 하는 8비트)의 비트 시퀀스가 입력됨으로써 초기화된다. 또한, 상기 시스템은 상기 랜덤화기(508)에 제공된 상기 비트 시퀀스의 클럭 쉬프트를 수행한다. 또한, 상기 시스템은 상기 비트 시퀀스의 미리 정의된 위치에서 1비트를 검출하고, 상기 검출한 비트를 룩업 테이블(look up table: LUT)과 비교한다. 상기 LUT는 상기 검출된 비트에 상응하게 어떤 데이터 입력/출력 포맷이 사용될 지에 대한 정보를 포함할 수 있다. 또한, 상기 선택된 데이터 입력/출력 포맷은 2차원 행렬로 데이터를 입력하고, 상기 2차원 행렬로부터 데이터를 출력하는데 사용된다. 일 예로, 상기 2차원 행렬에 대해, 상기 데이터 입력/출력 포맷은 행 입력/열 출력 혹은 열 입력/행 출력이 될 수 있다. 또한, 이런 방법에서, 상기 비트들은 상기 시스템에 의해 설정된, 상기 시퀀스의 어떤 위치로부터도 검출될 수 있다. 또한, 상기 비트들은 어떤 위치로부터도 사용될 수 있고, 상기 위치는 상기 시스템에 의해 구성된다.
도 21 및 도 22는 본 발명의 실시예들에서 설명되는, 2차원 행렬에 대한 데이터 입력/출력 순서를 계산하는 시스템 구조를 도시하는 도면이다.
데이터 입력/출력 포맷이 상기 2차원 행렬에 대해서 선택될 경우, 상기 시스템은 상기 2차원 행렬로부터 데이터를 입력하고 출력하는 데이터 입력/출력 순서 및 상기 2차원 행렬에 데이터를 입력하고 출력하는 데이터 입력/출력 순서를 계산한다. 상기 데이터 입력/출력 순서는, 데이터가 상기 2차원 행렬에 입력되고, 상기 데이터가 상기 2차원 행렬로부터 출력될 순서를 나타낸다. 일 예로, 상기 데이터 입력 포맷이 행 입력이고, 상기 데이터 입력 포맷이 행 2로부터 시작되도록 선택되었을 경우, 상기 데이터는 상기 행렬의 2번째 행부터 시작하여 입력된다.
처음에, 비트 시퀀스가 상기 랜덤화기(508)의 입력으로 제공되고, 상기 입력된 비트 시퀀스는 상기 클럭 생성기(507)를 사용하여 생성된 클럭 쉬프트 펄스를 사용하여 쉬프트된 클럭이다. 또한, 상기 비트들은 상기 비트 시퀀스의 미리 정의된 위치들로부터 검출되고, 해당 룩업 테이블(look up table: LUT)들에 존재하는 값들과 비교된다. 상기 LUT들은 사용될 데이터 입력/출력 순서에 대한 정보를 포함할 수 있다. 또한, 상기 선택된 데이터 입력/출력 순서는 상기 행렬에 데이터를 입력하고, 상기 행렬로부터 데이터를 출력하기 위해 사용된다.
도 23은 본 발명의 실시예들에서 설명되는, 3차원 행렬 동적 랜덤 인터리빙을 위한 시스템 구조를 도시하고 있는 도면이다. NFC 메커니즘을 사용하여 수신측 디바이스로 송신될 데이터는 동적 인터리빙 페이로드 생성 모듈(302)에 포함되어 있는 상기 인터리빙 모듈(402)에 대한 입력으로 제공된다. 또한, 상기 인터리빙 모듈(402)은 프로세싱 모듈(401)로부터 제어 신호를 수신하고, 상기 프로세싱 모듈(401)은 상기 동적 인터리빙 페이로드 생성 모듈(302)의 일부이다. 상기 프로세싱 모듈(401)은 프로세싱을 위한 입력인 상기 데이터 신호를 수신함으로써 상기 제어 신호를 생성할 수 있다. 또한, 상기 제어 신호는 행들의 개수, 열들의 개수, 계층들의 개수, 데이터 입력/출력 포맷, 데이터 입력 순서, 데이터 출력 순서및 RSC 등과 같은 다양한 동적 인터리빙 파라미터들을 포함할 수 있다. 상기 인터리빙 파라미터들은 랜덤화기들을 사용하거나 또는 임의의 수학식들을 사용함으로써 계산될 수 있다. 또한, 상기 제어 신호 파라미터들을 사용할 경우, 상기 동적 인터리빙 페이로드 생성 모듈(302)에 포함되어 있는 상기 인터리빙 모듈(402)은 송신될/공유될 데이터의 3차원 동적 인터리빙을 수행한다.
도 24는 본 발명의 실시예들에서 설명되는, 3차원 행렬에 대한 행들의 개수를 계산하는 시스템 구조를 도시하고 있는 도면이다. 본 발명의 일 실시예에서, 3차원 행렬에 대해, 행들의 개수(m), 열들의 개수(n) 및 계층들의 개수(l) 중 어느 2개가 랜덤화기(508)를 사용하여 계산될 경우, 나머지 파라미터는 적합한 수학식을 사용하여 계산된다. 일 예로, 3차원 행렬에 대한 행들의 개수와 열들의 개수가 랜덤화기들을 사용하여 계산될 경우, 계층들의 계수가 적합한 수학식을 사용하여 계산된다. 행들의 개수를 계산하는, 상기 제안된 구조에서, 상기 랜덤화기(508)는 비트 시퀀스를 입력함으로써 초기화된다. 또한, 클럭 쉬프트가 상기 입력된 비트 시퀀스에 대해 수행되고, 상기 비트 시퀀스의 미리 정의된 위치로부터 2비트들이 검출된다. 또한, 상기 검출된 비트들은 룩업 테이블(look up table: LUT)과 비교된다. 상기 LUT는 상기 검출된 비트 시퀀스들에 상응하게 선택될 행들의 개수(m)를 포함할 수 있다. LUT에 포함되어 있는 상기 값을 기반으로, 상기 시스템은 상기 2차원 행렬에 대한 행들의 개수(m)를 선택/결정한다.
도 25는 본 발명의 실시예들에서 설명되는, 3차원 행렬에 대한 행들의 개수(m), 열들의 개수(n), 또는 계층들의 개수(l)를 계산하는 시스템 구조를 도시하고 있는 도면이다.
본 발명의 일 실시예에서, 3차원 행렬에 대해, 행들의 개수(m), 열들의 개수(n) 및 계층들의 개수(l) 중 어느 2개가 랜덤화기(508)를 사용하여 계산될 경우, 나머지 파라미터는 적합한 수학식을 사용하여 계산된다. 일 예로, 3차원 행렬에 대한 행들의 개수와 열들의 개수가 랜덤화기들을 사용하여 계산될 경우, 계층들의 개수가 적합한 수학식을 사용하여 계산된다. 행들의 개수를 계산하는, 상기 제안된 구조에서, 상기 랜덤화기(508)는 비트 시퀀스를 입력함으로써 초기화된다. 또한, 클럭 쉬프트가 상기 입력된 비트 시퀀스에 대해 수행되고, 상기 비트 시퀀스의 미리 정의된 위치로부터 2비트들이 검출된다. 또한, 상기 검출된 비트들은 룩업 테이블(look up table: LUT)과 비교된다. 상기 LUT는 상기 검출된 비트 시퀀스들에 상응하게 선택될 행들의 개수(m)를 포함할 수 있다. LUT에 포함되어 있는 상기 값을 기반으로, 상기 시스템은 상기 3차원 행렬에 대한 행들의 개수(m)를 선택/결정한다.
도 26은 본 발명의 실시예들에서 설명되는, 3차원 행렬에 대한 데이터 입력 포맷을 계산하는 시스템 구조를 도시하는 도면이다.
3차원 행렬에 대한 데이터 입력 포맷은 상기 3차원 행렬에 데이터가 저장될 포맷을 나타낸다. 데이터 입력 포맷을 결정하는, 상기 제안된 구조에서, 상기 랜덤화기(508)는 입력 시퀀스를 입력함으로써 초기화된다. 또한, 클럭 쉬프트가 상기 입력된 비트 시퀀스에 대해 수행되고, 상기 비트 시퀀스의 미리 정의된 위치로부터 3비트들이 검출된다. 또한, 상기 검출된 비트들은 룩업 테이블(look up table: LUT)과 비교된다. 상기 LUT는 상기 검출된 비트 시퀀스들에 상응하는 데이터 입력 포맷에 대한 정보를 포함할 수 있다. LUT에 포함되어 있는 상기 값을 기반으로, 상기 시스템은 상기 3차원 행렬에 대한 상기 데이터 입력 포맷을 선택/결정한다. 3차원 행렬에 대해, 데이터 입력은 row wise 모드, 혹은 column wise 모드, 혹은 layer wise 모드, 혹은 다양한 조합들로부터 시작될 수 있다.
도 27은 본 발명의 실시예들에서 설명되는, 3차원 행렬에 대한 데이터 출력 포맷을 계산하는 시스템 구조를 도시하는 도면이다.
3차원 행렬에 대한 데이터 출력 포맷은 상기 3차원 행렬로부터 데이터가 출력될 포맷을 나타낸다. 데이터 출력 포맷을 결정하는, 상기 제안된 구조에서, 상기 랜덤화기(508)는 입력 시퀀스를 입력함으로써 초기화된다. 또한, 클럭 쉬프트가 상기 입력된 비트 시퀀스에 대해 수행되고, 상기 비트 시퀀스의 미리 정의된 위치로부터 3비트들이 검출된다. 또한, 상기 검출된 비트들은 룩업 테이블(look up table: LUT)과 비교된다. 상기 LUT는 상기 검출된 비트 시퀀스들에 상응하게 선택될 데이터 출력 순서에 대한 정보를 포함할 수 있다. LUT에 포함되어 있는 상기 값을 기반으로, 상기 시스템은 상기 3차원 행렬에 대한 상기 데이터 출력 포맷을 선택/결정한다. 3차원 행렬에 대해, 데이터 출력은 row wise 모드, 혹은 column wise 모드, 혹은 layer wise 모드, 혹은 다양한 조합들로부터 시작될 수 있다.
도 28 및 도 29는 본 발명의 실시예들에서 설명되는, 2차원 행렬 및 3차원 행렬에 대한 서브 행렬들을 동적 인터리빙하는 시스템 구조를 도시하는 도면이다.
상기 제안된 시스템은 서브 행렬들 레벨에서 각각 동적 인터리빙을 수행하는 것을 허용한다. 상기 서브 행렬 컨셉에서, 상기 메인 행렬은 더 작은 행렬들로 분할되고, 서브 행렬들은 랜덤 사이즈를 가지는 데이터를 입력하기 위해 사용된다. 일 예로, 2차원 행렬에서, m1:n1...mx:my의 사이즈들을 가지는 서브 행렬들은 상기 데이터를 동적으로 랜덤화시키기 위해 사용된다. 그리고 나서, 전체 비트들의 개수(N)는 <수학식 3>과 같이 계산될 수 있다.
Figure 112013027798506-pat00003
서브 행렬들 형태로 데이터를 동적으로 인터리빙하기 위해, 상기 시스템은 전체 데이터 사이즈에 대한 정보를 유지한다. 또한, 전체 데이터 사이즈를 측정하기 위해, 상기 시스템은 서브 행렬들을 유지한다. 본 발명의 일 실시예에서, 1개의 동적 인터리빙 시스템은 별도의 서브 행렬들을 랜덤화하기 위해 사용될 수도 있고, 혹은 전용 서브 동적 인터리빙 시스템들이 상기 인터리빙의 속도를 증가시키기 위해 사용될 수도 있다. 2차원 서브 행렬들 인터리빙 시스템에서, 2차원 행렬들이 인터리빙되고, 이에 반해 3차원 서브 행렬들 인터리빙 시스템에서는 3차원 서브 행렬들이 인터리빙되고 송신된다. 2차원 행렬에 대해서, 상기 시스템은 행렬의 행들 및 열들 형태로 데이터를 배열한다. 3차원 행렬에 대해서, 상기 시스템은 3개의 플레인(plane)들, 즉 행들과 열들 및 계층들의 3개의 플레인들에서 데이터가 배열될 3차원 포맷으로 데이터를 배열한다.
도 30은 본 발명의 실시예들에서 설명되는, 송신기와 수신기간 동적으로 인터리빙된 데이터 및 설정들을 공유하는 시스템 구조를 도시하 도면이다.
송신측 디바이스(101.a)로부터 수신측 디바이스(101.b) 송신될 데이터는 송신측 디바이스(101.a)에서 동적으로 인터리빙된다. 수신측 디바이스(101b)는 상점에 위치하고 있거나, POS 벤더(vender)와 함께 위치하고 있거나, 상인과 함께 위치하고 있는 제2사용자 디바이스(101.b)가 될 수 있다. 또한, 동적 인터리빙 데이터 및 동적 인터리빙 설정들은 상기 수신측 디바이스와 공유된다. 본 발명의 일 실시예에서, 상기 동적 인터리빙 데이터 및 동적 인터리빙 설정들은 보다 나은 보안성을 위해 서로 다른 채널들(102)을 통해 공유될 수 있다.
본 발명의 다른 실시예에서, 상기 동적 인터리빙 데이터 및 동적 인터리빙 설정들은 보다 나은 보안성을 위해 서로 다른 시간에서 동일한 채널들(102)을 통해 공유될 수 있다. 본 발명의 다른 실시예에서, 동적으로 인터리빙된 데이터 스트림(data stream)에 해당하는 동적 인터리빙 설정들은 상기 송신측 디바이스와 수신측 디바이스들간에서만 공유된다.
상기 설정들은 데이터 손실 혹은 해킹과 같은 이슈가 발생하였을 경우에만 데이터 스트림을 위해 재송신될 수 있다. 상기 설정들은 수신측 디바이스가 상기 수신된 데이터의 실시간 디인터리빙을 수행할 수 있도록 동적으로 인터리빙된 데이터의 송신 전에 송신될 수 있다. 동적으로 인터리빙된 설정들 및 파라미터들을 공유하기 위해 사용되는 채널은 보안 채널이 될 수도 있고, 공인 인증 기관(certificate authority: CA)이 될 수도 있다. 또한, 상기 보안 채널(102)은 유선이 될 수도 있고, 무선이 될 수도 있다.
도 31a 및 도 31b는 본 발명의 실시예들에서 설명되는, 각각 NDEF(NFC Data Exchange Format)를 사용하는 동적 인터리빙을 나타내는 제 1 설정들/파라미터들과, 제 2 설정들/파라미터들 및 단일 비트를 도시하는 도면이다.
상기 제안된 동적 인터리빙 방식에서, 송신측 사용자 디바이스(101.a)와 수신측 디바이스(101.b)간에 공유되는 상기 설정들/파라미터들은 2개의 파트들, 즉 제 1 설정들/파라미터들과, 제 2 설정들/파라미터들로 분할된다. 상기 설정들/파라미터들은 상기 송신측 디바이스와 수신측 디바이스가 모두 보안 채널을 사용하거나 혹은 CA를 통하여 공유한다. 상기 제 1 설정들/파라미터들(도 31a)은 덜 자주 변경되고, 어택의 경우 이 파라미터들은 상기 송신측 디바이스와 수신측 디바이스들의 허락에 의해 혹은 CA의 권고에 의해 변경될 수 있다. 상기 제 1 설정들/파라미터들은 <표 9>에 나타낸 바와 같은, 파라미터들을 포함한다.
m,n의 계산
A. 랜덤화기 1의 구조
B. 랜덤화기 1의 초기 워드(initial word)
C. 초기 클럭
랜덤 스킵 카운트(Random skip Count: RSC)
D. 스킵 카운트에 대한 랜덤화기 구조
E: 스킵 카운트에 대한 랜덤화기의 초기 워드
데이터 입력/출력
F. 입력/출력에 대한 랜덤화기 구조
G. 입력/출력에 대한 랜덤화기의 초기 워드
데이터 입력/출력 순서
F. 순서에 대한 랜덤화기의 구조
G: 순서에 대한 랜덤화기의 초기 워드
자주 변경되는 상기 설정들/파라미터들은 제 2 설정들/파라미터들(도 31b)을 사용하여 나타내진다. 상기 제 2 설정들/파라미터들은 <표 10>에 나타낸 바와 같은 파라미터들을 포함한다.
W. 비트들의 총 개수
X. 랜덤 스킵
본 발명의 일 실시예에서, 상기 비트들의 총 개수는 상기 제 1 설정들/파라미터들에서 유지될 수 있고, 오직 스킵 카운트만 어택 혹은 데이터 추적의 경우 상대방과 통신될 수 있다. 이렇게 함으로써, 상기 채널을 통한 상기 설정들/파라미터들의 잦은 공유는 피할 수 있게 된다.
본 발명의 다른 실시예에서, 디바이스 페어링은 상기 디바이스들(송신측 디바이스 및 수신측 디바이스)에 대한 상기 설정들/파라미터들을 설정하도록 하여, 상기 설정들/파라미터들의 잦은 공유를 피할 수 있도록 할 수 있다. 본 발명의 다른 실시예에서, 단일 비트 지시는, 상기 데이터가 랜덤하게 동적 인터리빙된다는 것을 나타내기 위해 NDEF에서 사용되고, 상기 수신측 디바이스는 동적 인터리빙을 사용하여 보안 수단으로 상기 데이터를 복구할 것이다. 지시 비트는 동적 랜덤 인터리빙이 수행되었는지 혹은 아닌지(1 혹은 0)를 나타내기 위해 사용된다.
본 발명의 다른 실시예에서, 단일 비트 지시는 도 31c에 도시한 바와 같이 NDEF로 사용될 수 있다. 이 지시를 사용함으로써, 수신측 디바이스는 상기 송신된 데이터에 동적 인터리빙이 이루어졌는지 혹은 아닌지를 식별할 수 있고, 동적 인터리빙 설정들이 보안 수단으로 데이터를 복구하기 위해 사용될 것인지를 식별할 수 있다. 일 예로, 지시 비트의 값 1은 동적 인터리빙이 이루어졌음을 나타낼 수 있고, 값 0은 동적 인터리빙이 이루어지지 않았음을 나타낼 수 있다.
여기에 개시된 실시예들은 네트워크 구성 요소들을 제어하기 위해 네트워크 관리 기능을 수행하고 적어도 하나의 하드웨어 디바이스에서 동작되는 적어도 하나의 소프트웨어 프로그램을 통해 구현될 수 있다. 도 3에 예시된 네트워크 구성 요소들은 적어도 하나의 하드웨어 디바이스일 수도 있는 블록들 또는 하드웨어 디바이스와 소프트웨어 모듈의 조합을 포함할 수 있다.
전술한 특정한 실시예에 대한 설명은 단지 본 발명의 여러 실시예들의 전반적인 특성을 십분 기술하기 위한 것으로서, 당해 기술분야의 전문가라면, 현재의 통상적인 지식을 활용함으로써 본 발명의 총괄적인 개념에서 벗어남이 없이, 그러한 특정 실시예들을 다양한 애플리케이션을 위해 용이하게 수정 및/또는 적응시킬 수 있다는 것을 이해할 수 있을 것이며, 그러한 수정과 적응화는 개시된 실시예의 균등물의 의미와 범위 안에서 이해되어야 할 것이다. 여기에 사용된 용어 또는 표현들은 범위를 제한하기 위한 것이 아니라 단지 설명의 목적을 위한 것임을 이해하여야 할 것이다. 따라서 바람직한 실시예의 견지에서 전술한 실시예들이 설명되었지만, 당해 전문가라면 그러한 실시예들은 여기에 기술된 실시예의 정신과 범위 내에서 수정 또는 변경이 가해질 수도 있음을 인식할 수 있을 것이다.

Claims (16)

  1. 제1디바이스 및 제2디바이스 간 근거리 무선 통신(near field communication; NFC) 방법에 있어서,
    상기 제1디바이스가 랜덤화(randomization)를 사용하여 송신될 정보를 동적으로 인터리빙(interleaving)하는 과정과,
    상기 제1디바이스가 동적으로 인터리빙된 데이터를 상기 제2디바이스로 송신하는 과정과,
    상기 제1디바이스가 동적으로 인터리빙된 설정들을 상기 제2디바이스로 송신하는 과정을 포함하며,
    상기 동적으로 인터리빙하는 과정은,
    상기 제1디바이스가 행렬의 열들의 개수, 행들의 개수, 데이터 입력 포맷(filling format), 데이터 출력 포맷(releasing format), 데이터 입력 순서(filling order), 데이터 출력 순서(releasing order) 및 상기 행렬의 계층들의 개수 중 적어도 하나를 결정하고, 상기 결정된 사항에 따라 상기 정보를 행렬로 인터리빙하는 과정을 포함하며,
    상기 열들 또는 행들의 개수를 계산하는 과정은,
    상기 제1디바이스가 비트 시퀀스(bit sequence)를 설정된 클럭 사이클(clock cycle)들로 프로세싱하는 과정과,
    상기 제1디바이스가 상기 프로세싱된 비트 시퀀스의 설정된 위치에서 비트들을 검출하는 과정과,
    상기 제1디바이스가 상기 검출된 비트들에 상응하게 행렬의 열들 또는 행들의 개수를 식별하는 과정, 및
    상기 식별된 열들 또는 행들의 개수에 따라 상기 정보를 행렬로 인터리빙하는 과정을 포함하는, 근거리 무선 통신 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 데이터 입력 또는 출력 포맷을 결정하는 과정은,
    상기 제1디바이스가 상기 검출된 비트들에 상응하게 상기 데이터 입력 포맷 또는 상기 데이터 출력 포맷을 식별하는 과정을 포함하는, 근거리 무선 통신 방법.
  5. 제1항에 있어서, 상기 동적으로 인터리빙하는 과정은,
    랜덤 스킵 카운트(Random Skip Count)를 사용하여 인터리빙을 수행하는 과정을 포함하는
    근거리 무선 통신 방법.
  6. 제1항에 있어서,
    상기 인터리빙된 데이터 및 상기 인터리빙된 설정들은 단일 채널의 서로 다른 시구간들에서 송신되거나, 서로 다른 채널을 통하여 송신되는
    근거리 무선 통신 방법.
  7. 삭제
  8. 삭제
  9. 근거리 무선 통신(near field communication)을 수행하는 장치에 있어서,
    랜덤화(randomization)를 사용하여 송신될 정보를 동적으로 인터리빙(interleaving)하는 인터리빙 모듈과,
    동적으로 인터리빙된 데이터 및 동적으로 인터리빙된 설정들을 상대 장치로 송신하는 송신 모듈을 포함하며,
    상기 인터리빙 모듈은,
    행렬의 열들의 개수, 행들의 개수, 데이터 입력 포맷(filling format), 데이터 출력 포맷(releasing format), 데이터 입력 순서(filling order), 데이터 출력 순서(releasing order) 및 상기 행렬의 계층들의 개수 중 적어도 하나를 결정하고 상기 결정된 사항에 따라 상기 정보를 행렬로 인터리빙하고,
    비트 시퀀스(bit sequence)를 제1랜덤화기로 입력시키고, 상기 제1랜덤화기에서 설정된 클럭 사이클(clock cycle)들로 프로세싱된 비트 시퀀스의 설정된 위치에서 비트들을 검출하고, 상기 검출된 비트들에 상응하게 행렬의 열들 또는 행들의 개수를 식별하고, 상기 식별된 열들 또는 행들의 개수에 따라 상기 정보를 인터리빙하는 근거리 무선 통신 장치.
  10. 삭제
  11. 삭제
  12. 제9항에 있어서, 상기 인터리빙 모듈은,
    상기 비트 시퀀스를 제2랜덤화기로 입력시키고, 상기 제2랜덤화기에서 설정된 클럭 사이클들로 프로세싱된 비트 시퀀스의 설정된 위치에서 비트들을 검출하고, 상기 제2랜덤화기에 대해서 검출된 비트들에 상응하게 상기 데이터 입력 포맷 또는 상기 데이터 출력 포맷을 결정하는
    근거리 무선 통신 장치.
  13. 제9항에 있어서, 상기 인터리빙 모듈은,
    인터리빙을 수행함에 있어 랜덤 스킵 카운트(Random Skip Count)를 이용하는
    근거리 무선 통신 장치.
  14. 제9항에 있어서, 상기 송신 모듈은,
    상기 인터리빙된 데이터 및 상기 인터리빙된 설정들을 단일 채널의 서로 다른 시구간들에서 송신하거나, 서로 다른 채널을 통하여 송신하는
    근거리 무선 통신 장치.
  15. 삭제
  16. 삭제
KR1020130034794A 2012-03-29 2013-03-29 근거리 무선 통신 방법 및 장치 KR102076699B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN954/DEL/2012 2012-03-29
IN954DE2012 IN2012DE00954A (ko) 2012-03-29 2012-03-29

Publications (2)

Publication Number Publication Date
KR20130111461A KR20130111461A (ko) 2013-10-10
KR102076699B1 true KR102076699B1 (ko) 2020-02-12

Family

ID=49235647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130034794A KR102076699B1 (ko) 2012-03-29 2013-03-29 근거리 무선 통신 방법 및 장치

Country Status (3)

Country Link
US (1) US9160418B2 (ko)
KR (1) KR102076699B1 (ko)
IN (1) IN2012DE00954A (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6635046B2 (ja) * 2014-12-17 2020-01-22 ソニー株式会社 装置及び方法
KR101587221B1 (ko) * 2015-05-27 2016-01-20 주식회사 바루소프트 멀티 ic 스위칭 통신 장치 및 그 제어 방법
JP6664124B2 (ja) 2015-06-03 2020-03-13 パナソニックIpマネジメント株式会社 集約物理層プロトコルデータユニットの伝送装置および伝送方法
CN112165337B (zh) * 2020-09-30 2024-01-26 电子科技大学 基于线性约束的卷积码随机交织序列交织关系估计方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020044612A1 (en) * 2000-02-14 2002-04-18 Jussi Sipola Interleaving method and system
US20090257454A1 (en) * 2003-12-18 2009-10-15 Intel Corporation Ofdm transmitter with adaptive bit interleaver for adaptive bit loading and method for ofdm communications

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100350459B1 (ko) 1998-12-26 2002-12-26 삼성전자 주식회사 통신시스템의인터리빙/디인터리빙장치및방법
KR100362562B1 (ko) 1998-12-30 2003-02-05 삼성전자 주식회사 무선통신시스템에서의부호화장치
KR100526512B1 (ko) * 1999-05-20 2005-11-08 삼성전자주식회사 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
KR100377198B1 (ko) 1999-08-04 2003-03-28 주식회사 케이티 무선 통신 시스템에서의 의사랜덤 시퀀스 생성 방법
US7770010B2 (en) 2000-09-18 2010-08-03 Wideband Semiconductors Inc. Dynamically configurable interleaver scheme using at least one dynamically changeable interleaving parameter
US6871270B2 (en) 2001-12-03 2005-03-22 Samsung Electronics Co., Ltd. Device and method for minimizing puncturing-caused output delay
KR20030067934A (ko) 2002-02-09 2003-08-19 공형윤 무선 네트워크의 보안 시스템
US7995667B2 (en) 2004-02-13 2011-08-09 Broadcom Corporation Reduced latency concatenated reed solomon-convolutional coding for MIMO wireless LAN
KR100689504B1 (ko) 2005-03-29 2007-03-02 삼성전자주식회사 컨텐츠 전송 보호 장치
KR20060106223A (ko) 2005-04-06 2006-10-12 삼성전자주식회사 직교 주파수 분할 다중 시스템에서 비트 삽입 및 코드 변조방식의 송신 장치 및 방법
US20070223572A1 (en) 2006-03-24 2007-09-27 Samsung Electronics Co., Ltd. Method and system of pixel interleaving for improving video signal transmission quality in wireless communication
KR20090102840A (ko) * 2006-12-29 2009-09-30 프랑스 텔레콤 동적 시간 인터리빙 방법 및 관련 디바이스
US8051037B2 (en) 2008-01-25 2011-11-01 Samsung Electronics Co., Ltd. System and method for pseudorandom permutation for interleaving in wireless communications
EP2248066B1 (en) 2008-02-29 2013-07-31 Nokia Corporation Interrogation of rfid communication units
KR101508794B1 (ko) 2008-07-09 2015-04-06 삼성전자주식회사 Ndef 메시지에서 선택적으로 레코드들을 보안하기 위한 방법
US8099761B2 (en) 2008-08-14 2012-01-17 Microsoft Corporation Protocol for device to station association
US8346210B2 (en) 2009-02-27 2013-01-01 Nokia Corporation Method and apparatus for managing services using bearer tags
KR101554743B1 (ko) 2009-06-18 2015-09-22 삼성전자주식회사 기기간에 무선랜 자동 연결을 위한 방법 및 이를 위한 기기
KR101586089B1 (ko) 2009-08-14 2016-01-15 삼성전자주식회사 근거리 통신을 이용한 무선 네트워크 연결 시스템 및 방법 그리고 그 장치
US20110040757A1 (en) 2009-08-14 2011-02-17 Nokia Corporation Method and apparatus for enhancing objects with tag-based content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020044612A1 (en) * 2000-02-14 2002-04-18 Jussi Sipola Interleaving method and system
US20090257454A1 (en) * 2003-12-18 2009-10-15 Intel Corporation Ofdm transmitter with adaptive bit interleaver for adaptive bit loading and method for ofdm communications

Also Published As

Publication number Publication date
KR20130111461A (ko) 2013-10-10
IN2012DE00954A (ko) 2015-09-11
US20130260685A1 (en) 2013-10-03
US9160418B2 (en) 2015-10-13

Similar Documents

Publication Publication Date Title
JP6378365B2 (ja) ネットワークで秘密または鍵を生成する方法
JP6397987B2 (ja) 暗号学的チェックサムの生成
EP3127309B1 (en) Transmission of beacon message
CN108292994B (zh) 用于消息验证的方法及装置
KR102076699B1 (ko) 근거리 무선 통신 방법 및 장치
JP7232816B2 (ja) 資産を認証する認証システム及び認証方法
CN108323229B (zh) 用于基于位置的服务的安全ble广播系统
US10880079B2 (en) Private key generation method and system, and device
KR20110056507A (ko) 암호 시크릿 키 분배
CN108024243A (zh) 一种eSIM卡入网通信方法及其系统
CN110048994A (zh) 一种通信方法和装置
CN104303452A (zh) 用于产生密码保护的冗余的数据包的方法和设备
CN105099667A (zh) 用于在网络中生成密钥的方法以及为此设立的网络用户
US10608822B2 (en) Efficient calculation of message authentication codes for related data
CN110463146A (zh) 用于发射信号的发送器和用于接收信号的接收器
CN109617676A (zh) 一种密码同步方法、通信节点
WO2018093683A1 (en) Systems and methods for detection of wireless beacon cloning
US11212088B2 (en) Private key generation method and system, and device
JP2022174712A (ja) ブルートゥース周辺装置及びブルートゥース中央装置並びに検証方法
CN104702450A (zh) 合法性检测方法、装置及系统
WO2017059282A1 (en) System and method for privacy enabled discovery of wireless devices and their location
Priyanka et al. Enhancing security in Bluetooth networks
KR101070388B1 (ko) 수신신호강도를 이용한 무선 데이터 통신 방법 및 그 시스템
JP2018037898A (ja) 送信機、通信システム、送信方法及びプログラム
EP4149136A1 (en) Method for acquiring key and related apparatus

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