공개키 암호기술이 사용자를 인증해준다 하더라도 사용자의 개인키는 사진이 없는 여권과 마찬가지다. 소유주의 PC 하드디스크 드라이브에 있는 개인키는 직접 또는 네트워크를 통해 도용될 가능성이 있다. 어느 정도 숙달된 침입자는 사용자 개인키를 가로채 소유주로 가장하고 이를 사용할 수 있다. 개인키를 패스워드로 보호할 수도 있으나 패스워드도 침입 공격에 약하기 때문에 더 안전한 저장 장치가 필요하다.
안전 저장 장치에는 스마트 카드와 스마트 토큰이 있다. 신용카드와 같은 크기의 스마트 카드는 고정고객 우대카드, 현금 차감 카드, 학생 신분증, GSM 전화 등 광범위한 분야에 응용된다. 그 중에서 GSM 전화와 금융 서비스 분야에 가장 많이 적용되고 있다.
스마트 카드를 읽고 사용할 수 있는 PC 연결 단말기나 인터페이스 장치는 시리얼 포트, PC 카드, PS2 키보드 포트, 디스켓, USB, PC 내장 장치 등이다. 이밖에 스마트 카드 같은 수준의 저장 및 처리 능력을 가진 반도체 내장 ‘스마트 토큰’이 몇 가지 있다. 이들 ‘토큰’은 일부 틈새시장을 차지하고 있지만 ISO 7816 표준에 부합하는 스마트 카드와 같이 널리 사용되지는 않고 있다.
USB 포트가 점차 새로운 PC의 표준 기능이 돼감에 따라 일부 업체는 USB키를 채용하기 시작했다. 하지만 여기에는 어느 정도의 제약이 따른다. 일부 PC업체는 키보드에 USB 포트 기능을 제공하고 있지만 이들 포트는 언제나 연결 가능하지도 않고 하루에 몇 번씩 키를 꽂았다 뽑았다 하면 고장날 가능성도 있다. 또 USB포트는 제품이 스마트 카드만큼 다양하지 않다.
스마트 카드와 USB 키를 포함한 스마트 토큰은 PKI 서비스를 더욱 강화시켜준다. 즉 스마트 카드는 사용자의 개인키를 안전하게 저장하는 데 사용할 수 있고 때로는 암호화를 안전하게 처리할 수도 있다. 비록 스마트 토큰이 절대적인 보안을 보장하지는 않지만 데스크톱PC보다는 훨씬 강력한 보안 기능을 수행할 수 있다. 개인키를 저장, 사용하는 데는 몇 가지 방법이 있으며 공급업체에 따라 접근 방식이 다르다. 가장 단순하게 사용하는 방법은 디스켓처럼 사용하는 것이다. 이 경우 스마트 카드는 필요할 때 개인키를 워크스테이션으로 보내서 암호 처리하게 한다. 하지만 이 방법은 완전한 보안을 기대하기 어렵다.
다른 두 방법은 암호처리가 스마트 토큰에서 이루어지기 때문에 보안성이 더 우수하다. 먼저 사용자는 워크스테이션에서 키를 만든 다음 그 중 개인키를 토큰에 저장한다. 그 다음에는 사용자가 키를 토큰에서 만든다. 이 방식에서 일단 개인키가 저장되면 토큰에서 이를 검색할 수 없도록 해야 하며 그렇지 않으면 노출될 위험성이 있다.
많은 공급업체들은 스마트 토큰에 대해 이중 인증을 실시한다. 대개 토큰은 개인식별숫자(PIN:Personal Identification Number)를 결합해 사용하는데 이때 사용자는 카드가 암호처리를 하기 전에 PIN을 제공해야 한다. 일부 제품은 또 단독 또는 PIN과 결합한 다음 거기에 생체측정 기술을 적용해 삼중 인증을 제공한다.