내가 이해한 바에 따르면 신용 카드 칩이나 스마트 카드는 카드에 있는 마이크로컴퓨터에 요청을 전송한 다음 요청을 완료하고 데이터로 응답하는 방식으로 작동합니다. 이를 이용하여 데이터를 직접 암호화/복호화할 수 있나요? 전통적으로는 카드를 사용하여 키를 저장한 다음 컴퓨터로 전송했지만 모든 복호화/암호화 작업을 카드 내부의 마이크로컴퓨터에서 수행하여 호스트가 암호화 키를 볼 수 없게 하는 것이 흥미로울 것이라고 생각했습니다. 전체. 문제는 카드 자체가 데이터를 암호화한 후 신용카드 회사의 서버에서 확인만 할 수 있기 때문에 데이터 자체를 해독할 수 있는 방법이 없다는 것입니다.
카드에 암호화 및 암호 해독 요청을 보내고 응답을 받을 수 있다면 카드를 사용하여 폴더나 드라이브를 암호화하는 프로그램을 작성하는 것은 간단해야 합니다(매우 느릴 것이라고 생각하지만).
Tldr(또는 설명): Linux의 스마트 카드 리더에서 신용 카드나 스마트 카드에 직접 질문을 보내고 결과를 얻을 수 있습니까?
답변1
공개키 암호화에 대해 잘 알고 계시나요? 기본적으로 약간의 영리한 수학을 사용하면한 쌍열쇠는 하나가 아닙니다. 키 쌍 중 하나를 사용하여 데이터를 암호화할 수 있습니다.다른쌍의 키가 이를 해독합니다.
신용 카드와 기타 많은 스마트 카드는 공개 키 암호화를 기반으로 합니다. 기본적으로 신용 카드를 사용하여 카드에 내장된 키를 사용하여 일부 데이터를 암호화하는 경우 직접 해독할 수 없습니다. 오직 은행이나 신용 카드 회사에서만 해독할 수 있는 해당 키를 갖고 있으며, 오직 은행/신용 카드만 가지고 있습니다. 그런 다음에만 카드에 있는 키를 사용하여 암호를 해독할 수 있는 콘텐츠를 보내는 데 필요한 키를 갖게 됩니다. 이로 인해 신용카드 등을 사용하여 개인적으로 암호화하기가 어렵습니다.
하지만 초기화되지 않은 카드를 구매하고 키로 초기화하는 것을 막을 수 있는 방법은 없습니다.너제어. 그러나 스마트 카드를 구입하기 전에 해당 기능과 계획을 완료하는 방법에 대해 자세히 알아보십시오. 이에 대한 도움이 필요한 경우 달성하려는 목표에 대해 더 자세한 설명을 제공해야 합니다.
예를 들어:
- 암호화된 드라이브는 부팅 가능해야 합니까?
- 임의의 데이터로 덮어써서 지워진 드라이브와 구별할 수 없어야 합니까, 아니면 암호화된 데이터를 포함하는 것이 허용/요구됩니까?
- 카드의 목적이 일종의 "죽은 사람의 손잡이" 역할을 하는 것입니까? 즉, "데이터에 빠르게 액세스할 수 없도록 카드를 제거"하는 것입니까?