The privileged treatment for patients suffering from end-stage renal disease is transplantation. In Kidney Exchange Programs (KEPs), each participating patient is registered together with an incompatible donor. Then, KEPs maximize overall patient benefit through donor exchanges. Compatibility requirements can severely restrict these programs, with certain patients waiting long to be selected for an exchange. Thus, the policy governing the selection of exchanges requires a careful balance between fairness in terms of individual access to transplantation and utilitarian criteria (e.g., total number of transplants). In this work, we review several fairness schemes, interpret them in the context of KEPs and describe their weaknesses. To overcome those drawbacks, we propose a novel scheme based on the Nash Social Welfare Program that simultaneously optimizes the fairness and the utilitarian objectives. Because the application of fairness schemes and a utilitarian objective implies solving conic programs of exponential size, we design a decomposition methodology to efficiently run them on KEP instances. Finally, we make an extensive comparison of the different schemes and validate the scalability of our methodology for benchmark instances from the literature.