Faits: A. A._ a été arrêté le 20 septembre 2011 dans le cadre d'une instruction pénale conduite par le Ministère public du canton du Valais (ci-après: le Ministère public) et portant sur un trafic de stupéfiants. Il lui est en substance reproché d'avoir participé à un trafic de cocaïne et de cannabis impliquant notamment trois comparses arrêtés le même jour. Par ordonnance du 22 septembre 2011, le Tribunal des mesures de contrainte du canton du Valais (ci-après: le Tmc) a ordonné la détention provisoire du prénommé, en raison d'un risque de collusion. Cette autorité a rejeté une requête de mise en liberté par ordonnance du 7 novembre 2011. Par ordonnance du 23 décembre 2011, le Tmc a prolongé la détention provisoire de A._ jusqu'au 23 mars 2012. L'intéressé a recouru contre cette décision auprès de la Chambre des recours pénale du Tribunal cantonal du canton du Valais (ci-après: le Tribunal cantonal), qui a rejeté ce recours par ordonnance du 24 janvier 2012. Constatant qu'il existait des charges suffisantes à l'encontre de A._, cette autorité a considéré que le maintien en détention provisoire était justifié par un risque de collusion. B. A._ recourt contre cette ordonnance auprès du Tribunal fédéral, en concluant à l'annulation de la décision attaquée, au renvoi du dossier à l'instance précédente pour nouvelle décision et à sa mise en liberté immédiate. Il invoque implicitement une violation des dispositions du code de procédure pénale suisse (CPP; RS 312.0) relatives à la détention avant jugement. Il requiert en outre l'octroi de l'assistance judiciaire. Le Ministère public du canton du Valais conclut à la confirmation de la détention du recourant. Le Tribunal cantonal a renoncé à se déterminer. Le recourant a présenté des observations complémentaires. 