Existem algumas alternativas, mas antes de tudo, se um usuário consegue acessar uma informação que ele não deveria ter acesso você tem um problema de segurança na sua aplicação!
Fora isso, você poderia modelar para trabalhar as requests utilizando um UUID como identificador ao invés de um ID numérico sequencial, isso só no âmbito externo da aplicação!
Poderia utilizar um POST e passar os parâmetros no body da request ao invés de passar como query params, porém isso não invalida a questão de que ainda é possível outro usuário disparar uma request com outros valores e continuar acessando informações que não deveria!
Por último mas nada recomendável, seria você aplicar um base64 no ID e tratar o decode no backend da aplicação, mas, como já dito antes, o problema ainda permanece, isso não seria solução, somente uma ofuscação dos dados.