이 프로토콜에서 사용자는 인증을 받아야 합니다. 암호, 개인 RSA 키가 포함된 파일, Ledger Nano S 및 Ledger Nano X와 같은 하드웨어 장치 등을 사용하여 이를 수행할 수 있습니다.
일부 인증 수단은 다른 인증 수단보다 더 안전합니다. 개인 키를 추출하지 않고 저장하도록 설계된 하드웨어 장치를 사용하는 것이 개인 키를 파일에 저장하는 것보다 더 안전합니다. 불행하게도 가장 안전한 것들은 사용하기 더 고통스럽습니다. 장치에 키가 있는 사용자는 장치를 휴대해야 하고 SSH 세션을 시작할 때마다 PIN 코드를 입력해야 합니다. 액세스 보안이 우선 순위가 아닙니다.
따라서 질문은 다음과 같습니다. 사용자 경험을 변경하지 않고 파일(일부 맬웨어에 의해 도난당할 수 있음)보다 인증 자료를 더 안전하게 저장할 수 있습니까?
대답은 다음과 같습니다. 예, TPM을 사용합니다!
일부 역사
꽤 오랫동안 컴퓨터는 보안 칩을 직접 내장할 수 있었습니다. TPM(신뢰할 수 있는 플랫폼 모듈)이라고 하는 이 칩은 공개 키 암호화에 사용되는 개인 키를 보호하는 기능을 포함하여 많은 기능을 제공합니다.
컴퓨터에 내장되어 있기 때문에 사용하기 위해 컴퓨터에 장치를 연결할 필요가 없습니다. 따라서 이것은 컴퓨터와 다른 위치에 저장할 수 있는 하드웨어 장치보다 덜 안전한 것으로 간주됩니다(이는 장치가 컴퓨터에 연결되어 있지 않은 동안 어떤 맬웨어도 장치에 저장된 비밀을 사용할 수 없다는 원칙을 시행할 수 있게 합니다).
따라서 TPM은 "최고의 보안"은 아니지만 여전히 다음과 같은 파일을 사용하는 것보다 훨씬 안전합니다. $HOME/.ssh/id_rsa
개인 키를 저장합니다.
Linux에서 OpenSSH와 함께 TPM을 어떻게 사용할 수 있습니까? 라는 프로젝트로 tpm2-pkcs11
, 다음을 포함하여 수년 동안 많은 웹사이트에서 사용할 수 있는 지침을 따릅니다. 코드 저장소의 공식 문서.
지금, 어떤 소식이 있나요? 이 소프트웨어는 이제 우분투와 데비안으로 패키징되어 마침내 대부분의 Linux 사용자가 사용할 수 있게 되었습니다!
더 정확하게는 다음과 같은 타임라인이 있습니다.
- 2014년에 TPM 2.0의 주요 사양이 발표되었습니다. 소프트웨어에서 TPM과 상호 작용하기 위해 표준화 노력이 있었고 두 개의 호환되지 않는 소프트웨어 스택이 생성되었습니다. TPM 소프트웨어 스택 (TSS) 및 IBM의 것 TPM 소프트웨어 스택.
- 2018년에는 프로젝트
tpm2-pkcs11
TCG의 TSS를 사용하여 TPM 11에 PKCS#2.0 인터페이스를 제공하기 위해 만들어졌습니다. PKCS # 11 라는 API(Application Programming Interface)를 정의하는 표준입니다. 크립토키 암호화 키를 저장하는 토큰을 사용합니다. OpenSSH는 PKCS#11 인터페이스를 사용하여 사용자 인증을 수행하도록 지원하므로 TPM을 사용하여 SSH 인증에 사용되는 키를 저장할 수 있습니다. - 2월 2019에서,
tpm2-pkcs11
추가되었습니다 페도라 29. - 2019년 8월에 CentOS XNUMX이 이 패키지와 함께 출시되었습니다.
- 4 월 2020에서,
tpm2-pkcs11
추가되었습니다 데비안 sid. 불행히도 그것은 프로그램을 포함하지 않았습니다tpm2_ptool
키를 쉽게 생성하는 데 필요합니다. 이 문제는 다음에서 보고되었습니다. 데비안 버그 #968310. - 2021년 XNUMX월 데비안의 패키지는 고정 (그리고 관리자는 내 도움을 인정했습니다!).
- 2021년 21.04월 우분투 XNUMX 다모 히포 와 함께 출시되었습니다 고정 패키지.
- 2021년 11월 데비안 XNUMX 땡기 와 함께 출시되었습니다 고정 패키지
현재 tpm2-pkcs11
Debian, Ubuntu 및 에 나열된 기타 여러 Linux 배포판에서 사용할 수 있습니다. 반성.
tpm2-pkcs11 사용
Debian 11에서 TPM에 의해 안전하게 저장된 새 SSH 키를 생성하고 사용하는 단계는 다음과 같습니다.
- 설치 명령
tpm2_ptool
그리고 도서관libtpm2_pkcs11.so.1
, 다음 두 패키지에서 제공됩니다.
2. 시스템이 TPM 2.0을 사용할 수 있는지 확인합니다. 다음 검사 중 하나가 실패하면 시스템에 TPM이 없거나, TPM 1.2가 있거나, BIOS 설정에서 비활성화된 TPM 2.0이 있음을 의미할 수 있습니다.
3. TPM 장치에 액세스할 수 있는 그룹에 현재 사용자를 추가합니다. /dev/tpmrm0
. 데비안과 우분투에서 사용자는 이름이 지정된 그룹에 속해야 합니다. tss
(제공된 구성 덕분에 tpm-udev
꾸러미). 다음 명령은 현재 사용자를 이 그룹에 추가합니다.
암호로 보호되는 사용자 저장소를 초기화하고 소핀 "NIST P-256"("secp256r1"이라고도 함)이라는 곡선에 타원 곡선 키와 같은 키를 만듭니다.
4. 약어 소핀 방법 보안 담당자 개인 식별 번호 PKCS#11 사양의 개념입니다. 간단한 사용 사례에서는 예를 들어 암호를 분실했을 때 암호를 수정할 수 있는 "복구 암호"로 볼 수 있습니다.
5. 이 새 키의 공개 키를 표시합니다.
6. 예를 들어 서버에 새 공개 키를 작성하여 구성합니다. $HOME/.ssh/authorized_keys
또는 GitHub의 계정 설정이나 SSH 공개 키가 사용되는 다른 위치에 있습니다.
7. 사용할 SSH 클라이언트 구성 tpm2-pkcs11
예를 들어 다음과 같이 작성하여 서버에 연결합니다. $HOME/.ssh/config
(고객 입장에서):
서버에 연결합니다(주의 이전 단계는 건너뛸 수 있습니다.
미래의 일
이전 섹션에서는 TPM에서 새 키를 만드는 방법을 설명했습니다. 이렇게 하면 TPM을 사용하여 SSH 인증을 보호할 수 있지만 개인 키를 저장하기 위해 파일을 사용하는 것의 실질적인 대안이 되도록 하려면 두 가지 기능이 필요합니다.
- 기능 #1: 새 SSH 키를 생성하는 대신 기존 SSH 키를 TPM으로 가져오기(TPM 저장소로 원활하게 전환하고 컴퓨터가 고장나거나 분실한 경우 등을 대비하여 키를 백업할 수 있음).
- 기능 #2: 보호되지 않은 개인 키 파일과 같이 암호 없이 SSH 키 사용(이 기능은 보호된 키를 TPM에서 추출할 수 없으므로 키 파일보다 더 안전합니다).
두 기능을 모두 구현했습니다. tpm2-pkcs11
풀 리퀘스트에 제출했습니다. #681 과 #695. 기능 #1은 XNUMX월의 주간 온라인 통화 중에도 발표되었습니다. tpm.dev 커뮤니티 에서 녹음이 가능합니다. https://developers.tpm.dev/posts/14389750.
따라서 두 기능 모두 향후 릴리스에서 사용할 수 있게 될 것입니다. tpm2-pkcs11
.
그건 그렇고, 내부를 이해하고 싶은 호기심 많은 독자를 위해 tpm2-pkcs11
, 나는 SSTIC 2021 컨퍼런스에서 그들에 대한 기사를 게시했습니다. TPM 2.0으로 SSH 인증 보호(영어 기사, 프랑스어 프레젠테이션). 또한 실제 TPM을 건드리지 않고 시도하려는 독자는 이 기사의 "TPM 2.0 에뮬레이션" 섹션에 관심을 가질 수 있습니다.
(삽화: Rainer Knäpper, 자유 예술 라이선스)
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoAiStream. Web3 데이터 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 미래 만들기 w Adryenn Ashley. 여기에서 액세스하십시오.
- PREIPO®로 PRE-IPO 회사의 주식을 사고 팔 수 있습니다. 여기에서 액세스하십시오.
- 출처: https://www.ledger.com/blog/ssh-with-tpm
- :있다
- :이다
- :아니
- :어디
- $UP
- 1
- 11
- 13
- 14
- 15%
- 2014
- 2018
- 2019
- 2020
- 2021
- 30
- 8
- 80
- a
- 능력
- 할 수 있는
- 소개
- ACCESS
- 계정
- 인정
- 더하다
- 추가
- 추가
- 변호사
- 또한
- 대안
- an
- 과
- 답변
- 어떤
- API를
- 어플리케이션
- XNUMX월
- 있군요
- 미술
- 기사
- AS
- At
- 8월
- 인증 된
- 인증
- 가능
- 역행
- BE
- 가
- 된
- 두
- 부서진
- 곤충
- 비자 면제 프로그램에 해당하는 국가의 시민권을 가지고 있지만
- by
- 전화
- CAN
- 나르다
- 케이스
- 가지 경우
- CGI
- 변화
- 검사
- 확인하는 것이 좋다.
- 칩
- 클라이언트
- 암호
- 컴퓨터
- 컴퓨터
- 컴퓨팅
- 개념
- 컨퍼런스
- 구성
- 연결하기
- 연결
- 고려
- 수
- 만들
- 만든
- 만들기
- cryptographic
- 암호 법
- 이상한
- Current
- 곡선
- 정의
- 설계
- 데브
- 장치
- 디바이스
- DID
- 다른
- 어려운
- 직접
- 사용
- 디스플레이
- 배포
- do
- 선적 서류 비치
- 하지
- ...동안
- 용이하게
- 노력
- 타원
- 포함
- 임베디드
- 사용 가능
- 수
- 시행
- 영어
- 등
- EVER
- 모든
- 예
- 현존하는
- 경험
- 추출물
- 실패
- 특색
- 특징
- XNUMX월
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 파일
- 최종적으로
- 고정
- 수행원
- 럭셔리
- 무료
- 프랑스어
- 에
- 미래
- 생성
- GitHub의
- 그룹
- 하드웨어
- 하드웨어 장치
- 하드웨어 장치
- 있다
- 여기에서 지금 확인해 보세요.
- 방법
- How To
- HTML
- HTTP
- HTTPS
- i
- IBM
- 식별
- if
- 구현
- 가져 오기
- in
- 포함
- 양립 할 수없는
- 시작
- 를 받아야 하는 미국 여행자
- 명령
- 상호 작용하는
- 관심있는
- 인터페이스
- 으로
- 발행물
- IT
- 그
- 일월
- 2021년 XNUMX월
- JPG
- 키
- 키
- 알려진
- 원장
- 레저 원장
- 레저 나노 S
- 원장 나노 X
- 적게
- 처럼
- 아마도
- 리눅스
- 상장 된
- 위치
- 잃어버린
- 본관
- 확인
- 제작
- 유튜브 영상을 만드는 것은
- 악성 코드
- .
- 자료
- 최대 폭
- XNUMX월..
- 평균
- 방법
- 모듈
- 배우기
- 또한
- 가장
- 많은
- my
- 이름
- 나노
- 필요한
- 필요
- 필요
- 신제품
- news
- 아니
- 지금
- of
- 장교
- on
- ONE
- 사람
- 온라인
- or
- 주문
- 기타
- 기타
- 꾸러미
- 포장하는
- 패키지
- 아픈
- 비밀번호
- 암호
- 수행
- 확인
- 장소
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 플러그
- 가능한
- 정밀하게
- 프레젠테이션
- 제시
- 너무 이른
- 원칙
- 우선
- 사설
- 개인 키
- 개인 키
- 프로그램 작성
- 프로젝트
- 보호
- 보호
- 보호
- 프로토콜
- 제공
- 제공
- 제공
- 공개
- 공개 키
- 공개 키
- 출판
- 문제
- 독자들
- 현실
- 방송
- 공개
- 출시
- 보고
- 필수
- RSA
- s
- 섹션
- 안전해야합니다.
- 안전하게
- 보안
- 본
- XNUMX월
- 세션
- 설정
- 몇몇의
- 측면
- 단순, 간단, 편리
- So
- 소프트웨어
- 일부
- 명세서
- 명세서
- 스택
- 표준
- 단계
- 단계
- 아직도
- 훔친
- 저장
- 저장
- 저장
- 제출
- 이러한
- 지원
- 체계
- 보다
- 감사
- 그
- XNUMXD덴탈의
- 주간
- 그들의
- 그들
- 그곳에.
- 따라서
- 그들
- 일
- 이
- 시간
- 타임 라인
- 에
- 토큰
- 만지고있는
- 전이
- 신뢰할 수있는
- 시도
- 두
- 유형
- Ubuntu
- 이해
- 운수 나쁘게
- 사용
- 익숙한
- 사용자
- 사용자 경험
- 사용자
- 사용
- 필요
- 였다
- 방법..
- 방법
- 웹 사이트
- 주간
- 했다
- 언제
- 어느
- 동안
- 누구
- 과
- 없이
- 쓰기
- X
- 년
- 예
- 제퍼 넷