dca: 모듈 확인 실패: 서명 및/또는 필수 키가 누락되었습니다. 커널이 오염되었습니까?

dca: 모듈 확인 실패: 서명 및/또는 필수 키가 누락되었습니다. 커널이 오염되었습니까?

dca모듈을 삽입하면 rcS사용할 때 다음 오류가 표시됩니다 dmesg. 인터넷에서 bzImage와 의 버전이 일치하지 않아서 발생했다는 글을 읽었는데 dca.ko, 와 가 bzImage동시에 dca.ko컴파일이 insmod dca.ko되어서 터미널 창에서 수동으로 실행해 봤는데, dmesg오류가 없었습니다. 문제가 무엇입니까? 로딩시간이 잘못되어서 그런걸까요 rcS?

오류는 다음과 dmesg같습니다

[    5.889617] dca: module verification failed: signature and/or required key missing - tainting kernel
[    5.889946] dca service started, version 1.12.1

insmod존재하다 rcS:

insmod /lib/modules/6.4.0-rt8/dca.ko
insmod /lib/modules/6.4.0-rt8/i2c-algo-bit.ko
insmod /lib/modules/6.4.0-rt8/pps_core.ko
insmod /lib/modules/6.4.0-rt8/ptp.ko
insmod /lib/modules/6.4.0-rt8/igb.ko

답변1

다른 커널 모듈은징후- 다른 방법을 선택하지 않는 경우 커널 빌드 프로세스에서 자동으로 생성된 키를 사용할 수 있습니다.

귀하의 키 dca.ko는 서명되지 않았거나 적어도 동일한 키를 사용하지 않습니다.

보안 부팅을 사용하지 않으면 커널은 부팅을 위해 빌드된 키만 신뢰하지만 선택적으로 확인할 수 없는 커널 모듈을 허용하고 해당 모듈이 로드될 때 커널을 오염된 것으로 표시할 수 있습니다.

보안 부팅이 적용되면 shimx64.efi커널을 구축하는 데 사용되는 공리적으로 신뢰할 수 있는 키 외에도 보안 부팅 서명 키와 이에 의해 유지되는 MOK(머신 소유자 키)가 일반적으로 커널이 신뢰하는 키 목록에 추가됩니다. 커널~해야 한다또한 검증할 수 없는 커널 모듈을 로드하려는 시도를 거부하도록 구성할 수도 있습니다. 그렇지 않으면 완전히 Secure Boot와 호환되지 않습니다.

(자체 커널을 구축할 때 보안 부팅 준수를 얼마나 엄격하게 원하는지 정확하게 결정할 수 있습니다. 그러나 보안 부팅에서 실행할 수 있지만 검증할 수 없는 모듈을 허용하는 커널을 배포하는 경우 이 클래스 커널은 " 보안 부팅 블랙리스트에 등록된 우회 장치"이며 향후 보안 부팅 인식 시스템 펌웨어 릴리스에서 거부됩니다.)

자세한 내용은 다음을 참조하세요.문서/관리자 안내서/module-signing.rst커널 소스 패키지에 있습니다.

오염 메시지를 제거하려면 커널 소스 트리의 도구와 빌드 시간 옵션에 지정된 개인 키(또는 설정되지 않은 경우 커널 소스 트리에서 기본 자동 생성 키 )를 dca.ko사용하여 모듈에 서명할 수 있습니다. 커널 모듈 서명에 사용되는 해싱 알고리즘은 빌드 타임 옵션으로 지정됩니다.scripts/sign-fileCONFIG_MODULE_SIG_KEYcerts/signing_key.pemCONFIG_MODULE_SIG_HASH

관련 정보