Ⅰ. 서론
RFID (Radio Frequency Identification)는 사물과 사람을 자동적으로 식별할 수 있는 유비쿼터스 컴퓨팅 환경의 핵심기술로 현재 이를 상용화하기 위한 연구와 노력들이 지속되고 있다. RFID 시스템의 확산을 위해서는 이를 위한 기반시설 구축과 관련 기술들의 개발 뿐만 아니라 해당 시스템 구축 시 발생 가능한 사생활 침해와 보안 문제를 해결해야 할 필요가 있다. 학계에서는 이를 위한 보안 기술들이 제안되고 있는데, 이 중에서 휴먼 인증 방식은 사람과 RFID 태그의 계산/연산 능력이 비슷한 것에 착안하여, HCI 분야에서 사용되던 인증 기술을 RFID 시스템에 적용한 것이다. HB 프로토콜⑹은 휴먼 인증을 위해 Hopper과 Blum이 제안한 프로토콜로 암호 프리미티브는 사용하지 않지만, NP-hard급의 LPN (Learning Parity with Noise) 문제에 기반하여 안전성을 제공한다.
2005년 Juels et al.은 RFID 태그의 연산 능력이 사람과 마찬가지로 제한되어 있음을 밝혀내고, 이를 RFID 시스템에 적용시켰다⑺. 뿐만 아니라 능동공격 (active attack)에 취약함을 밝혀내고 이를 개선한 HB+ 프로토콜을 제안하였다. 하지만, 2006년 Katz와 Shin[9), 그리고 Gilbert et al.(4)은 HB 프로토콜과 HB+ 프로토콜의 공격에 성공하였다. 2007년 Bringer et al.은 중간자 공격에 취약한 HB+ 프로토콜의 안전성을 강화하기 위해 순열 함수 (permutation fucntion) /와 로테이션(rotation) 을 사용하는 HB++ 프로토콜을 제안하였다(2). Piramuthu는 HB+ 프로토콜로 부터 발생되는 z 값 노출의 문제가 Bringer et aL의 HB+ + 프로토콜에도 영향을 미침을 밝혀낸 뒤, 이를 개선한 경량 HB++ 프로토콜을 제안하였다'(3). 2007년 Due과 Kime 새로운 확률 변수 7 추가하여 HB+ 프로토콜을 개선한 H* B 프로토콜을 제안하였으며 (3), Mu- nilla와 Peinado는 HB 프로토콜과 HB+ 프로토콜의 중간자 공격을 방어하기 위해 개선된 HB+ 프로토콜인 HB-MP 프로토콜을 제안하였다((2). 하지만, 여전히 H* B과 HB-MP 프로토콜은 중간자 공격이 가능하며, 심지어 HB-MP 프로토콜은 수동 공격 (passive attack) 에 취약하다“折. 2008년 Gilbert et al.은 단일 라운드에서 실행되지만, 저전력 태그에서 두 개의 큰 랜덤이진 행렬 혹은 Toeplitz 행렬을 요구하는 HB# 프로토콜을 제안하였으며⑸. Leng et al.은 HB-MP 프로토콜의 취약성을 보완하기 위해. 비밀 키의 로테이션을 랜덤하게 하는 HB-MP+ 프로토콜을 제안하였다(1)). 2009년 Yoon et aLe HB-MP + 프로토콜은 복잡한 능동 공격을 방어하기 위한 로테이션을 위한 실제 함수와 트래킹 (tracking) 문제를 방지하기 위한 강력한 방법을 가지지 않았음을 지적하고 이를 개선한 HB-MP++ 프로토콜을 제안하였다'的.
본 논문에서는 기존 HB 프로토콜들과 이들의 취약점에 대해 간략히 설명하고, Bringer et al.의 HB + + 프로토콜에 대한 Piramuthu의 공격에 문제가 있음을 밝혀낸 뒤 . 안전한 프로토콜을 위한 태그의 상태 전이 및 해밍 무게 (Hamming weight) 설정을 제안한다.
본 논문은 다음과 같이 구성된다. 먼저 II장에서는 HB 프로토콜과 그 변형 프로토콜에 대해 간략히 설명하고 이들의 취약점에 대해 설명하고, Ⅲ장에서는 Piramuthu의 HB+ + 프로토콜에 대한 공격과 HB+ + 수정 프로토콜에 대해 설명한다. Ⅳ.장에서는 Piramuthu의 공격에 대한 문제점을 지적하고 안전한 프로토콜을 위한 제안을 하고 V에서는 이 논문의결론을 맺는다.
Ⅱ. HB 프로토콜 및 그 변형
2.1 HB 프로토콜
Hopper와 Blum에 의해 제안된 HB 프로토콜은 사람과 컴퓨터 간의 비밀 값인 m를 통해 인증을 시도하는 프로토콜이다⑹. 먼저 컴퓨터는 사람에게 난수 a 를 전송하면 사람은 자신의 비밀 값 z와 전송 받은 a 값에 bitwise AND 연산을 한 뒤 해당 결과의 패리티를 다시 컴퓨터에게 전송해 준다. 이 때. 사람은 〃만큼의 확률로 잘못된 패리티 값을 컴퓨터에게 전송해주게 되는더L 컴퓨터는 n 라운드만큼의 프로토콜을 수행했을 때 해당 세션의 패리티 값이 성공 확률이 1-n보다 크다면 적법한 사람임을 인증하게 된다. HB 프로토콜은 주어진 확률 〃안에서 비정규적으로 인증 실패를 발생시키는데, 이를 LPN (Learning Parity Noise) 문제라고 부른다. NP-Hard급으로 분류되는 LPN 문제는 정규적인 방법으로 공격되지 않기 때문에 수동 공격에 안전하다.
Juels와 Weis는 HB 프로토콜이 재사용 공격 (replay attack)과 같은 능동 공격에 취약함을 밝혀내었다⑺. HB 프로토콜에서 패리티 비트인 결과 값 z 는 고정된 비밀 값 J를 제외하면, 리더의 난수인 a에 의해 결정되기 때문에 재사용 공격에 취약할 수밖에 없다. 즉. 정당한 리더로 가장 공격자는 언제든지 태그의 비밀 값 /를 얻어낼 수 있는 결과가 생긴다.
2.2 HB+ 프로토콜
Juels와 Weis는 HB 프로토콜의 취약성을 개선하기 위해. 태그가 리더에게 보내는 은닉 요소(blinding factor) b를 프로토콜 상에 추가한 HB+ 프로토콜을 제안하였다⑺. HB +의 결과 값 z는 리더의 난수 a뿐만 아니라, 태그의 난수 b에도 의존하기 때문에. 재사용 공격을 통해서는 비밀 값을 얻어낼 수 없다.
Gilbert et aLe HB+ 프로토콜이 중간자 공격에 취약함을 밝혀내었다(4). 공격자는 리더가 보내는 난수 a를 막은 뒤 한 비트에 영향을 미치는 4와 XOR 하여 변조된 값 a'를 태그에게 전송한다. 정상적인 값 a를 수신했을 연산과 z = (a - a:)®(6 . g)(珈를 비교해봤을 때, 변조된 값을 통한 연산은 0 . 工)가 추가된다. 위의 가정에서 공격자는 태그에 대한 리더의 인증 성공/실패를 알 수 있기 때문에. 0 侦)의 값을 알아낼 수 있다. 해당 세션의 공격을 »비트만큼 수행하면 비밀 값 r를 쉽게 알아낼 수 있다. 공격자는 알아낸 비밀 값, 를 통해 태그를 복제할 수 있는데 , 은닉 요소 & 를 항상 0으로만 보냄으로써 비밀 값, 를 무력화 시킨다. 또 다른 방법으로 태그가 리더에게 보내는 은닉요소 向] 대해서도 중간자 공격을 수행함으로써 비밀 값 y를 알아낸 뒤, 비밀 값 y 쌍을 모두 갖는 완벽한 태그를 복제할 수 있다.
2.3 HB++ 프로토콜
Bringer et al.는 HB+ 프로토콜에 대한 중간자 공격을 막기 위해 두 개의 추가된 비밀 값 £, ?/과 순열 함수 /를 사용하는 HB++ 프로토콜을 제안하였다 (2). 먼저 은닉 요소 b를 전송한 태그는 리더가 보내는 도전(challenge) a에 대해 z = (a - ®)ffi(& . 乡)《据와 z'=f(a) . . ^饥‘을 결과 값으로 전송한다. 해당 프로토콜에서 생성되는 노이즈(noise)인 "와 J 은 동일한 확률로 발생하지만 발생하는 순서는 동일하지 않으므로 Z와 2’의 성공/실패 여부는 동일하지 않다. HB++ 프로토콜의한 세션은 z와 z'이 각각 平, 磐' 보다 작은 확률로 실패 할 때 인증에 성공한다.
Bringer et al.의 HB + + 프로토콜은 /의 사용에도 불구하고, Wagner의 중간자 공격을 통해 비밀 값이 노출됨이 확인되었다. Bringer et al.은 이를 해결하기 위한 방법으로 로테이션을 사용하였다. 즉. 암호화된 값을 비트의 로테이션을 통해 정규적인 암호 값을 추측할 수 없도록 만들어, 최종 HB++ 프로토콜을 제안하였다. 최종 HB++ 프로토콜은 인증을 위한 선행 키 교환 프로토콜과 실제 인증을 위한 프로토콜로 나뉜다. HB++ 프로토콜에서 각 태그■들은키를 비밀 값 齐矿를 미리 갖지 않는 대신, 키를 도출해 낼 비밀 값 z를 갖는다. 인증을 위한 키 교환프로토콜은 각 세션의 인증이 시작될 때마다 이루어지는 과정으로 태그-리더 사이에 난수 를 주고 받은 뒤 이 값들에 대해 해쉬 함수 /r를 사용하여 실제 인증에서 사용할 비밀 값 成을 매번 다르게 생성한다. 또한 첫 번째 HB++에 대한 Wagner의 중간자 공격에 강인한 프로토콜을 만들기 위해 기존 순열 함수 f의 출력 값을 각 라惟드에 따라 로테이션 시켜서 (a, S, g) 집합을 추측하기 힘들도록 만들었다. 따라서 이를 통한 비밀 값 工와 工’의 추측 공격이 불가능하도록 개선하였다.
Ⅲ. Priamuthu의 HB + + 수정 프로토콜
3.1 Piramuthu의 공격
Piramuthu는 Juels과 Weis의 HB+ 프로토콜이 중간자 공격과는 다른 방식의 공격에 취약함을 주장하였으며 U3), 해당 공격은 다음과 같다.
. 빠른 질의 공격 : 해당 공격 에서 공격자는' 태그가 새로운 은닉 요소 切를 생성하기 이전에, 새로운 도전 a를 빠르게 , 지속적으로 전송함으로써 은닉 요소 0의 난수성을 제거한다. 이를 통해 공격지는 HB + 프로토콜에 대한 능동 공격 이 가능해진다.
土PN 문제를 풀어내는 공격: 해당 공격에서 공격자는 도전 a = 0인 값을 보냄으로써 , 태그의 응답(response) 2값이 항상 (6 - ye} 되도록 조절한다. 태그가 보내는 은닉 요소 b를 미리 알고 있는 공격자는 지속적인 질의를 통해 (b, z)쌍을 추출하여 값을 알아낸다.
Piramuthu는 또한 두 개의 비밀 값 虬矿가 추가된 Bringer et aL의 HB++ 프로토콜에 대해서도 공격이 가능함을 주장하였다'피. HB++ 프로토콜에 대한 Piramuthu의 공격은 다음과 같다.
. z값 노출: HB+로부터 기인하는 문제로써 Gilbert et al.의 중간자 공격 또는 위에서 제기한 두 가지 방법(빠른 질의 공격 및 LPN 문제를 풀어내는 공격)을 통해 HB++의 비밀 값 x, y 가 노출 될 수 있다. 비밀 값 工用를 알게 된 공격자는 해당 태그에 대해 불법적인 추적을 할 수 있다.
. 빠른 질의 공격: 해당 공격에서 공격자는 빠른 질의를 통해 은닉 요소 &의 난수성을 제거하고 로테이션 수행에 영향을 미치는 p값의 증가를 막음으로써 ("p)값이 변하지 않도록 유지한다.
. 동일한 0p)상에서 a 변조 공격 : 빠른 질의 공격을 통해(5, p) 값이 변하지 않게 된다면, 공격자는 다음과 같은 단계를 통해 비밀 값 $', ?/을 추출할 수 있다.
1. a = 0을 전송하여 rot(f(b), p) - y 주줄
2. a=l을 전송하여 1. . g'주줄
3. 추출한 rot(/(6), p) . 와 1 - x'- 寸를 XOR하여 /값 추출
4. a = b를 전송하여 rot(/(b), p) . 주줄
5. 추출한 rot(/(&), p) - rot{f(b), p) . y' /을통해 ?/ 추출
3.2 Piramuthu의 HB + + 프로토콜
Piramuthu는 위에서 밝힌 문제인 z값 노출을 희피하고 안전성을 보장하기 위해 Bringer et aL의 HB++ 프로토콜에서 z 연산을 뺀 프로토콜을 제안하였다. S. Piramuthu의 개선된 HB+ + 프로토콜은[그림 1〕과 같다邸.
(그림 1) Piramuthu의 HB++ 프로토콜의한 라운드
Ⅳ. Piramuthu 공격의 문제점과 개선 방법
4.1 Piramuthu 공격의 문제점
4.1.1 빠른 질의 공격
Piramuthu는 HB + +에 대한 공격을 하기 위해 송신이 빠른 불법적인 리더를 사용한다고 가정하였다. 즉, 공격자는 태그가 새로운 은닉 요소 3를 생성하기 이전에 빠르게 도전 a를 전송함으로써 은닉 요소 fr의 난수성을 제거 하고 로테이션 수행 에 영향을 미치는 p의 증* 가를 막을 수 있다. 결과적으로 공격자는 동일한 (be)쌍에 대한 질의를 통해 추가 된 비밀 값 "'과 ?/의 값을 추출해 낸다. 해당 공격은 □림 2〕와같이 이루어진다. 하지만. Juels는 이는 태그의 동작을 무시한 비정상적인 가정이라고 언급하였다⑻.
Gen 2 태그는 다수 리더의 질의에 따른 race condition 방지를 위해 4개의 session을 갖추고 있 匸+. 뿐만 아니라, 특정 command가 동작 할 수 있는 상태를 정해 놓음으로써 비정상적인 command에 대한 응답을 하지 않도록 할 수 있다. 따라서 빠른 송신에 따른 은닉 요소 b의 난수성 제거와 0의 증가 방지가정에는 문제가 있다.
4.1.2 동일한 (b,p)상에서 a 변조 공격
Piramuthu는 은닉 요소 &와 p값이 변하지 않는상태에서。값을 단순히 변조하여 비밀 값 £, g'을알아낼 수 있다고 주장하였지만. 이는 계산적으로 불가능-하다. “ = 0, a=l을 통해 rot(f(b'), p) - y '^\ 1 - X 9rot(f(b), p) - ?/eT 알아낼 수 있지만 공격자가 알 수 있는 값은 1비트의 패리티 비트이기 때문에 위 식을 통해서는 /의 값을 알아낼 수 없다. 이와 동일하게 a = b인 도전을 전송하여 알아낸 rot(/(b), p) - (矿勒')와이미 추출한 rot (.fib), p) - y. /을 통해서 j; 의 값을 추출하는 것도 계산적으로 불가능 흐卜다.
(그림 2) 빠른 질의 공격에서 가정한 상태 전이도
4.1.3 LPN 문제를 풀어내는 공격
Blum et al.은 BKW 알고리즘을 사용하여 HB 프로토콜의 안전성인 LPN 문제에 대한 공격을 시도하였다。. BKW 알고리즘은 도청을 통해 알아낸 상당한 크기의 도전-응답 집합 (<如言)중에서 XOR을 통해 丿번째 비트만 1로 채워진 기저벡터 e, 를 생성해 내는 a, 들을 찾이鶴으로써 비밀 값 :"를 알아낸다. BKW 알고리즘의 간략한 식은 다음과 같다.
#
위 식을 통해 공격자는 비밀 값 况의 J비트 값을 확률적으로 알아 낼 수 있다. 해당 알고리즘은 1GB의 메모리를 사용하여 39 비트의 키를 알아낼 수 있다. Levieil et al.은 BKW 알고리즘을 개선한 LF1 알고리즘과 LF2 알고리즘을 제안하였다(1)). LF2 알고리즘은 1/4인 값과 10000번의 쿼리를 통해 99비트의 키 값을 갖는 LPN 문제를 3GHz의 CPU상에서 1GB의 메모리만 사용하여 30초 만에 해결해 내는 성능을 보였다. BKW와 LF2 알고리즘을 사용했을 때 LPN 문제는 다음〔표 1〕과 같은 안전성을 갖는다 0.5]
(표 1) LPN 문제의 안전성
순열 함수 /'와 로테이션을 사용히는 HB + + 프로토콜은 암호학적인 안전성을 위해서 100비트 이상의 비밀 키를 쓴다고 가정할 수 있다. 이러한 경우 BKW 및 LF2 알고리즘을 사용하여 LPN 문제를 풀어내려는 시도를 한다고 해도 실제적으로 불가능 하다. Piramuthu는 키의 길이가 커지게 된다면 해당 공격의 수행이 불가능함을 인정하였다“七 Juels는 HB류의 프로토콜에서 사용할 비밀 키의 길이를 결정하는 문제를 미결 문제로 남겨두었다⑻.
4.2 안전한 프로토콜을 위한 제안
4.2.1 단계별 상태 전이 설정
4.1 절에서 Piramuthu의 빠른 질의 공격에서 사용한 가정의 문제가 있음을 밝혔다. 인증을 시도하는 태그가 리더의 모든 질의에 대해 무조건 응답하는 것은 문제가 있기 때문에, HB류의 프로토콜을 위한 태그의 상태 전이도를 명확히 할 필요가 있다. 현재 물류 태그의 표준 제정된 Gen 2는 Ready, Arbitrate, Reply, Acknowledged. Open, Secured, Killed 의 7개 상태가 있다'™. 태그는 리더의 명령(CMD: command)이 적법한 상태에 있을 때에만 응답을 함으로써, 태그의 정보를 보호한다. 본 논문은 Gen 2 태그의 상태 전이를 기초로 하여 HB+ 프로토콜을 위한 상태 전이를[그림 3〕과 같이 제안한다.
(그림 3] HB+ 프로토콜을 위한 태그의 상태 전이도
HB+ 프로토콜에서 태그가 은닉 요소 3를 생성하여 응답하기 위해서는 리더의 도전 start가 필요하다. [Ready] 상태인 태그가 리더의 도전 start를 수신하면 은닉 요소 b를 전송한 뒤 [Reply] 상태로 전이된다. [Reply] 상태로 전이된 태그는 리더의 도전 a를 기다리게 되는데, 이때 다른 리더로부터 도전 start 가 전송되면 .해당 리더를 위한 새로운 세션의 [Ready] 상태에서 부터 통신을 시작하고, 같은 리더로부터 도전 start가 전송되면 에러 메시지를 전송한 뒤 〔Ready〕상태로 복귀한다. 리더의 도전 a가 [Reply] 상태인 태그에게 정상적으로 전달되면, 태그는 x = (a . s)©(b - y)f£>v 연산을 한 뒤 [Open] 상태로 전이된다’ 이때 태그는 Send-z라는 명령을 전달함으로써, 태그가 [Open] 상태로 전이된 이후 곧바로 응답 z를 전송할 수 있게 한다, [Open] 상태로 전이된 태그가 응답 z를 전송하기 전에 불법적인 리더의 다른 명령이 전송된다면 에러 메시지를 전송한 뒤 [Ready] 상태로 복귀한다. [Open] 상태로 전이된 태그는 응답 2를 전송한 뒤〔Ready〕상태로 전이한다. 해당 상태 전이는 리더의 질의에 대한 무조건적인 응답을 제한함으로써 Piramuthu의 빠른 질의 공격을 막을 수 있다.
4.2.2 도전 a의 해밍 무게 설정
Piramuthu는 동일한 (山) 상에서 도전 “를 과 1로 전송함으로써 비밀 값 /을 알아낼 수 있다고 주장하였다. 비록 1비트를 응답하는 HB+ + 프로토콜에서는 성취되지 읺는 공격이지만, 비밀 값을 빼내기 위해 전송 된 특수한 값에 대한 응답은 공격의 기능성을 열어주는 것이 될 수 있다. HB 프로토콜의 경우해밍 무게 (hamming weight)가 1인 도전 a를 통한 능동 공격이 가능하기 때문에 해밍 무게 설정은 효과적인 공격 방지 기법이 될 수 있다.
#
본 논문은 HB류의 프로토콜에서 사용할 은닉 요소 및 도전의 해밍 무게를 위와 같은 범위로 사용할 것을 제안한다. 길이가 A비트인 비밀 값 중 1로 채워진 비트가 1/4보다 작거나 3/4보다 크다면 해당 신호에 대한 응답을 하지 않게 함으로써 특수한 값을 통한 공격에 대해 안전성을 갖게 한다.
4.3 성능 및 안전성 분석
〔표 2〕는 HB 프로토콜과 그 변형 프로토콜들의 통신, 연산 횟수, 도청, 재사용 공격, 중간자 공격에 대한 안전성에 대한 비교 분석을 보여준다. 표에서 丑은 LPN 문제를 위한 라운드 수를 나타내며 , HB + + 개선은 Phamuthu의 HB++ 프로토콜과 제안한 기법을 포함한 경우를 나타낸다. 실제로 안전한 프로토콜의 제안은 통신 횟수, 연산 횟수에 영향을 미치지않으므로 Piramu나iu의 HB + + 프로토콜과 동일한 성능을 가진다.
(표 2) HB 프로토콜들의 비교표
Ⅴ. 결론
유비쿼터스 컴퓨팅 환경을 구축하기 위한 센서 및 RFID 태그는 계산능력과 메모리의 한계로 인해 전통적으로 사용하는 암호 프리미티브 사용에 제약이 있다. HB+ 프로토콜은 암호화 프리미티브가 아닌 LPN 문제 발생을 통하여 안전성을 얻기 때문에 자원의 제약이 심한 RFID 태그에서 사용하기에 적합한 프로토콜이다. 하지만 HB+ 프로토콜에 대한 중간자 공격이 발견됨에 따라 이를 수정한 HB + +와 H* B 프로토콜이 제안되었다.
본 논문은 Bringer et aL의 HB++에 대한 PiTamuthu의 공격이 실행 불가능함을 밝혔다. 뿐만 아니라 빠른 질의를 통호! 공격을 막을 수 있는 태그의 상태 전이와 해밍 무게 조절에 대해 제안하였다.
* 이 논문은 2008년도 세종대학교 교내연구비 지원에 의한 논문임.
References
- A. Blum, A. Kalai and H. Wasserman, "Noise-tolerant Learning, the Parity Problem, and the Statistical Query Problem," Journal of the ACM 50, pp. 506-519, July, 2003. https://doi.org/10.1145/792538.792543
- J. Bringer, H. Chabanne and E. Dottax, "HB++: a Lightweight Authentication Protocol Secure Against Some Attacks," In Proceedings of IEEE International Conference on Pervasive Services, SecPerU, 2006.
- D. N. Duc and K. Kim, "Securing HB+ against GRS 중간자 공격," Proceedings of SCIS 2007, January, 2007.
- H. Gilbert, M. Robshaw and H. Sibert, "An Active Attack Against HB+ - A Provably Secure Lightweight Protocol," Cryptology ePrint Archive, Report 2005/237, 2005. http://eprint.iacr.org.
- H. Gilbert, M. Robshaw and Y. Seurin, "HB#: Increasing the security and efficiency of HB+." In Proceedings of EUROCRYPT 2008, Springer-Verlag, LNCS 4965, pp. 361-378, 2008.
- N. J. Hopper and M. Blum, "Secure Human Identification Protocols," In Proceedings of ASIACRYPT 2001, C. Boyd (Ed.), Springer-Verlag, LNCS 2248, pp. 52-66, 2001.
- A. Juels and S. A. Weis, "Authenticating Pervasive Devices with Human Protocols," In Proceedings of CRYPTO'05, Victor Shoup (Ed.), Springer-Verlag, LNCS 3261, pp. 293-308, 2005.
- A. Juels, Private communication, May, 2007.
- J. Katz and J. S. Shin, "Parallel and concurrent security of HB and HB+ protocols," Cryptolgy ePrint archive, Report 2005/461, 2005, http://eprint.iacr.org.
- X. Leng, K. Mayes and K. Markantonakis, "HB-MP+ Protocol: An Improvement on the HB-MP Protocol," In Proc. IEEE International Conference on RFID, 2008.
- E. Levieil, P. A. Fouque, "An Improved LPN Algorithm," 5th International Conference, Security Cryptography for Networks 2006, Springer-Verlag, LNCS, vol. 4116, pp. 348-359, 2006.
- J. Munilla and A. Peinado, "HB-MP: A Further Step in the HB-Family of Light-weight Authentication Protocols," Computer Network, 51(9), pp. 2262-2267, 2007. https://doi.org/10.1016/j.comnet.2007.01.011
- S. Piramuthu, "HB and Related Lightweight Authentication Protocols for Secure RFID Tag/Reader Authentication," Proceedings of CollECTeR Europe Conference, June, 2006.
- Piramuthu, Private communication, June, 2007.
- S. A. Weis, "New Foundations for Efficient Authentication, Commutative Cryptography, and Private Disjointness Testing," MIT Computer Science Ph.D. Thesis, 2006.
- B. Yoon, M. Y. Sung, S. Yeon, H. S. Oh, Y. Kwon, C. Kim and K.-H. Kim, "HB-MP++ Protocol: An Ultra Light- weight Authentication Protocol for RFID System," In IEEE International Conference on RFID, pp. 186-191, 2009.
- EPCglobal, "EPCTM Radio-Frequency Identity Protocols Class-1 Generation-2 UHF RFID Protocol for Communications at 860 MHz - 960 MHz," version 1.0.9, January, 2005.