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 23 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 22 décembre 2011, le Tmc a prolongé la détention provisoire de A._ jusqu'au 22 mars 2012. L'intéressé a recouru contre cette décision auprès de la Chambre pénale du Tribunal cantonal du canton du Valais (ci-après: le Tribunal cantonal), qui a rejeté ce recours par ordonnance du 18 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 et à sa mise en liberté immédiate, subsidiairement au renvoi du dossier à l'instance précédente pour nouvelle décision. Il invoque 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 n'a pas présenté d'observations complémentaires dans le délai imparti à cet effet.