O ponto principal de uma chave privada é que ela é privada para o usuário e conhecida apenas pelo usuário. Como usuário, não quero que outras pessoas gerem minha chave privada porque isso significa que outra pessoa tem acesso à minha chave privada e, portanto, tem a oportunidade de agir se elas forem eu em sistemas que tenham metade da chave pública definida como credenciais válidas.
Do seu PoV você também tem mais responsabilidade. Você não precisa apenas manter seu sistema seguro, de modo que chaves públicas inadequadas não possam ser instaladas em locais, mas você tem a responsabilidade de manter as chaves privadas geradas em segurança durante todo o seu ciclo de vida. Se houver uma ação indesejável tomada com um determinado par de chaves como autenticação e o usuário souber que outra pessoa tem (ou teve) uma cópia da chave ou a chave foi transportada de maneira menos segura que eles podem se virar (corretamente ou erroneamente) e dizer que eles mantiveram sua cópia perfeitamente segura, por isso deve ser sua cópia que foi comprometida no seu final ou em trânsito. Isso pode soar como cobertura de bunda, e isso é porque é: tanto do seu PoV quanto dos usuários, pois você está se certificando de quem é responsável pelo que está marcado corretamente.
Assim, se as preocupações levantadas pelo seu especialista são válidas ou não (pelo meu entendimento, esses ataques são teoricamente possíveis, mas, até onde eu sei, podem ser implementados na próxima geração, ou a menos que um novo buraco sério na matemática ou implementação geral é encontrada (o que é pouco provável)), tanto ao usar meu chapéu como ao usar meu chapéu de administrador eu prefiro que os usuários tenham total controle de suas chaves privadas e administradores (junto com todos os outros no planeta, é claro) para não ser permitido em qualquer lugar perto deles.
Mesmo se você não concordar com o acima, o principal problema de transporte está longe de ser trivial: como você pode ter 100% de certeza de que a chave privada foi vista pelo usuário pretendido e somente o usuário pretendido e não foi armazenado (intencionalmente ou acidentalmente) de maneira menos segura (como deixada em uma caixa de entrada de e-mail ou em um arquivo temporário que resultou do desmembramento da mesma e descriptografada). Se você usa um método de transporte seguro que requer que o usuário autentique, como você obtém os detalhes de autenticação para esse sistema para o usuário com segurança? É claro que existem maneiras de tornar o principal assunto de transporte "seguro o suficiente" (onde "bastante" depende muito do que as chaves dão acesso) para a maioria dos usos, mas se o usuário gerar suas chaves e distribuir as partes públicas, não tem um problema de distribuição de chaves para se preocupar nesse sentido (você só precisa se preocupar com os usuários que mantêm as partes privadas seguras, mas não há nada que possa impedir um usuário realmente descuidado de não ser seguro, então é um problema não importa o que você faça).
Uma nota final: uma coisa que poderia ser um problema se suas chaves privadas fossem todas geradas no mesmo lugar é se esse lugar tiver uma configuração de geração de chave ruim, como o problema encontrado no OpenSSL do Debian / Lenny. pacote no ano passado. Nesse caso, você teria um trabalho de revogação e regeneração de muitas chaves privadas. Isso pode ser parte da preocupação de seu especialista externo sobre o assunto.