Secure Channel 안전한 데이터 송수신을 위한 암호화 프로토콜로써 암호화 기술로 일종의 파이프를 만들어 데이터를 안전하게 주고받을 있음을 보장한다.

1. 단계

Secure Channel 크게 3가지 단계로 이루어진다.

먼저 cryptogram 서로 주고받아 어떤 암호화 방법을 할것인지 어느정도(security level) 보안을 할것인지를 선택하고 서로 authentication 하는 과정

그리고 실제 secure channel protocol 맺어 데이터를 안전하게 주고받는 과정

마지막으로 secure channel close하는 과정 이다.

 

1) cryptogram교환 authentication

secure channel에서 가장 먼저 일어나는 단계로 기본적으로 과정에서 어떠한 방법의 scp 진행할지 어느수준까지 보호를 진행할지를 결정한다.

먼저 가장 크게 대칭키기반의 scp03(AES), 비대칭키 기반의 scp11(ECC) 존재한다.

먼저 대칭키 방법은 사전에 key off-card entity 알고있어 eSE내부에 저장된 대칭키중 어떤 대칭키를 사용할지를

결정하여 대칭키로 secure channel 맺어 데이터를 주고 받는다.

 

scp11 경우에는 비대칭키 기반으로 동작하며 경우에는 scp03 다르게 실제 Secure Domain중에서도 여러 application 연결되어 secure channel서비스를 사용할 있는데 applicatoin provider Secure Domain구분이 가능하다. (대칭키로는 구분이 불가능함, 부분 정확히 이해하지 못했음…. 대충 대칭키는 누가사용하는지 모르지만 비대칭키는 global platform registry id 등록해서 구분할 있다 이런거 같음...)

 

다음으로는 security level 결정하는 부분인데

SCP 기능들을 지원하며 security Level 1 byte 표를고려해서 set함으로써 security Level off-card에서 eSE 전달한다.

여기서 C_MAC, C_ENCRYPT C-DATA 대한 보안이고, R-MAC, R_ENCRYPT Response Data 대한 보안이다.

 

마지막으로 authentication 진행함으로써 scp 통신을 진행하기위한 모든 1단계과정이 마무리되는데

authentication과정은 매우 단순하다. off-card, eSE모두 challenge값을 만들고 사용하기로한 key 암호화를 해서 전달하고 서로 verify하는 과정을 거침으로써 authntication 동작이 마무리 된다.

 

'SE > GP' 카테고리의 다른 글

[GlobalPlatform] SCP-11  (0) 2023.03.04
[GlobalPlatform] Card management  (0) 2023.02.11
[GlobalPlatform] Card spec - Secure Domain  (1) 2023.02.05
[GlobalPlatform] Card Spec - (1)  (0) 2023.01.15

+ Recent posts